novo-elements 11.0.4 → 11.1.0-next.2
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/elements/button/styles/button-primary.scss +0 -1
- package/elements/calendar/month-view/month-view.component.scss +0 -1
- package/elements/chips/Chips.scss +0 -3
- package/elements/common/option/optgroup.component.scss +0 -2
- package/elements/data-table/data-table.component.d.ts +12 -2
- package/elements/data-table/data-table.component.scss +4 -14
- package/elements/data-table/data-table.module.d.ts +13 -12
- package/elements/data-table/interfaces.d.ts +1 -0
- package/elements/date-picker/DateRangeInput.scss +0 -1
- package/elements/drag-drop/drag-drop-box.d.ts +23 -3
- package/elements/field/field.scss +0 -1
- package/elements/form/extras/file/FileInput.scss +1 -1
- package/elements/layout/content/layout-content.component.d.ts +1 -2
- package/elements/non-ideal-state/NonIdealState.scss +0 -1
- package/elements/picker/extras/picker-results/PickerResults.scss +0 -3
- package/elements/switch/Switch.scss +0 -1
- package/elements/time-picker/TimePicker.scss +0 -2
- package/fesm2022/novo-elements-elements-agenda.mjs +0 -85
- package/fesm2022/novo-elements-elements-agenda.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-aside.mjs +0 -1
- package/fesm2022/novo-elements-elements-aside.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-autocomplete.mjs +0 -8
- package/fesm2022/novo-elements-elements-autocomplete.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-avatar.mjs +0 -2
- package/fesm2022/novo-elements-elements-avatar.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-checkbox.mjs +0 -1
- package/fesm2022/novo-elements-elements-checkbox.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-color-picker.mjs +0 -4
- package/fesm2022/novo-elements-elements-color-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-common.mjs +1 -23
- package/fesm2022/novo-elements-elements-common.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-data-table.mjs +70 -540
- package/fesm2022/novo-elements-elements-data-table.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-date-picker.mjs +1 -13
- package/fesm2022/novo-elements-elements-date-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-drag-drop.mjs +147 -27
- package/fesm2022/novo-elements-elements-drag-drop.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-dropdown.mjs +1 -10
- package/fesm2022/novo-elements-elements-dropdown.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-expansion.mjs +1 -5
- package/fesm2022/novo-elements-elements-expansion.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-field.mjs +1 -15
- package/fesm2022/novo-elements-elements-field.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-flex.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-form.mjs +2 -15
- package/fesm2022/novo-elements-elements-form.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-layout.mjs +1 -5
- package/fesm2022/novo-elements-elements-layout.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-menu.mjs +2 -35
- package/fesm2022/novo-elements-elements-menu.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-picker.mjs +1 -4
- package/fesm2022/novo-elements-elements-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-progress.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-radio.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-select-search.mjs +0 -14
- package/fesm2022/novo-elements-elements-select-search.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-select.mjs +0 -13
- package/fesm2022/novo-elements-elements-select.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-simple-table.mjs +0 -10
- package/fesm2022/novo-elements-elements-simple-table.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-time-picker.mjs +0 -38
- package/fesm2022/novo-elements-elements-time-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-value.mjs.map +1 -1
- package/fesm2022/novo-elements-services.mjs +0 -13
- package/fesm2022/novo-elements-services.mjs.map +1 -1
- package/fesm2022/novo-elements-utils.mjs +9 -13
- package/fesm2022/novo-elements-utils.mjs.map +1 -1
- package/package.json +1 -1
- package/services/data-provider/ArrayCollection.d.ts +0 -10
- package/services/data-provider/Collection.d.ts +0 -9
- package/styles/content/forms.scss +0 -40
- package/styles/content/links.scss +0 -1
- package/styles/content/misc.scss +0 -1
- package/utils/Helpers.d.ts +6 -2
- package/elements/field/toggle/picker-toggle.component.scss +0 -23
|
@@ -30,11 +30,13 @@ import * as i14 from 'novo-elements/elements/field';
|
|
|
30
30
|
import { NovoFieldModule } from 'novo-elements/elements/field';
|
|
31
31
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
32
32
|
import { startWith, switchMap, map, catchError } from 'rxjs/operators';
|
|
33
|
+
import * as i9$1 from 'novo-elements/elements/drag-drop';
|
|
34
|
+
import { NovoDragDropModule } from 'novo-elements/elements/drag-drop';
|
|
33
35
|
import * as i6$1 from 'novo-elements/elements/loading';
|
|
34
36
|
import { NovoLoadingModule } from 'novo-elements/elements/loading';
|
|
35
|
-
import * as
|
|
37
|
+
import * as i11$1 from 'novo-elements/elements/search';
|
|
36
38
|
import { NovoSearchBoxModule } from 'novo-elements/elements/search';
|
|
37
|
-
import * as
|
|
39
|
+
import * as i14$1 from '@angular/cdk/scrolling';
|
|
38
40
|
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
39
41
|
import * as i7$1 from 'novo-elements/elements/tiles';
|
|
40
42
|
import { NovoTilesModule } from 'novo-elements/elements/tiles';
|
|
@@ -835,7 +837,7 @@ class NovoDataTableCellHeader {
|
|
|
835
837
|
if (this.multiSelect) {
|
|
836
838
|
this.error = false;
|
|
837
839
|
if (this.dropdown.panelOpen && event.key === "Escape" /* Key.Escape */) {
|
|
838
|
-
// escape
|
|
840
|
+
// escape should clear text box and close
|
|
839
841
|
Helpers.swallowEvent(event);
|
|
840
842
|
this.clearOptionFilter();
|
|
841
843
|
this.dropdown.closePanel();
|
|
@@ -1568,13 +1570,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
1568
1570
|
type: Input
|
|
1569
1571
|
}] } });
|
|
1570
1572
|
|
|
1571
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
1573
|
+
var __decorate$1 = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
1572
1574
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1573
1575
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1574
1576
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1575
1577
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1576
1578
|
};
|
|
1577
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
1579
|
+
var __metadata$1 = (this && this.__metadata) || function (k, v) {
|
|
1578
1580
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
1579
1581
|
};
|
|
1580
1582
|
class NovoDataTableClearButton {
|
|
@@ -1652,9 +1654,9 @@ class NovoDataTableClearButton {
|
|
|
1652
1654
|
</novo-dropdown>
|
|
1653
1655
|
`, isInline: true, dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.NovoButtonElement, selector: "novo-button,button[theme]", inputs: ["color", "side", "size", "theme", "loading", "icon", "secondIcon", "disabled"] }, { kind: "component", type: i5$1.NovoDropdownElement, selector: "novo-dropdown", inputs: ["parentScrollSelector", "parentScrollAction", "containerClass", "side", "scrollStrategy", "keepOpen", "height", "width", "appendToBody", "multiple", "scrollToActiveItemOnOpen"], outputs: ["toggled"] }, { kind: "component", type: i5$1.NovoItemElement, selector: "item", inputs: ["disabled", "keepOpen"], outputs: ["action"] }, { kind: "component", type: i5$1.NovoDropdownListElement, selector: "list" }, { kind: "directive", type: i11.ThemeColorDirective, selector: "[theme]", inputs: ["theme"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1654
1656
|
}
|
|
1655
|
-
__decorate([
|
|
1657
|
+
__decorate$1([
|
|
1656
1658
|
BooleanInput(),
|
|
1657
|
-
__metadata("design:type", Boolean)
|
|
1659
|
+
__metadata$1("design:type", Boolean)
|
|
1658
1660
|
], NovoDataTableClearButton.prototype, "emitOnly", void 0);
|
|
1659
1661
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: NovoDataTableClearButton, decorators: [{
|
|
1660
1662
|
type: Component,
|
|
@@ -2468,26 +2470,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
2468
2470
|
}]
|
|
2469
2471
|
}], ctorParameters: () => [{ type: i1$1.NovoLabelService }] });
|
|
2470
2472
|
|
|
2473
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2474
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2475
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2476
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
2477
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2478
|
+
};
|
|
2479
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
2480
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
2481
|
+
};
|
|
2471
2482
|
class NovoDataTable {
|
|
2472
2483
|
set displayedColumns(displayedColumns) {
|
|
2473
|
-
|
|
2474
|
-
if (this.name !== 'novo-data-table') {
|
|
2475
|
-
this.preferencesChanged.emit({
|
|
2476
|
-
name: this.name,
|
|
2477
|
-
displayedColumns,
|
|
2478
|
-
});
|
|
2479
|
-
}
|
|
2480
|
-
else {
|
|
2481
|
-
notify('Must have [name] set on data-table to use preferences!');
|
|
2482
|
-
}
|
|
2483
|
-
}
|
|
2484
|
-
this._disabledColumns = displayedColumns;
|
|
2485
|
-
this.configureLastDisplayedColumn();
|
|
2486
|
-
if (this.initialized) {
|
|
2487
|
-
setTimeout(() => {
|
|
2488
|
-
this.scrollListener();
|
|
2489
|
-
});
|
|
2490
|
-
}
|
|
2484
|
+
this.updateDisplayedColumns(displayedColumns, 'input');
|
|
2491
2485
|
}
|
|
2492
2486
|
get displayedColumns() {
|
|
2493
2487
|
return this._disabledColumns;
|
|
@@ -2593,6 +2587,7 @@ class NovoDataTable {
|
|
|
2593
2587
|
this.maxSelected = undefined;
|
|
2594
2588
|
this.canSelectAll = false;
|
|
2595
2589
|
this.allMatchingSelected = false;
|
|
2590
|
+
this.enableColumnDragging = false;
|
|
2596
2591
|
this._hideGlobalSearch = true;
|
|
2597
2592
|
this.preferencesChanged = new EventEmitter();
|
|
2598
2593
|
this.allSelected = new EventEmitter();
|
|
@@ -2604,6 +2599,12 @@ class NovoDataTable {
|
|
|
2604
2599
|
this.scrollLeft = 0;
|
|
2605
2600
|
this.expandable = false;
|
|
2606
2601
|
this.initialized = false;
|
|
2602
|
+
this.columnDragFilter = (columnName) => {
|
|
2603
|
+
if (['selection', 'expand'].includes(columnName)) {
|
|
2604
|
+
return false;
|
|
2605
|
+
}
|
|
2606
|
+
return this.dragEnabledByColumn.get(columnName) ?? false;
|
|
2607
|
+
};
|
|
2607
2608
|
this.scrollListenerHandler = this.scrollListener.bind(this);
|
|
2608
2609
|
this.sortFilterSubscription = this.state.sortFilterSource.subscribe((event) => {
|
|
2609
2610
|
if (this.name !== 'novo-data-table') {
|
|
@@ -2615,6 +2616,7 @@ class NovoDataTable {
|
|
|
2615
2616
|
where: event.where,
|
|
2616
2617
|
savedSearchName: event.savedSearchName,
|
|
2617
2618
|
appliedSearchType: event.appliedSearchType,
|
|
2619
|
+
eventSrc: 'statesortchange'
|
|
2618
2620
|
});
|
|
2619
2621
|
this.performInteractions('change');
|
|
2620
2622
|
}
|
|
@@ -2625,7 +2627,7 @@ class NovoDataTable {
|
|
|
2625
2627
|
this.paginationSubscription = this.state.paginationSource.subscribe((event) => {
|
|
2626
2628
|
if (this.name !== 'novo-data-table') {
|
|
2627
2629
|
if (event.isPageSizeChange) {
|
|
2628
|
-
this.preferencesChanged.emit({ name: this.name, pageSize: event.pageSize });
|
|
2630
|
+
this.preferencesChanged.emit({ name: this.name, pageSize: event.pageSize, eventSrc: 'pagination' });
|
|
2629
2631
|
}
|
|
2630
2632
|
}
|
|
2631
2633
|
else {
|
|
@@ -2806,6 +2808,9 @@ class NovoDataTable {
|
|
|
2806
2808
|
}
|
|
2807
2809
|
return true;
|
|
2808
2810
|
}
|
|
2811
|
+
columnDragged(event) {
|
|
2812
|
+
this.updateDisplayedColumns(event.allItems, 'columndrag');
|
|
2813
|
+
}
|
|
2809
2814
|
configureLastDisplayedColumn() {
|
|
2810
2815
|
if (this.columns && this.displayedColumns && 0 !== this.columns.length && 0 !== this.displayedColumns.length) {
|
|
2811
2816
|
this.columns.forEach((column) => {
|
|
@@ -2836,6 +2841,9 @@ class NovoDataTable {
|
|
|
2836
2841
|
configureColumns() {
|
|
2837
2842
|
if (this.columns && this.columns.length !== 0 && Object.keys(this.templates).length !== 0) {
|
|
2838
2843
|
// Figure the column templates
|
|
2844
|
+
if (this.enableColumnDragging) {
|
|
2845
|
+
this.dragEnabledByColumn = new Map();
|
|
2846
|
+
}
|
|
2839
2847
|
this.columns.forEach((column) => {
|
|
2840
2848
|
// Figure the template
|
|
2841
2849
|
let templateName;
|
|
@@ -2870,11 +2878,36 @@ class NovoDataTable {
|
|
|
2870
2878
|
}
|
|
2871
2879
|
}
|
|
2872
2880
|
this.columnToTemplate[column.id] = this.templates[templateName];
|
|
2881
|
+
if (this.enableColumnDragging) {
|
|
2882
|
+
const draggable = column.draggable != null ? column.draggable : true;
|
|
2883
|
+
this.dragEnabledByColumn.set(column.id, draggable);
|
|
2884
|
+
}
|
|
2873
2885
|
});
|
|
2874
2886
|
this.configureLastDisplayedColumn();
|
|
2875
2887
|
this.columnsLoaded = true;
|
|
2876
2888
|
}
|
|
2877
2889
|
}
|
|
2890
|
+
updateDisplayedColumns(displayedColumns, updateSrc) {
|
|
2891
|
+
if (this.displayedColumns && this.displayedColumns.length !== 0) {
|
|
2892
|
+
if (this.name !== 'novo-data-table') {
|
|
2893
|
+
this.preferencesChanged.emit({
|
|
2894
|
+
name: this.name,
|
|
2895
|
+
displayedColumns,
|
|
2896
|
+
eventSrc: updateSrc,
|
|
2897
|
+
});
|
|
2898
|
+
}
|
|
2899
|
+
else {
|
|
2900
|
+
notify('Must have [name] set on data-table to use preferences!');
|
|
2901
|
+
}
|
|
2902
|
+
}
|
|
2903
|
+
this._disabledColumns = displayedColumns;
|
|
2904
|
+
this.configureLastDisplayedColumn();
|
|
2905
|
+
if (this.initialized) {
|
|
2906
|
+
setTimeout(() => {
|
|
2907
|
+
this.scrollListener();
|
|
2908
|
+
});
|
|
2909
|
+
}
|
|
2910
|
+
}
|
|
2878
2911
|
scrollListener() {
|
|
2879
2912
|
const target = this.novoDataTableContainer.nativeElement;
|
|
2880
2913
|
const left = target.scrollLeft;
|
|
@@ -2895,263 +2928,7 @@ class NovoDataTable {
|
|
|
2895
2928
|
}
|
|
2896
2929
|
}
|
|
2897
2930
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: NovoDataTable, deps: [{ token: i1$1.NovoLabelService }, { token: i0.ChangeDetectorRef }, { token: DataTableState }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2898
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: NovoDataTable, isStandalone: false, selector: "novo-data-table", inputs: { displayedColumns: "displayedColumns", paginationOptions: "paginationOptions", searchOptions: "searchOptions", selectionOptions: "selectionOptions", defaultSort: "defaultSort", name: "name", allowMultipleFilters: "allowMultipleFilters", rowIdentifier: "rowIdentifier", activeRowIdentifier: "activeRowIdentifier", trackByFn: "trackByFn", templates: "templates", fixedHeader: "fixedHeader", paginatorDataFeatureId: "paginatorDataFeatureId", maxSelected: "maxSelected", canSelectAll: "canSelectAll", allMatchingSelected: "allMatchingSelected", overrideTotal: "overrideTotal", paginationRefreshSubject: "paginationRefreshSubject", dataTableService: "dataTableService", rows: "rows", outsideFilter: "outsideFilter", refreshSubject: "refreshSubject", columns: "columns", customFilter: "customFilter", hasExandedRows: "hasExandedRows", forceShowHeader: "forceShowHeader", hideGlobalSearch: "hideGlobalSearch", listInteractions: "listInteractions" }, outputs: { resized: "resized", preferencesChanged: "preferencesChanged", allSelected: "allSelected", toggledFilter: "toggledFilter" }, host: { properties: { "class.global-search-hidden": "this.globalSearchHiddenClassToggle", "class.empty": "this.empty", "class.loading": "this.loadingClass" } }, providers: [DataTableState, { provide: NOVO_DATA_TABLE_REF, useExisting: NovoDataTable }], queries: [{ propertyName: "customTemplates", predicate: NovoTemplate }], viewQueries: [{ propertyName: "novoDataTableContainer", first: true, predicate: ["novoDataTableContainer"], descendants: true }, { propertyName: "defaultTemplates", predicate: NovoTemplate, descendants: true }, { propertyName: "cellHeaders", predicate: NovoDataTableCellHeader, descendants: true }], ngImport: i0, template: `
|
|
2899
|
-
<header
|
|
2900
|
-
*ngIf="(!(empty && !state.userFiltered) && !loading) || forceShowHeader"
|
|
2901
|
-
[class.empty]="hideGlobalSearch && !paginationOptions && !templates['customActions']"
|
|
2902
|
-
[ngClass]="{ 'pagination-footer': paginationOptions?.onFooter }"
|
|
2903
|
-
>
|
|
2904
|
-
<ng-container *ngTemplateOutlet="templates['customHeader']"></ng-container>
|
|
2905
|
-
<novo-search
|
|
2906
|
-
alwaysOpen="true"
|
|
2907
|
-
(searchChanged)="onSearchChange($event)"
|
|
2908
|
-
[(ngModel)]="state.globalSearch"
|
|
2909
|
-
*ngIf="!hideGlobalSearch"
|
|
2910
|
-
[placeholder]="searchOptions?.placeholder"
|
|
2911
|
-
[hint]="searchOptions?.tooltip"
|
|
2912
|
-
>
|
|
2913
|
-
</novo-search>
|
|
2914
|
-
<!-- Updates to novo-data-table-pagination here need to be applied to the footer as well -->
|
|
2915
|
-
<novo-data-table-pagination
|
|
2916
|
-
*ngIf="paginationOptions && !paginationOptions.onFooter"
|
|
2917
|
-
[theme]="paginationOptions.theme"
|
|
2918
|
-
[length]="useOverrideTotal ? overrideTotal : dataSource?.currentTotal"
|
|
2919
|
-
[page]="paginationOptions.page"
|
|
2920
|
-
[pageSize]="paginationOptions.pageSize"
|
|
2921
|
-
[pageSizeOptions]="paginationOptions.pageSizeOptions"
|
|
2922
|
-
[dataFeatureId]="paginatorDataFeatureId"
|
|
2923
|
-
[canSelectAll]="canSelectAll"
|
|
2924
|
-
[allMatchingSelected]="allMatchingSelected"
|
|
2925
|
-
[loading]="paginationOptions.loading"
|
|
2926
|
-
[errorLoading]="paginationOptions.errorLoading"
|
|
2927
|
-
[paginationRefreshSubject]="paginationRefreshSubject"
|
|
2928
|
-
>
|
|
2929
|
-
</novo-data-table-pagination>
|
|
2930
|
-
<div class="novo-data-table-actions" *ngIf="templates['customActions']">
|
|
2931
|
-
<ng-container *ngTemplateOutlet="templates['customActions']"></ng-container>
|
|
2932
|
-
</div>
|
|
2933
|
-
</header>
|
|
2934
|
-
<div class="novo-data-table-loading-mask" *ngIf="dataSource?.loading || loading" data-automation-id="novo-data-table-loading">
|
|
2935
|
-
<novo-loading></novo-loading>
|
|
2936
|
-
</div>
|
|
2937
|
-
<div class="novo-data-table-outside-container" [ngClass]="{ 'novo-data-table-outside-container-fixed': fixedHeader }">
|
|
2938
|
-
<div class="novo-data-table-custom-filter" *ngIf="customFilter">
|
|
2939
|
-
<ng-container *ngTemplateOutlet="templates['customFilter']"></ng-container>
|
|
2940
|
-
</div>
|
|
2941
|
-
<div
|
|
2942
|
-
#novoDataTableContainer
|
|
2943
|
-
cdkScrollable
|
|
2944
|
-
class="novo-data-table-container"
|
|
2945
|
-
[ngClass]="{ 'novo-data-table-container-fixed': fixedHeader }"
|
|
2946
|
-
[class.empty-user-filtered]="dataSource?.currentlyEmpty && state.userFiltered"
|
|
2947
|
-
[class.empty]="empty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine"
|
|
2948
|
-
>
|
|
2949
|
-
<cdk-table
|
|
2950
|
-
*ngIf="columns?.length > 0 && columnsLoaded && dataSource"
|
|
2951
|
-
[dataSource]="dataSource"
|
|
2952
|
-
[trackBy]="trackByFn"
|
|
2953
|
-
novoDataTableSortFilter
|
|
2954
|
-
[class.expandable]="expandable"
|
|
2955
|
-
[class.empty]="dataSource?.currentlyEmpty && state.userFiltered"
|
|
2956
|
-
[hidden]="empty && !state.userFiltered"
|
|
2957
|
-
>
|
|
2958
|
-
<ng-container cdkColumnDef="selection">
|
|
2959
|
-
<novo-data-table-checkbox-header-cell *cdkHeaderCellDef [maxSelected]="maxSelected"></novo-data-table-checkbox-header-cell>
|
|
2960
|
-
<novo-data-table-checkbox-cell
|
|
2961
|
-
*cdkCellDef="let row; let i = index"
|
|
2962
|
-
[row]="row"
|
|
2963
|
-
[maxSelected]="maxSelected"
|
|
2964
|
-
></novo-data-table-checkbox-cell>
|
|
2965
|
-
</ng-container>
|
|
2966
|
-
<ng-container cdkColumnDef="expand">
|
|
2967
|
-
<novo-data-table-expand-header-cell *cdkHeaderCellDef></novo-data-table-expand-header-cell>
|
|
2968
|
-
<novo-data-table-expand-cell *cdkCellDef="let row; let i = index" [row]="row"></novo-data-table-expand-cell>
|
|
2969
|
-
</ng-container>
|
|
2970
|
-
<ng-container *ngFor="let column of columns; trackBy: trackColumnsBy" [cdkColumnDef]="column.id">
|
|
2971
|
-
<novo-data-table-header-cell
|
|
2972
|
-
*cdkHeaderCellDef
|
|
2973
|
-
[column]="column"
|
|
2974
|
-
[filterTemplate]="templates['column-filter-' + (column.filterable?.customTemplate || column.id)]"
|
|
2975
|
-
(toggledFilter)="toggledFilter.next($event)"
|
|
2976
|
-
[novo-data-table-cell-config]="column"
|
|
2977
|
-
[resized]="resized"
|
|
2978
|
-
[defaultSort]="defaultSort"
|
|
2979
|
-
[allowMultipleFilters]="allowMultipleFilters"
|
|
2980
|
-
[class.empty]="column?.type === 'action' && !column?.label"
|
|
2981
|
-
[class.button-header-cell]="column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)"
|
|
2982
|
-
[class.dropdown-header-cell]="column?.type === 'action' && column?.action?.options"
|
|
2983
|
-
[class.fixed-header]="fixedHeader"
|
|
2984
|
-
></novo-data-table-header-cell>
|
|
2985
|
-
<novo-data-table-cell
|
|
2986
|
-
*cdkCellDef="let row"
|
|
2987
|
-
[resized]="resized"
|
|
2988
|
-
[column]="column"
|
|
2989
|
-
[row]="row"
|
|
2990
|
-
[template]="columnToTemplate[column.id]"
|
|
2991
|
-
[class.empty]="column?.type === 'action' && !column?.label"
|
|
2992
|
-
[class.button-cell]="column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)"
|
|
2993
|
-
[class.dropdown-cell]="column?.type === 'action' && column?.action?.options"
|
|
2994
|
-
></novo-data-table-cell>
|
|
2995
|
-
</ng-container>
|
|
2996
|
-
<novo-data-table-header-row
|
|
2997
|
-
*cdkHeaderRowDef="displayedColumns"
|
|
2998
|
-
[fixedHeader]="fixedHeader"
|
|
2999
|
-
data-automation-id="novo-data-table-header-row"
|
|
3000
|
-
></novo-data-table-header-row>
|
|
3001
|
-
<novo-data-table-row
|
|
3002
|
-
*cdkRowDef="let row; columns: displayedColumns"
|
|
3003
|
-
[ngClass]="{ active: row[rowIdentifier] == activeRowIdentifier }"
|
|
3004
|
-
[novoDataTableExpand]="detailRowTemplate"
|
|
3005
|
-
[row]="row"
|
|
3006
|
-
[id]="name + '-' + row[rowIdentifier]"
|
|
3007
|
-
[dataAutomationId]="row[rowIdentifier]"
|
|
3008
|
-
></novo-data-table-row>
|
|
3009
|
-
</cdk-table>
|
|
3010
|
-
<div class="novo-data-table-footer" *ngIf="templates['footer']">
|
|
3011
|
-
<ng-container *ngTemplateOutlet="templates['footer']; context: { $implicit: columns, data: dataSource.data }"></ng-container>
|
|
3012
|
-
</div>
|
|
3013
|
-
<div
|
|
3014
|
-
class="novo-data-table-no-results-container"
|
|
3015
|
-
[style.left.px]="scrollLeft"
|
|
3016
|
-
*ngIf="dataSource?.currentlyEmpty && state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine"
|
|
3017
|
-
>
|
|
3018
|
-
<div class="novo-data-table-empty-message">
|
|
3019
|
-
<ng-container *ngTemplateOutlet="templates['noResultsMessage'] || templates['defaultNoResultsMessage']"></ng-container>
|
|
3020
|
-
</div>
|
|
3021
|
-
</div>
|
|
3022
|
-
<div
|
|
3023
|
-
class="novo-data-table-no-more-results-container"
|
|
3024
|
-
[style.left.px]="scrollLeft"
|
|
3025
|
-
*ngIf="!empty && dataSource?.currentlyEmpty && !state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine"
|
|
3026
|
-
>
|
|
3027
|
-
<div class="novo-data-table-empty-message">
|
|
3028
|
-
<ng-container *ngTemplateOutlet="templates['noMoreResultsMessage'] || templates['defaultNoMoreResultsMessage']"></ng-container>
|
|
3029
|
-
</div>
|
|
3030
|
-
</div>
|
|
3031
|
-
</div>
|
|
3032
|
-
<div
|
|
3033
|
-
class="novo-data-table-empty-container"
|
|
3034
|
-
*ngIf="empty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine"
|
|
3035
|
-
>
|
|
3036
|
-
<div class="novo-data-table-empty-message">
|
|
3037
|
-
<ng-container *ngTemplateOutlet="templates['emptyMessage'] || templates['defaultNoResultsMessage']"></ng-container>
|
|
3038
|
-
</div>
|
|
3039
|
-
</div>
|
|
3040
|
-
</div>
|
|
3041
|
-
<!-- DEFAULT CELL TEMPLATE -->
|
|
3042
|
-
<ng-template novoTemplate="textCellTemplate" let-row let-col="col">
|
|
3043
|
-
<span [style.width.px]="col?.width" [style.min-width.px]="col?.width" [style.max-width.px]="col?.width">{{
|
|
3044
|
-
row[col.id] | dataTableInterpolate: col
|
|
3045
|
-
}}</span>
|
|
3046
|
-
</ng-template>
|
|
3047
|
-
<ng-template novoTemplate="dateCellTemplate" let-row let-col="col">
|
|
3048
|
-
<span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateRenderer: col }}</span>
|
|
3049
|
-
</ng-template>
|
|
3050
|
-
<ng-template novoTemplate="datetimeCellTemplate" let-row let-col="col">
|
|
3051
|
-
<span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateTimeRenderer: col }}</span>
|
|
3052
|
-
</ng-template>
|
|
3053
|
-
<ng-template novoTemplate="timeCellTemplate" let-row let-col="col">
|
|
3054
|
-
<span>{{ row[col.id] | dataTableInterpolate: col | dataTableTimeRenderer: col }}</span>
|
|
3055
|
-
</ng-template>
|
|
3056
|
-
<ng-template novoTemplate="currencyCellTemplate" let-row let-col="col">
|
|
3057
|
-
<span>{{ row[col.id] | dataTableInterpolate: col | dataTableCurrencyRenderer: col }}</span>
|
|
3058
|
-
</ng-template>
|
|
3059
|
-
<ng-template novoTemplate="bigdecimalCellTemplate" let-row let-col="col">
|
|
3060
|
-
<span>{{ row[col.id] | dataTableInterpolate: col | dataTableBigDecimalRenderer: col }}</span>
|
|
3061
|
-
</ng-template>
|
|
3062
|
-
<ng-template novoTemplate="numberCellTemplate" let-row let-col="col">
|
|
3063
|
-
<span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col }}</span>
|
|
3064
|
-
</ng-template>
|
|
3065
|
-
<ng-template novoTemplate="percentCellTemplate" let-row let-col="col">
|
|
3066
|
-
<span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col:true }}</span>
|
|
3067
|
-
</ng-template>
|
|
3068
|
-
<ng-template novoTemplate="linkCellTemplate" let-row let-col="col">
|
|
3069
|
-
<a
|
|
3070
|
-
[attr.data-feature-id]="col?.attributes?.dataFeatureId"
|
|
3071
|
-
(click)="col.handlers?.click({ originalEvent: $event, row: row })"
|
|
3072
|
-
[style.width.px]="col?.width"
|
|
3073
|
-
[style.min-width.px]="col?.width"
|
|
3074
|
-
[style.max-width.px]="col?.width"
|
|
3075
|
-
>{{ row[col.id] | dataTableInterpolate: col }}</a
|
|
3076
|
-
>
|
|
3077
|
-
</ng-template>
|
|
3078
|
-
<ng-template novoTemplate="telCellTemplate" let-row let-col="col">
|
|
3079
|
-
<a href="tel:{{ row[col.id] | dataTableInterpolate: col }}" [target]="col?.attributes?.target">{{
|
|
3080
|
-
row[col.id] | dataTableInterpolate: col
|
|
3081
|
-
}}</a>
|
|
3082
|
-
</ng-template>
|
|
3083
|
-
<ng-template novoTemplate="mailtoCellTemplate" let-row let-col="col">
|
|
3084
|
-
<a href="mailto:{{ row[col.id] | dataTableInterpolate: col }}" [target]="col?.attributes?.target">{{
|
|
3085
|
-
row[col.id] | dataTableInterpolate: col
|
|
3086
|
-
}}</a>
|
|
3087
|
-
</ng-template>
|
|
3088
|
-
<ng-template novoTemplate="buttonCellTemplate" let-row let-col="col">
|
|
3089
|
-
<novo-button
|
|
3090
|
-
size="small"
|
|
3091
|
-
theme="icon"
|
|
3092
|
-
[tooltip]="col?.action?.tooltip"
|
|
3093
|
-
tooltipPosition="right"
|
|
3094
|
-
[attr.data-feature-id]="col?.attributes?.dataFeatureId"
|
|
3095
|
-
[disabled]="isDisabled(col, row)"
|
|
3096
|
-
(click)="col.handlers?.click({ originalEvent: $event, row: row })"
|
|
3097
|
-
>
|
|
3098
|
-
<novo-icon>{{ col?.action?.icon }}</novo-icon>
|
|
3099
|
-
</novo-button>
|
|
3100
|
-
</ng-template>
|
|
3101
|
-
<ng-template novoTemplate="dropdownCellTemplate" let-row let-col="col">
|
|
3102
|
-
<novo-dropdown parentScrollSelector=".novo-data-table-container" containerClass="novo-data-table-dropdown">
|
|
3103
|
-
<novo-button type="button" theme="dialogue" [icon]="col.action.icon" inverse>{{ col.label }}</novo-button>
|
|
3104
|
-
<novo-optgroup>
|
|
3105
|
-
<novo-option
|
|
3106
|
-
*ngFor="let option of col?.action?.options"
|
|
3107
|
-
(click)="option.handlers.click({ originalEvent: $event?.originalEvent, row: row })"
|
|
3108
|
-
[disabled]="isDisabled(option, row)"
|
|
3109
|
-
>
|
|
3110
|
-
<span [attr.data-automation-id]="option.label">{{ option.label }}</span>
|
|
3111
|
-
</novo-option>
|
|
3112
|
-
</novo-optgroup>
|
|
3113
|
-
</novo-dropdown>
|
|
3114
|
-
</ng-template>
|
|
3115
|
-
<ng-template novoTemplate="defaultNoResultsMessage">
|
|
3116
|
-
<h4><i class="bhi-search-question"></i> {{ labels.noMatchingRecordsMessage }}</h4>
|
|
3117
|
-
</ng-template>
|
|
3118
|
-
<ng-template novoTemplate="defaultNoMoreResultsMessage">
|
|
3119
|
-
<h4><i class="bhi-search-question"></i> {{ labels.noMoreRecordsMessage }}</h4>
|
|
3120
|
-
</ng-template>
|
|
3121
|
-
<ng-template novoTemplate="defaultEmptyMessage">
|
|
3122
|
-
<h4><i class="bhi-search-question"></i> {{ labels.emptyTableMessage }}</h4>
|
|
3123
|
-
</ng-template>
|
|
3124
|
-
<ng-template novoTemplate="expandedRow"> You did not provide an "expandedRow" template! </ng-template>
|
|
3125
|
-
<ng-template #detailRowTemplate let-row>
|
|
3126
|
-
<div class="novo-data-table-detail-row" [@expand] style="overflow: hidden">
|
|
3127
|
-
<ng-container *ngTemplateOutlet="templates['expandedRow']; context: { $implicit: row }"></ng-container>
|
|
3128
|
-
</div>
|
|
3129
|
-
</ng-template>
|
|
3130
|
-
<!-- CUSTOM CELLS PASSED IN -->
|
|
3131
|
-
<footer
|
|
3132
|
-
*ngIf="paginationOptions?.onFooter && ((!(empty && !state.userFiltered) && !loading) || forceShowHeader)"
|
|
3133
|
-
[class.empty]="!paginationOptions"
|
|
3134
|
-
>
|
|
3135
|
-
<!-- Updates to novo-data-table-pagination here need to be applied to the header as well -->
|
|
3136
|
-
<novo-data-table-pagination
|
|
3137
|
-
*ngIf="paginationOptions?.onFooter"
|
|
3138
|
-
[theme]="paginationOptions.theme"
|
|
3139
|
-
[length]="useOverrideTotal ? overrideTotal : dataSource?.currentTotal"
|
|
3140
|
-
[page]="paginationOptions.page"
|
|
3141
|
-
[pageSize]="paginationOptions.pageSize"
|
|
3142
|
-
[pageSizeOptions]="paginationOptions.pageSizeOptions"
|
|
3143
|
-
[dataFeatureId]="paginatorDataFeatureId"
|
|
3144
|
-
[canSelectAll]="canSelectAll"
|
|
3145
|
-
[allMatchingSelected]="allMatchingSelected"
|
|
3146
|
-
[loading]="paginationOptions.loading"
|
|
3147
|
-
[errorLoading]="paginationOptions.errorLoading"
|
|
3148
|
-
[paginationRefreshSubject]="paginationRefreshSubject"
|
|
3149
|
-
[showPaginationTotalRecordCount]="true"
|
|
3150
|
-
>
|
|
3151
|
-
</novo-data-table-pagination>
|
|
3152
|
-
</footer>
|
|
3153
|
-
<ng-content></ng-content>
|
|
3154
|
-
`, isInline: true, styles: ["html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:var(--font-family-mono, \"monospace\");font-size:1em}a,novo-data-table .clickable{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:var(--font-family-mono, \"monospace\");font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none!important}cdk-table{display:block;flex:1}cdk-table.expandable{width:fit-content;min-width:100%}cdk-table.empty{min-height:62px;max-height:62px}cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-checkbox-cell{background-color:var(--background-muted, #f4f4f4)}cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-checkbox-cell{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(odd).active+.novo-data-table-detail-row{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(odd)+.novo-data-table-detail-row{background-color:var(--background-muted, #f4f4f4)}cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-checkbox-cell{background-color:var(--background-body, #ffffff)}cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-checkbox-cell{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(2n).active+.novo-data-table-detail-row{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(2n)+.novo-data-table-detail-row{background-color:var(--background-body, #ffffff)}.novo-data-table-cell-align-right{text-align:right;justify-content:flex-end;overflow:hidden;text-overflow:clip}.novo-data-table-header-row,.novo-data-table-header-cell{position:relative;z-index:1}.novo-data-table-header-row.fixed-header,.novo-data-table-header-cell.fixed-header{position:sticky;top:0}.novo-data-table-row,.novo-data-table-header-row{display:flex;flex-direction:row;flex-wrap:nowrap;background-color:var(--background-body, #ffffff)}.novo-data-table-row .novo-data-table-header-cell,.novo-data-table-row .novo-data-table-checkbox-header-cell,.novo-data-table-header-row .novo-data-table-header-cell,.novo-data-table-header-row .novo-data-table-checkbox-header-cell{background-color:var(--background-body, #ffffff)}.novo-data-table-row.expanded i.bhi-next.data-table-icon,.novo-data-table-header-row.expanded i.bhi-next.data-table-icon{cursor:pointer;transition:all .1s}.novo-data-table-row.expanded i.bhi-next.data-table-icon.expanded,.novo-data-table-header-row.expanded i.bhi-next.data-table-icon.expanded{transform:rotate(90deg)}.novo-data-table-header-cell.resizable{padding-right:0}.novo-data-table-header-cell.resizable:hover{background-color:var(--background-muted, #4f5361)}.novo-data-table-header-cell.resizable .data-table-header-resizable{height:100%}.novo-data-table-header-cell.resizable .data-table-header-resizable span{cursor:ew-resize;background-color:var(--border, #4f5361);width:1px;margin:0 4px;display:block}.novo-data-table-header-cell>div>button{margin-right:2px}.novo-data-table-header-cell>div.spacer{flex-grow:100}.novo-data-table-clear-button button{min-width:80px!important}.novo-data-table-cell,.novo-data-table-header-cell{min-width:200px;padding:9px;flex:1;line-height:1.1em}.novo-data-table-cell>i.label-icon,.novo-data-table-header-cell>i.label-icon{margin-right:.5em}.novo-data-table-cell>span,.novo-data-table-header-cell>span{display:block;min-width:180px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.novo-data-table-cell novo-dropdown,.novo-data-table-header-cell novo-dropdown{display:inline-block}.novo-data-table-cell .filter-button,.novo-data-table-header-cell .filter-button{color:var(--text-muted);background:transparent;pointer-events:all;margin-left:.5rem;line-height:1em;outline:none}.novo-data-table-cell .filter-button:hover,.novo-data-table-header-cell .filter-button:hover{color:var(--text-main)}.novo-data-table-cell .filter-button.filter-active,.novo-data-table-header-cell .filter-button.filter-active{color:var(--selection)}.novo-data-table-cell button.active,.novo-data-table-header-cell button.active{color:#fff;background:#4a89dc}.novo-data-table-cell button.active:hover,.novo-data-table-cell button.active:active,.novo-data-table-cell button.active:focus,.novo-data-table-cell button.active:visited,.novo-data-table-header-cell button.active:hover,.novo-data-table-header-cell button.active:active,.novo-data-table-header-cell button.active:focus,.novo-data-table-header-cell button.active:visited{background:#4a89dc!important}.novo-data-table-cell.clickable,.novo-data-table-header-cell.clickable{cursor:pointer;color:#39d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.novo-data-table-cell{display:flex;flex-direction:row;align-items:center}.novo-data-table-cell.dropdown-cell,.novo-data-table-cell.button-cell{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:0 5px}.novo-data-table-cell.dropdown-cell novo-dropdown button,.novo-data-table-cell.button-cell novo-dropdown button{padding:0 0 0 5px}.novo-data-table-cell.dropdown-cell novo-dropdown button:hover,.novo-data-table-cell.dropdown-cell novo-dropdown button:active,.novo-data-table-cell.dropdown-cell novo-dropdown button:focus,.novo-data-table-cell.button-cell novo-dropdown button:hover,.novo-data-table-cell.button-cell novo-dropdown button:active,.novo-data-table-cell.button-cell novo-dropdown button:focus{background:#0000001a!important}.novo-data-table-cell.button-cell{min-width:40px;max-width:40px}.novo-data-table-cell.dropdown-cell{min-width:98px;max-width:98px}.novo-data-table-cell.dropdown-cell.empty{min-width:39px;max-width:39px}.novo-data-table-cell i.data-table-icon{cursor:pointer;font-size:1.2em;padding:.5em;border-radius:3px}.novo-data-table-cell i.data-table-icon.disabled{pointer-events:none;opacity:.7}.novo-data-table-cell i.data-table-icon:hover{background:#0000001a}.novo-data-table-cell i.data-table-icon:active{background:#00000040}.novo-data-table-header-cell{white-space:normal;overflow-wrap:break-word;display:flex;align-items:center}.novo-data-table-header-cell+.button-header-cell,.novo-data-table-header-cell+.dropdown-header-cell{border-left:none}.novo-data-table-header-cell>label{display:inline-block;padding-right:10px;overflow:hidden;text-overflow:ellipsis}.novo-data-table-header-cell>label.sort-disabled{cursor:default}.novo-data-table-header-cell>div{width:55px;display:flex;align-items:center;flex:0}.novo-data-table-header-cell novo-dropdown[side=right]{display:inline-block}.novo-data-table-header-cell novo-dropdown[side=right]:focus{outline:none}.novo-data-table-header-cell.button-header-cell{min-width:40px;max-width:40px}.novo-data-table-header-cell.dropdown-header-cell{min-width:98px;max-width:98px}.novo-data-table-header-cell.dropdown-header-cell.empty{min-width:39px;max-width:39px}.novo-data-table-expand-header-cell,.novo-data-table-expand-cell{display:flex;align-items:center;justify-content:center;width:30px}.novo-data-table-expand-header-cell i,.novo-data-table-expand-cell i{cursor:pointer;transition:all .1s}.novo-data-table-expand-header-cell i.expanded,.novo-data-table-expand-cell i.expanded{transform:rotate(90deg)}.novo-data-table-checkbox-header-cell,.novo-data-table-checkbox-cell{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;max-width:40px;padding:0 10px}.novo-data-table-checkbox-header-cell div.data-table-checkbox,.novo-data-table-checkbox-cell div.data-table-checkbox{display:flex;cursor:pointer}.novo-data-table-checkbox-header-cell div.data-table-checkbox i,.novo-data-table-checkbox-cell div.data-table-checkbox i{cursor:pointer}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-box-empty,.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-disabled,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-box-empty,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-disabled{cursor:not-allowed!important}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-empty,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-empty{color:#d2d2d2}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-box-yes,.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-filled,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-box-yes,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-filled{color:#4a89dc}.novo-data-table-checkbox-header-cell input,.novo-data-table-checkbox-cell input{appearance:none!important;height:0!important;border:none!important}novo-data-table{position:relative;width:100%;display:flex;flex-direction:column;flex:1}novo-data-table.loading{min-height:300px}novo-data-table header{padding:5px;display:flex;align-items:center;flex-shrink:0;border-bottom:1px solid var(--border, #f7f7f7)}novo-data-table header.pagination-footer{justify-content:space-between}novo-data-table header.empty{padding:0}novo-data-table header>[novo-data-table-custom-header]{flex:1}novo-data-table header>novo-search{padding-right:10px;display:none}@media (min-width: 1000px){novo-data-table header>novo-search{display:flex}}novo-data-table header>novo-search>input{padding:8.5px;font-size:1.1em;height:35px}novo-data-table header>novo-search.active>button[theme=fab]{height:35px;min-height:35px}novo-data-table header>div.novo-data-table-actions{display:flex;align-items:center;justify-content:flex-end}novo-data-table header>div.novo-data-table-actions>*{margin-right:.2em}novo-data-table header>div.novo-data-table-actions>*:last-child{margin-right:0}novo-data-table header>div.novo-data-table-actions>div,novo-data-table header>div.novo-data-table-actions>section{display:flex;align-items:center}novo-data-table header>div.novo-data-table-actions>div button,novo-data-table header>div.novo-data-table-actions>section button{margin-left:3px;margin-bottom:0}novo-data-table header>div.novo-data-table-actions>div button[theme][theme=icon],novo-data-table header>div.novo-data-table-actions>section button[theme][theme=icon]{height:35px;width:35px;font-size:1.4em}novo-data-table header>div.novo-data-table-actions>div novo-dropdown button[theme],novo-data-table header>div.novo-data-table-actions>section novo-dropdown button[theme]{white-space:nowrap;padding:6px 5px 6px 15px!important}novo-data-table button[theme][theme=icon]{height:30px;width:30px;padding:5px}novo-data-table .novo-data-table-loading-mask{position:absolute;display:flex;padding-top:10%;justify-content:center;inset:0;background:#00000012;z-index:10}novo-data-table .novo-data-table-detail-row{padding:1em}novo-data-table .novo-data-table-empty-container{padding-top:0}novo-data-table .novo-data-table-no-results-container,novo-data-table .novo-data-table-no-more-results-container{position:absolute;top:48%;left:0;right:0;width:100%}novo-data-table .novo-data-table-empty-container,novo-data-table .novo-data-table-no-results-container,novo-data-table .novo-data-table-no-more-results-container{padding:2em;flex:1;display:flex;align-items:center;justify-content:center;color:#9e9e9e;z-index:5}novo-data-table .novo-data-table-outside-container{display:flex;flex:1}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter{border-right:1px solid var(--border, #f7f7f7)}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar{box-shadow:none}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar .date-range-tabs{height:51px}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar .calendar-footer{display:none}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter div.period-selector{padding:1em}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter div.period-selector .novo-form-control-label{display:block;max-width:100%;margin-bottom:1em}novo-data-table .novo-data-table-outside-container .novo-data-table-container{flex:1;overflow:auto;position:relative}novo-data-table .novo-data-table-outside-container .novo-data-table-container.empty{display:flex;flex:0}novo-data-table .novo-data-table-outside-container .novo-data-table-container.empty-user-filtered{display:flex;flex-flow:column nowrap;min-height:250px}novo-data-table .novo-data-table-outside-container-fixed{overflow:hidden;position:relative}novo-data-table .novo-data-table-outside-container-fixed .novo-data-table-container-fixed{position:absolute;width:100%;height:100%}novo-data-table .novo-data-table-footer{display:flex;align-items:center}novo-data-table .novo-data-table-footer>div,novo-data-table .novo-data-table-footer div.novo-data-table-footer-cell{border-top:1px solid var(--border, #f7f7f7);flex:1;min-width:200px;display:flex;align-items:center}novo-data-table .novo-data-table-footer>div:not(.button-cell):not(.dropdown-cell),novo-data-table .novo-data-table-footer div.novo-data-table-footer-cell:not(.button-cell):not(.dropdown-cell){padding:10px}.dropdown-container.data-table-dropdown{min-width:220px;max-width:280px;max-height:500px;overflow-x:hidden;overflow-y:hidden}.dropdown-container.data-table-dropdown.right{margin-left:-150px!important}.dropdown-container.data-table-dropdown .header{padding:5px 10px;display:flex;justify-content:space-between;align-items:center}.dropdown-container.data-table-dropdown .optgroup-container,.dropdown-container.data-table-dropdown .dropdown-list-options{max-height:346px;overflow-y:auto;overflow-x:hidden}.dropdown-container.data-table-dropdown .footer{border-top:1px solid var(--border, #f7f7f7);padding:5px 10px;display:flex;justify-content:flex-end;align-items:center}.dropdown-container.data-table-dropdown .footer button icon{font-size:.8em}.dropdown-container.data-table-dropdown list item.active{background:transparent;font-weight:500}.dropdown-container.data-table-dropdown button[theme][theme=dialogue][icon] i{padding:inherit;padding-left:5px;height:inherit;width:inherit;display:inline-block;line-height:inherit}.dropdown-container.data-table-dropdown .calendar-container{height:100%;min-height:200px;width:100%;background:#fff;padding:0!important}.dropdown-container.data-table-dropdown .calendar-container .back-link{color:#4a89dc;line-height:3em;font-size:.9em;padding-left:5px;cursor:pointer}.dropdown-container.data-table-dropdown .calendar-container novo-date-picker .calendar{width:100%;height:100%;box-shadow:none;padding:0 5px 10px}.dropdown-container.data-table-dropdown .calendar-container novo-date-picker .calendar .calendar-top{display:none}.dropdown-container.data-table-dropdown span.error-text{color:#da4453;position:relative;left:10px;top:-17px;font-size:x-small}.dropdown-container.data-table-dropdown .filter-null-results{background-color:#fff;text-align:center;color:#b5b5b5;background:transparent;font-weight:500}\n/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n"], dependencies: [{ kind: "component", type: i1.CdkTable, selector: "cdk-table, table[cdk-table]", inputs: ["trackBy", "dataSource", "multiTemplateDataRows", "fixedLayout"], outputs: ["contentChanged"], exportAs: ["cdkTable"] }, { kind: "directive", type: i1.CdkRowDef, selector: "[cdkRowDef]", inputs: ["cdkRowDefColumns", "cdkRowDefWhen"] }, { kind: "directive", type: i1.CdkCellDef, selector: "[cdkCellDef]" }, { kind: "directive", type: i1.CdkHeaderCellDef, selector: "[cdkHeaderCellDef]" }, { kind: "directive", type: i1.CdkColumnDef, selector: "[cdkColumnDef]", inputs: ["cdkColumnDef", "sticky", "stickyEnd"] }, { kind: "directive", type: i1.CdkHeaderRowDef, selector: "[cdkHeaderRowDef]", inputs: ["cdkHeaderRowDef", "cdkHeaderRowDefSticky"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.NovoIconComponent, selector: "novo-icon", inputs: ["raised", "theme", "shape", "color", "size", "smaller", "larger", "alt", "name"] }, { kind: "component", type: i3$1.NovoButtonElement, selector: "novo-button,button[theme]", inputs: ["color", "side", "size", "theme", "loading", "icon", "secondIcon", "disabled"] }, { kind: "component", type: i5$1.NovoDropdownElement, selector: "novo-dropdown", inputs: ["parentScrollSelector", "parentScrollAction", "containerClass", "side", "scrollStrategy", "keepOpen", "height", "width", "appendToBody", "multiple", "scrollToActiveItemOnOpen"], outputs: ["toggled"] }, { kind: "component", type: i6$1.NovoLoadingElement, selector: "novo-loading", inputs: ["theme", "color", "size"] }, { kind: "component", type: i10.NovoSearchBoxElement, selector: "novo-search", inputs: ["name", "icon", "position", "placeholder", "alwaysOpen", "theme", "color", "closeOnSelect", "displayField", "displayValue", "hint", "keepOpen", "hasBackdrop", "allowPropagation", "overrideElement"], outputs: ["searchChanged", "applySearch"] }, { kind: "component", type: i11.NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }, { kind: "component", type: i11.NovoOptgroup, selector: "novo-optgroup", inputs: ["disabled", "label"], exportAs: ["novoOptgroup"] }, { kind: "directive", type: i11.NovoTemplate, selector: "[novoTemplate]", inputs: ["type", "novoTemplate"] }, { kind: "directive", type: i11.ThemeColorDirective, selector: "[theme]", inputs: ["theme"] }, { kind: "directive", type: i12.TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltipPosition", "tooltipType", "tooltipSize", "tooltipBounce", "tooltipNoAnimate", "tooltipRounded", "tooltipAlways", "tooltipPreline", "removeTooltipArrow", "tooltipAutoPosition", "tooltipIsHTML", "tooltipCloseOnClick", "tooltipOnOverflow", "tooltipActive"] }, { kind: "directive", type: i13$1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: NovoDataTableCellHeader, selector: "[novo-data-table-cell-config]", inputs: ["defaultSort", "allowMultipleFilters", "resized", "filterTemplate", "novo-data-table-cell-config"], outputs: ["toggledFilter"] }, { kind: "directive", type: NovoDataTableSortFilter, selector: "[novoDataTableSortFilter]" }, { kind: "directive", type: NovoDataTableHeaderCell, selector: "novo-data-table-header-cell", inputs: ["column"] }, { kind: "component", type: NovoDataTableCell, selector: "novo-data-table-cell", inputs: ["row", "template", "column", "resized"] }, { kind: "component", type: NovoDataTableHeaderRow, selector: "novo-data-table-header-row", inputs: ["fixedHeader"] }, { kind: "component", type: NovoDataTableRow, selector: "novo-data-table-row", inputs: ["id", "dataAutomationId"] }, { kind: "component", type: NovoDataTablePagination, selector: "novo-data-table-pagination", inputs: ["theme", "page", "pageSize", "dataFeatureId", "pageSizeOptions", "canSelectAll", "allMatchingSelected", "loading", "errorLoading", "paginationRefreshSubject", "showPaginationTotalRecordCount", "length"], outputs: ["pageChange"] }, { kind: "component", type: NovoDataTableCheckboxCell, selector: "novo-data-table-checkbox-cell", inputs: ["row", "maxSelected"] }, { kind: "component", type: NovoDataTableCheckboxHeaderCell, selector: "novo-data-table-checkbox-header-cell", inputs: ["maxSelected"] }, { kind: "component", type: NovoDataTableExpandCell, selector: "novo-data-table-expand-cell", inputs: ["row"] }, { kind: "component", type: NovoDataTableExpandHeaderCell, selector: "novo-data-table-expand-header-cell" }, { kind: "directive", type: NovoDataTableExpandDirective, selector: "[novoDataTableExpand]", inputs: ["row", "novoDataTableExpand"] }, { kind: "pipe", type: DataTableInterpolatePipe, name: "dataTableInterpolate" }, { kind: "pipe", type: DateTableDateRendererPipe, name: "dataTableDateRenderer" }, { kind: "pipe", type: DateTableCurrencyRendererPipe, name: "dataTableCurrencyRenderer" }, { kind: "pipe", type: DateTableDateTimeRendererPipe, name: "dataTableDateTimeRenderer" }, { kind: "pipe", type: DateTableNumberRendererPipe, name: "dataTableNumberRenderer" }, { kind: "pipe", type: DateTableTimeRendererPipe, name: "dataTableTimeRenderer" }, { kind: "pipe", type: DataTableBigDecimalRendererPipe, name: "dataTableBigDecimalRenderer" }], animations: [
|
|
2931
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: NovoDataTable, isStandalone: false, selector: "novo-data-table", inputs: { displayedColumns: "displayedColumns", paginationOptions: "paginationOptions", searchOptions: "searchOptions", selectionOptions: "selectionOptions", defaultSort: "defaultSort", name: "name", allowMultipleFilters: "allowMultipleFilters", rowIdentifier: "rowIdentifier", activeRowIdentifier: "activeRowIdentifier", trackByFn: "trackByFn", templates: "templates", fixedHeader: "fixedHeader", paginatorDataFeatureId: "paginatorDataFeatureId", maxSelected: "maxSelected", canSelectAll: "canSelectAll", allMatchingSelected: "allMatchingSelected", overrideTotal: "overrideTotal", paginationRefreshSubject: "paginationRefreshSubject", enableColumnDragging: "enableColumnDragging", dataTableService: "dataTableService", rows: "rows", outsideFilter: "outsideFilter", refreshSubject: "refreshSubject", columns: "columns", customFilter: "customFilter", hasExandedRows: "hasExandedRows", forceShowHeader: "forceShowHeader", hideGlobalSearch: "hideGlobalSearch", listInteractions: "listInteractions" }, outputs: { resized: "resized", preferencesChanged: "preferencesChanged", allSelected: "allSelected", toggledFilter: "toggledFilter" }, host: { properties: { "class.global-search-hidden": "this.globalSearchHiddenClassToggle", "class.empty": "this.empty", "class.loading": "this.loadingClass" } }, providers: [DataTableState, { provide: NOVO_DATA_TABLE_REF, useExisting: NovoDataTable }], queries: [{ propertyName: "customTemplates", predicate: NovoTemplate }], viewQueries: [{ propertyName: "novoDataTableContainer", first: true, predicate: ["novoDataTableContainer"], descendants: true }, { propertyName: "defaultTemplates", predicate: NovoTemplate, descendants: true }, { propertyName: "cellHeaders", predicate: NovoDataTableCellHeader, descendants: true }], ngImport: i0, template: "<header\n *ngIf=\"(!(empty && !state.userFiltered) && !loading) || forceShowHeader\"\n [class.empty]=\"hideGlobalSearch && !paginationOptions && !templates['customActions']\"\n [ngClass]=\"{ 'pagination-footer': paginationOptions?.onFooter }\"\n>\n <ng-container *ngTemplateOutlet=\"templates['customHeader']\"></ng-container>\n <novo-search\n alwaysOpen=\"true\"\n (searchChanged)=\"onSearchChange($event)\"\n [(ngModel)]=\"state.globalSearch\"\n *ngIf=\"!hideGlobalSearch\"\n [placeholder]=\"searchOptions?.placeholder\"\n [hint]=\"searchOptions?.tooltip\"\n >\n </novo-search>\n <!-- Updates to novo-data-table-pagination here need to be applied to the footer as well -->\n <novo-data-table-pagination\n *ngIf=\"paginationOptions && !paginationOptions.onFooter\"\n [theme]=\"paginationOptions.theme\"\n [length]=\"useOverrideTotal ? overrideTotal : dataSource?.currentTotal\"\n [page]=\"paginationOptions.page\"\n [pageSize]=\"paginationOptions.pageSize\"\n [pageSizeOptions]=\"paginationOptions.pageSizeOptions\"\n [dataFeatureId]=\"paginatorDataFeatureId\"\n [canSelectAll]=\"canSelectAll\"\n [allMatchingSelected]=\"allMatchingSelected\"\n [loading]=\"paginationOptions.loading\"\n [errorLoading]=\"paginationOptions.errorLoading\"\n [paginationRefreshSubject]=\"paginationRefreshSubject\"\n >\n </novo-data-table-pagination>\n <div class=\"novo-data-table-actions\" *ngIf=\"templates['customActions']\">\n <ng-container *ngTemplateOutlet=\"templates['customActions']\"></ng-container>\n </div>\n</header>\n<div class=\"novo-data-table-loading-mask\" *ngIf=\"dataSource?.loading || loading\" data-automation-id=\"novo-data-table-loading\">\n <novo-loading></novo-loading>\n</div>\n<div class=\"novo-data-table-outside-container\" [ngClass]=\"{ 'novo-data-table-outside-container-fixed': fixedHeader }\">\n <div class=\"novo-data-table-custom-filter\" *ngIf=\"customFilter\">\n <ng-container *ngTemplateOutlet=\"templates['customFilter']\"></ng-container>\n </div>\n <div\n #novoDataTableContainer\n cdkScrollable\n class=\"novo-data-table-container\"\n [ngClass]=\"{ 'novo-data-table-container-fixed': fixedHeader }\"\n [class.empty-user-filtered]=\"dataSource?.currentlyEmpty && state.userFiltered\"\n [class.empty]=\"empty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine\"\n >\n <cdk-table\n *ngIf=\"columns?.length > 0 && columnsLoaded && dataSource\"\n [dataSource]=\"dataSource\"\n [trackBy]=\"trackByFn\"\n novoDataTableSortFilter\n [class.expandable]=\"expandable\"\n [class.empty]=\"dataSource?.currentlyEmpty && state.userFiltered\"\n [hidden]=\"empty && !state.userFiltered\"\n >\n <ng-container cdkColumnDef=\"selection\">\n <novo-data-table-checkbox-header-cell *cdkHeaderCellDef [maxSelected]=\"maxSelected\"></novo-data-table-checkbox-header-cell>\n <novo-data-table-checkbox-cell\n *cdkCellDef=\"let row; let i = index\"\n [row]=\"row\"\n [maxSelected]=\"maxSelected\"\n ></novo-data-table-checkbox-cell>\n </ng-container>\n <ng-container cdkColumnDef=\"expand\">\n <novo-data-table-expand-header-cell *cdkHeaderCellDef></novo-data-table-expand-header-cell>\n <novo-data-table-expand-cell *cdkCellDef=\"let row; let i = index\" [row]=\"row\"></novo-data-table-expand-cell>\n </ng-container>\n <ng-container *ngFor=\"let column of columns; trackBy: trackColumnsBy\" [cdkColumnDef]=\"column.id\">\n <novo-data-table-header-cell\n *cdkHeaderCellDef\n [column]=\"column\"\n [filterTemplate]=\"templates['column-filter-' + (column.filterable?.customTemplate || column.id)]\"\n (toggledFilter)=\"toggledFilter.next($event)\"\n [novo-data-table-cell-config]=\"column\"\n [resized]=\"resized\"\n [defaultSort]=\"defaultSort\"\n [allowMultipleFilters]=\"allowMultipleFilters\"\n [class.empty]=\"column?.type === 'action' && !column?.label\"\n [class.button-header-cell]=\"column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)\"\n [class.dropdown-header-cell]=\"column?.type === 'action' && column?.action?.options\"\n [class.fixed-header]=\"fixedHeader\"\n ></novo-data-table-header-cell>\n <novo-data-table-cell\n *cdkCellDef=\"let row\"\n [resized]=\"resized\"\n [column]=\"column\"\n [row]=\"row\"\n [template]=\"columnToTemplate[column.id]\"\n [class.empty]=\"column?.type === 'action' && !column?.label\"\n [class.button-cell]=\"column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)\"\n [class.dropdown-cell]=\"column?.type === 'action' && column?.action?.options\"\n ></novo-data-table-cell>\n </ng-container>\n <novo-data-table-header-row\n *cdkHeaderRowDef=\"displayedColumns\"\n [novoDragDrop]=\"enableColumnDragging ? displayedColumns : undefined\"\n [novoDragDropFilter]=\"columnDragFilter\"\n (novoDragDropFinish)=\"columnDragged($event)\"\n [fixedHeader]=\"fixedHeader\"\n data-automation-id=\"novo-data-table-header-row\"\n ></novo-data-table-header-row>\n <novo-data-table-row\n *cdkRowDef=\"let row; columns: displayedColumns\"\n [ngClass]=\"{ active: row[rowIdentifier] == activeRowIdentifier }\"\n [novoDataTableExpand]=\"detailRowTemplate\"\n [row]=\"row\"\n [id]=\"name + '-' + row[rowIdentifier]\"\n [dataAutomationId]=\"row[rowIdentifier]\"\n ></novo-data-table-row>\n </cdk-table>\n <div class=\"novo-data-table-footer\" *ngIf=\"templates['footer']\">\n <ng-container *ngTemplateOutlet=\"templates['footer']; context: { $implicit: columns, data: dataSource.data }\"></ng-container>\n </div>\n <div\n class=\"novo-data-table-no-results-container\"\n [style.left.px]=\"scrollLeft\"\n *ngIf=\"dataSource?.currentlyEmpty && state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine\"\n >\n <div class=\"novo-data-table-empty-message\">\n <ng-container *ngTemplateOutlet=\"templates['noResultsMessage'] || templates['defaultNoResultsMessage']\"></ng-container>\n </div>\n </div>\n <div\n class=\"novo-data-table-no-more-results-container\"\n [style.left.px]=\"scrollLeft\"\n *ngIf=\"!empty && dataSource?.currentlyEmpty && !state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine\"\n >\n <div class=\"novo-data-table-empty-message\">\n <ng-container *ngTemplateOutlet=\"templates['noMoreResultsMessage'] || templates['defaultNoMoreResultsMessage']\"></ng-container>\n </div>\n </div>\n </div>\n <div\n class=\"novo-data-table-empty-container\"\n *ngIf=\"empty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine\"\n >\n <div class=\"novo-data-table-empty-message\">\n <ng-container *ngTemplateOutlet=\"templates['emptyMessage'] || templates['defaultNoResultsMessage']\"></ng-container>\n </div>\n </div>\n</div>\n<!-- DEFAULT CELL TEMPLATE -->\n<ng-template novoTemplate=\"textCellTemplate\" let-row let-col=\"col\">\n <span [style.width.px]=\"col?.width\" [style.min-width.px]=\"col?.width\" [style.max-width.px]=\"col?.width\">{{\n row[col.id] | dataTableInterpolate: col\n }}</span>\n</ng-template>\n<ng-template novoTemplate=\"dateCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"datetimeCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateTimeRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"timeCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableTimeRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"currencyCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableCurrencyRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"bigdecimalCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableBigDecimalRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"numberCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"percentCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col:true }}</span>\n</ng-template>\n<ng-template novoTemplate=\"linkCellTemplate\" let-row let-col=\"col\">\n <a\n [attr.data-feature-id]=\"col?.attributes?.dataFeatureId\"\n (click)=\"col.handlers?.click({ originalEvent: $event, row: row })\"\n [style.width.px]=\"col?.width\"\n [style.min-width.px]=\"col?.width\"\n [style.max-width.px]=\"col?.width\"\n >{{ row[col.id] | dataTableInterpolate: col }}</a\n >\n</ng-template>\n<ng-template novoTemplate=\"telCellTemplate\" let-row let-col=\"col\">\n <a href=\"tel:{{ row[col.id] | dataTableInterpolate: col }}\" [target]=\"col?.attributes?.target\">{{\n row[col.id] | dataTableInterpolate: col\n }}</a>\n</ng-template>\n<ng-template novoTemplate=\"mailtoCellTemplate\" let-row let-col=\"col\">\n <a href=\"mailto:{{ row[col.id] | dataTableInterpolate: col }}\" [target]=\"col?.attributes?.target\">{{\n row[col.id] | dataTableInterpolate: col\n }}</a>\n</ng-template>\n<ng-template novoTemplate=\"buttonCellTemplate\" let-row let-col=\"col\">\n <novo-button\n size=\"small\"\n theme=\"icon\"\n [tooltip]=\"col?.action?.tooltip\"\n tooltipPosition=\"right\"\n [attr.data-feature-id]=\"col?.attributes?.dataFeatureId\"\n [disabled]=\"isDisabled(col, row)\"\n (click)=\"col.handlers?.click({ originalEvent: $event, row: row })\"\n >\n <novo-icon>{{ col?.action?.icon }}</novo-icon>\n </novo-button>\n</ng-template>\n<ng-template novoTemplate=\"dropdownCellTemplate\" let-row let-col=\"col\">\n <novo-dropdown parentScrollSelector=\".novo-data-table-container\" containerClass=\"novo-data-table-dropdown\">\n <novo-button type=\"button\" theme=\"dialogue\" [icon]=\"col.action.icon\" inverse>{{ col.label }}</novo-button>\n <novo-optgroup>\n <novo-option\n *ngFor=\"let option of col?.action?.options\"\n (click)=\"option.handlers.click({ originalEvent: $event?.originalEvent, row: row })\"\n [disabled]=\"isDisabled(option, row)\"\n >\n <span [attr.data-automation-id]=\"option.label\">{{ option.label }}</span>\n </novo-option>\n </novo-optgroup>\n </novo-dropdown>\n</ng-template>\n<ng-template novoTemplate=\"defaultNoResultsMessage\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.noMatchingRecordsMessage }}</h4>\n</ng-template>\n<ng-template novoTemplate=\"defaultNoMoreResultsMessage\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.noMoreRecordsMessage }}</h4>\n</ng-template>\n<ng-template novoTemplate=\"defaultEmptyMessage\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.emptyTableMessage }}</h4>\n</ng-template>\n<ng-template novoTemplate=\"expandedRow\"> You did not provide an \"expandedRow\" template! </ng-template>\n<ng-template #detailRowTemplate let-row>\n <div class=\"novo-data-table-detail-row\" [@expand] style=\"overflow: hidden\">\n <ng-container *ngTemplateOutlet=\"templates['expandedRow']; context: { $implicit: row }\"></ng-container>\n </div>\n</ng-template>\n<!-- CUSTOM CELLS PASSED IN -->\n<footer\n *ngIf=\"paginationOptions?.onFooter && ((!(empty && !state.userFiltered) && !loading) || forceShowHeader)\"\n [class.empty]=\"!paginationOptions\"\n>\n <!-- Updates to novo-data-table-pagination here need to be applied to the header as well -->\n <novo-data-table-pagination\n *ngIf=\"paginationOptions?.onFooter\"\n [theme]=\"paginationOptions.theme\"\n [length]=\"useOverrideTotal ? overrideTotal : dataSource?.currentTotal\"\n [page]=\"paginationOptions.page\"\n [pageSize]=\"paginationOptions.pageSize\"\n [pageSizeOptions]=\"paginationOptions.pageSizeOptions\"\n [dataFeatureId]=\"paginatorDataFeatureId\"\n [canSelectAll]=\"canSelectAll\"\n [allMatchingSelected]=\"allMatchingSelected\"\n [loading]=\"paginationOptions.loading\"\n [errorLoading]=\"paginationOptions.errorLoading\"\n [paginationRefreshSubject]=\"paginationRefreshSubject\"\n [showPaginationTotalRecordCount]=\"true\"\n >\n </novo-data-table-pagination>\n</footer>\n<ng-content></ng-content>", styles: ["html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:var(--font-family-mono, \"monospace\");font-size:1em}a,novo-data-table .clickable{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:var(--font-family-mono, \"monospace\");font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none!important}cdk-table{display:block;flex:1}cdk-table.expandable{width:fit-content;min-width:100%}cdk-table.empty{min-height:62px;max-height:62px}cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-checkbox-cell{background-color:var(--background-muted, #f4f4f4)}cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-checkbox-cell{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(odd).active+.novo-data-table-detail-row{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(odd)+.novo-data-table-detail-row{background-color:var(--background-muted, #f4f4f4)}cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-checkbox-cell{background-color:var(--background-body, #ffffff)}cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-checkbox-cell{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(2n).active+.novo-data-table-detail-row{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(2n)+.novo-data-table-detail-row{background-color:var(--background-body, #ffffff)}.novo-data-table-cell-align-right{text-align:right;justify-content:flex-end;overflow:hidden;text-overflow:clip}.novo-data-table-header-row,.novo-data-table-header-cell{position:relative;z-index:1}.novo-data-table-header-row.fixed-header,.novo-data-table-header-cell.fixed-header{position:sticky;top:0}.novo-data-table-row,.novo-data-table-header-row{display:flex;flex-direction:row;flex-wrap:nowrap;background-color:var(--background-body, #ffffff)}.novo-data-table-row .novo-data-table-header-cell,.novo-data-table-row .novo-data-table-checkbox-header-cell,.novo-data-table-header-row .novo-data-table-header-cell,.novo-data-table-header-row .novo-data-table-checkbox-header-cell{background-color:var(--background-body, #ffffff)}.novo-data-table-row.expanded i.bhi-next.data-table-icon,.novo-data-table-header-row.expanded i.bhi-next.data-table-icon{cursor:pointer;transition:all .1s}.novo-data-table-row.expanded i.bhi-next.data-table-icon.expanded,.novo-data-table-header-row.expanded i.bhi-next.data-table-icon.expanded{transform:rotate(90deg)}.novo-data-table-header-cell.resizable{padding-right:0}.novo-data-table-header-cell.resizable:hover{background-color:var(--background-muted, #4f5361)}.novo-data-table-header-cell.resizable .data-table-header-resizable{height:100%}.novo-data-table-header-cell.resizable .data-table-header-resizable span{cursor:ew-resize;background-color:var(--border, #4f5361);width:1px;margin:0 4px;display:block}.novo-data-table-header-cell>div>button{margin-right:2px}.novo-data-table-header-cell>div.spacer{flex-grow:100}.novo-data-table-header-cell[draggable=true] label{cursor:grab;-webkit-user-select:none;user-select:none}.novo-data-table-clear-button button{min-width:80px!important}.novo-data-table-cell,.novo-data-table-header-cell{min-width:200px;padding:9px;flex:1;line-height:1.1em}.novo-data-table-cell>i.label-icon,.novo-data-table-header-cell>i.label-icon{margin-right:.5em}.novo-data-table-cell>span,.novo-data-table-header-cell>span{display:block;min-width:180px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.novo-data-table-cell novo-dropdown,.novo-data-table-header-cell novo-dropdown{display:inline-block}.novo-data-table-cell .filter-button,.novo-data-table-header-cell .filter-button{color:var(--text-muted);background:transparent;pointer-events:all;margin-left:.5rem;line-height:1em;outline:none}.novo-data-table-cell .filter-button:hover,.novo-data-table-header-cell .filter-button:hover{color:var(--text-main)}.novo-data-table-cell .filter-button.filter-active,.novo-data-table-header-cell .filter-button.filter-active{color:var(--selection)}.novo-data-table-cell button.active,.novo-data-table-header-cell button.active{color:#fff;background:#4a89dc}.novo-data-table-cell button.active:hover,.novo-data-table-cell button.active:active,.novo-data-table-cell button.active:focus,.novo-data-table-cell button.active:visited,.novo-data-table-header-cell button.active:hover,.novo-data-table-header-cell button.active:active,.novo-data-table-header-cell button.active:focus,.novo-data-table-header-cell button.active:visited{background:#4a89dc!important}.novo-data-table-cell.clickable,.novo-data-table-header-cell.clickable{cursor:pointer;color:#39d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.novo-data-table-cell{display:flex;flex-direction:row;align-items:center}.novo-data-table-cell.dropdown-cell,.novo-data-table-cell.button-cell{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:0 5px}.novo-data-table-cell.dropdown-cell novo-dropdown button,.novo-data-table-cell.button-cell novo-dropdown button{padding:0 0 0 5px}.novo-data-table-cell.dropdown-cell novo-dropdown button:hover,.novo-data-table-cell.dropdown-cell novo-dropdown button:active,.novo-data-table-cell.dropdown-cell novo-dropdown button:focus,.novo-data-table-cell.button-cell novo-dropdown button:hover,.novo-data-table-cell.button-cell novo-dropdown button:active,.novo-data-table-cell.button-cell novo-dropdown button:focus{background:#0000001a!important}.novo-data-table-cell.button-cell{min-width:40px;max-width:40px}.novo-data-table-cell.dropdown-cell{min-width:98px;max-width:98px}.novo-data-table-cell.dropdown-cell.empty{min-width:39px;max-width:39px}.novo-data-table-cell i.data-table-icon{cursor:pointer;font-size:1.2em;padding:.5em;border-radius:3px}.novo-data-table-cell i.data-table-icon.disabled{pointer-events:none;opacity:.7}.novo-data-table-cell i.data-table-icon:hover{background:#0000001a}.novo-data-table-cell i.data-table-icon:active{background:#00000040}.novo-data-table-header-cell{white-space:normal;overflow-wrap:break-word;display:flex;align-items:center}.novo-data-table-header-cell+.button-header-cell,.novo-data-table-header-cell+.dropdown-header-cell{border-left:none}.novo-data-table-header-cell>label{display:inline-block;padding-right:10px;overflow:hidden;text-overflow:ellipsis}.novo-data-table-header-cell>label.sort-disabled{cursor:default}.novo-data-table-header-cell>div{width:55px;display:flex;align-items:center;flex:0}.novo-data-table-header-cell novo-dropdown[side=right]{display:inline-block}.novo-data-table-header-cell novo-dropdown[side=right]:focus{outline:none}.novo-data-table-header-cell.button-header-cell{min-width:40px;max-width:40px}.novo-data-table-header-cell.dropdown-header-cell{min-width:98px;max-width:98px}.novo-data-table-header-cell.dropdown-header-cell.empty{min-width:39px;max-width:39px}.novo-data-table-expand-header-cell,.novo-data-table-expand-cell{display:flex;align-items:center;justify-content:center;width:30px}.novo-data-table-expand-header-cell i,.novo-data-table-expand-cell i{cursor:pointer;transition:all .1s}.novo-data-table-expand-header-cell i.expanded,.novo-data-table-expand-cell i.expanded{transform:rotate(90deg)}.novo-data-table-checkbox-header-cell,.novo-data-table-checkbox-cell{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;max-width:40px;padding:0 10px}.novo-data-table-checkbox-header-cell div.data-table-checkbox,.novo-data-table-checkbox-cell div.data-table-checkbox{display:flex;cursor:pointer}.novo-data-table-checkbox-header-cell div.data-table-checkbox i,.novo-data-table-checkbox-cell div.data-table-checkbox i{cursor:pointer}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-box-empty,.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-disabled,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-box-empty,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-disabled{cursor:not-allowed!important}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-empty,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-empty{color:#d2d2d2}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-box-yes,.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-filled,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-box-yes,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-filled{color:#4a89dc}.novo-data-table-checkbox-header-cell input,.novo-data-table-checkbox-cell input{appearance:none!important;height:0!important;border:none!important}novo-data-table{position:relative;width:100%;display:flex;flex-direction:column;flex:1}novo-data-table.loading{min-height:300px}novo-data-table header{padding:5px;display:flex;align-items:center;flex-shrink:0;border-bottom:1px solid var(--border, #f7f7f7)}novo-data-table header.pagination-footer{justify-content:space-between}novo-data-table header.empty{padding:0}novo-data-table header>[novo-data-table-custom-header]{flex:1}novo-data-table header>novo-search{padding-right:10px;display:none}@media (min-width: 1000px){novo-data-table header>novo-search{display:flex}}novo-data-table header>novo-search>input{padding:8.5px;font-size:1.1em;height:35px}novo-data-table header>novo-search.active>button[theme=fab]{height:35px;min-height:35px}novo-data-table header>div.novo-data-table-actions{display:flex;align-items:center;justify-content:flex-end}novo-data-table header>div.novo-data-table-actions>*{margin-right:.2em}novo-data-table header>div.novo-data-table-actions>*:last-child{margin-right:0}novo-data-table header>div.novo-data-table-actions>div,novo-data-table header>div.novo-data-table-actions>section{display:flex;align-items:center}novo-data-table header>div.novo-data-table-actions>div button,novo-data-table header>div.novo-data-table-actions>section button{margin-left:3px;margin-bottom:0}novo-data-table header>div.novo-data-table-actions>div button[theme][theme=icon],novo-data-table header>div.novo-data-table-actions>section button[theme][theme=icon]{height:35px;width:35px;font-size:1.4em}novo-data-table header>div.novo-data-table-actions>div novo-dropdown button[theme],novo-data-table header>div.novo-data-table-actions>section novo-dropdown button[theme]{white-space:nowrap;padding:6px 5px 6px 15px!important}novo-data-table button[theme][theme=icon]{height:30px;width:30px;padding:5px}novo-data-table .novo-data-table-loading-mask{position:absolute;display:flex;padding-top:10%;justify-content:center;inset:0;background:#00000012;z-index:10}novo-data-table .novo-data-table-detail-row{padding:1em}novo-data-table .novo-data-table-empty-container{padding-top:0}novo-data-table .novo-data-table-no-results-container,novo-data-table .novo-data-table-no-more-results-container{position:absolute;top:48%;left:0;right:0;width:100%}novo-data-table .novo-data-table-empty-container,novo-data-table .novo-data-table-no-results-container,novo-data-table .novo-data-table-no-more-results-container{padding:2em;flex:1;display:flex;align-items:center;justify-content:center;color:#9e9e9e;z-index:5}novo-data-table .novo-data-table-outside-container{display:flex;flex:1}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter{border-right:1px solid var(--border, #f7f7f7)}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar{box-shadow:none}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar .date-range-tabs{height:51px}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar .calendar-footer{display:none}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter div.period-selector{padding:1em}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter div.period-selector .novo-form-control-label{display:block;max-width:100%;margin-bottom:1em}novo-data-table .novo-data-table-outside-container .novo-data-table-container{flex:1;overflow:auto;position:relative}novo-data-table .novo-data-table-outside-container .novo-data-table-container.empty{display:flex;flex:0}novo-data-table .novo-data-table-outside-container .novo-data-table-container.empty-user-filtered{display:flex;flex-flow:column nowrap;min-height:250px}novo-data-table .novo-data-table-outside-container-fixed{overflow:hidden;position:relative}novo-data-table .novo-data-table-outside-container-fixed .novo-data-table-container-fixed{position:absolute;width:100%;height:100%}novo-data-table .novo-data-table-footer{display:flex;align-items:center}novo-data-table .novo-data-table-footer>div,novo-data-table .novo-data-table-footer div.novo-data-table-footer-cell{border-top:1px solid var(--border, #f7f7f7);flex:1;min-width:200px;display:flex;align-items:center}novo-data-table .novo-data-table-footer>div:not(.button-cell):not(.dropdown-cell),novo-data-table .novo-data-table-footer div.novo-data-table-footer-cell:not(.button-cell):not(.dropdown-cell){padding:10px}.dropdown-container.data-table-dropdown{min-width:220px;max-width:280px;max-height:500px;overflow-x:hidden;overflow-y:hidden}.dropdown-container.data-table-dropdown.right{margin-left:-150px!important}.dropdown-container.data-table-dropdown .header{padding:5px 10px;display:flex;justify-content:space-between;align-items:center}.dropdown-container.data-table-dropdown .optgroup-container,.dropdown-container.data-table-dropdown .dropdown-list-options{max-height:346px;overflow-y:auto;overflow-x:hidden}.dropdown-container.data-table-dropdown .footer{border-top:1px solid var(--border, #f7f7f7);padding:5px 10px;display:flex;justify-content:flex-end;align-items:center}.dropdown-container.data-table-dropdown .footer button icon{font-size:.8em}.dropdown-container.data-table-dropdown list item.active{background:transparent;font-weight:500}.dropdown-container.data-table-dropdown button[theme][theme=dialogue][icon] i{padding:inherit;padding-left:5px;height:inherit;width:inherit;display:inline-block;line-height:inherit}.dropdown-container.data-table-dropdown .calendar-container{height:100%;min-height:200px;width:100%;background:#fff;padding:0!important}.dropdown-container.data-table-dropdown .calendar-container .back-link{color:#4a89dc;line-height:3em;font-size:.9em;padding-left:5px;cursor:pointer}.dropdown-container.data-table-dropdown .calendar-container novo-date-picker .calendar{width:100%;height:100%;box-shadow:none;padding:0 5px 10px}.dropdown-container.data-table-dropdown .calendar-container novo-date-picker .calendar .calendar-top{display:none}.dropdown-container.data-table-dropdown span.error-text{color:#da4453;position:relative;left:10px;top:-17px;font-size:x-small}.dropdown-container.data-table-dropdown .filter-null-results{background-color:#fff;text-align:center;color:#b5b5b5;background:transparent;font-weight:500}\n/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n"], dependencies: [{ kind: "component", type: i1.CdkTable, selector: "cdk-table, table[cdk-table]", inputs: ["trackBy", "dataSource", "multiTemplateDataRows", "fixedLayout"], outputs: ["contentChanged"], exportAs: ["cdkTable"] }, { kind: "directive", type: i1.CdkRowDef, selector: "[cdkRowDef]", inputs: ["cdkRowDefColumns", "cdkRowDefWhen"] }, { kind: "directive", type: i1.CdkCellDef, selector: "[cdkCellDef]" }, { kind: "directive", type: i1.CdkHeaderCellDef, selector: "[cdkHeaderCellDef]" }, { kind: "directive", type: i1.CdkColumnDef, selector: "[cdkColumnDef]", inputs: ["cdkColumnDef", "sticky", "stickyEnd"] }, { kind: "directive", type: i1.CdkHeaderRowDef, selector: "[cdkHeaderRowDef]", inputs: ["cdkHeaderRowDef", "cdkHeaderRowDefSticky"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.NovoIconComponent, selector: "novo-icon", inputs: ["raised", "theme", "shape", "color", "size", "smaller", "larger", "alt", "name"] }, { kind: "component", type: i3$1.NovoButtonElement, selector: "novo-button,button[theme]", inputs: ["color", "side", "size", "theme", "loading", "icon", "secondIcon", "disabled"] }, { kind: "component", type: i5$1.NovoDropdownElement, selector: "novo-dropdown", inputs: ["parentScrollSelector", "parentScrollAction", "containerClass", "side", "scrollStrategy", "keepOpen", "height", "width", "appendToBody", "multiple", "scrollToActiveItemOnOpen"], outputs: ["toggled"] }, { kind: "directive", type: i9$1.NovoDragBoxParent, selector: "[novoDragDrop]", inputs: ["novoDragDrop", "novoDragDropFilter", "novoDragDropDisableScroll"], outputs: ["novoDragDropFinish"] }, { kind: "component", type: i6$1.NovoLoadingElement, selector: "novo-loading", inputs: ["theme", "color", "size"] }, { kind: "component", type: i11$1.NovoSearchBoxElement, selector: "novo-search", inputs: ["name", "icon", "position", "placeholder", "alwaysOpen", "theme", "color", "closeOnSelect", "displayField", "displayValue", "hint", "keepOpen", "hasBackdrop", "allowPropagation", "overrideElement"], outputs: ["searchChanged", "applySearch"] }, { kind: "component", type: i11.NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }, { kind: "component", type: i11.NovoOptgroup, selector: "novo-optgroup", inputs: ["disabled", "label"], exportAs: ["novoOptgroup"] }, { kind: "directive", type: i11.NovoTemplate, selector: "[novoTemplate]", inputs: ["type", "novoTemplate"] }, { kind: "directive", type: i11.ThemeColorDirective, selector: "[theme]", inputs: ["theme"] }, { kind: "directive", type: i12.TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltipPosition", "tooltipType", "tooltipSize", "tooltipBounce", "tooltipNoAnimate", "tooltipRounded", "tooltipAlways", "tooltipPreline", "removeTooltipArrow", "tooltipAutoPosition", "tooltipIsHTML", "tooltipCloseOnClick", "tooltipOnOverflow", "tooltipActive"] }, { kind: "directive", type: i14$1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: NovoDataTableCellHeader, selector: "[novo-data-table-cell-config]", inputs: ["defaultSort", "allowMultipleFilters", "resized", "filterTemplate", "novo-data-table-cell-config"], outputs: ["toggledFilter"] }, { kind: "directive", type: NovoDataTableSortFilter, selector: "[novoDataTableSortFilter]" }, { kind: "directive", type: NovoDataTableHeaderCell, selector: "novo-data-table-header-cell", inputs: ["column"] }, { kind: "component", type: NovoDataTableCell, selector: "novo-data-table-cell", inputs: ["row", "template", "column", "resized"] }, { kind: "component", type: NovoDataTableHeaderRow, selector: "novo-data-table-header-row", inputs: ["fixedHeader"] }, { kind: "component", type: NovoDataTableRow, selector: "novo-data-table-row", inputs: ["id", "dataAutomationId"] }, { kind: "component", type: NovoDataTablePagination, selector: "novo-data-table-pagination", inputs: ["theme", "page", "pageSize", "dataFeatureId", "pageSizeOptions", "canSelectAll", "allMatchingSelected", "loading", "errorLoading", "paginationRefreshSubject", "showPaginationTotalRecordCount", "length"], outputs: ["pageChange"] }, { kind: "component", type: NovoDataTableCheckboxCell, selector: "novo-data-table-checkbox-cell", inputs: ["row", "maxSelected"] }, { kind: "component", type: NovoDataTableCheckboxHeaderCell, selector: "novo-data-table-checkbox-header-cell", inputs: ["maxSelected"] }, { kind: "component", type: NovoDataTableExpandCell, selector: "novo-data-table-expand-cell", inputs: ["row"] }, { kind: "component", type: NovoDataTableExpandHeaderCell, selector: "novo-data-table-expand-header-cell" }, { kind: "directive", type: NovoDataTableExpandDirective, selector: "[novoDataTableExpand]", inputs: ["row", "novoDataTableExpand"] }, { kind: "pipe", type: DataTableInterpolatePipe, name: "dataTableInterpolate" }, { kind: "pipe", type: DateTableDateRendererPipe, name: "dataTableDateRenderer" }, { kind: "pipe", type: DateTableCurrencyRendererPipe, name: "dataTableCurrencyRenderer" }, { kind: "pipe", type: DateTableDateTimeRendererPipe, name: "dataTableDateTimeRenderer" }, { kind: "pipe", type: DateTableNumberRendererPipe, name: "dataTableNumberRenderer" }, { kind: "pipe", type: DateTableTimeRendererPipe, name: "dataTableTimeRenderer" }, { kind: "pipe", type: DataTableBigDecimalRendererPipe, name: "dataTableBigDecimalRenderer" }], animations: [
|
|
3155
2932
|
trigger('expand', [
|
|
3156
2933
|
state('void', style({ height: '0px', minHeight: '0', visibility: 'hidden' })),
|
|
3157
2934
|
state('*', style({ height: '*', visibility: 'visible' })),
|
|
@@ -3159,6 +2936,10 @@ class NovoDataTable {
|
|
|
3159
2936
|
]),
|
|
3160
2937
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
3161
2938
|
}
|
|
2939
|
+
__decorate([
|
|
2940
|
+
BooleanInput(),
|
|
2941
|
+
__metadata("design:type", Object)
|
|
2942
|
+
], NovoDataTable.prototype, "enableColumnDragging", void 0);
|
|
3162
2943
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: NovoDataTable, decorators: [{
|
|
3163
2944
|
type: Component,
|
|
3164
2945
|
args: [{ selector: 'novo-data-table', animations: [
|
|
@@ -3167,263 +2948,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
3167
2948
|
state('*', style({ height: '*', visibility: 'visible' })),
|
|
3168
2949
|
transition('void <=> *', animate('70ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
|
|
3169
2950
|
]),
|
|
3170
|
-
], template: `
|
|
3171
|
-
<header
|
|
3172
|
-
*ngIf="(!(empty && !state.userFiltered) && !loading) || forceShowHeader"
|
|
3173
|
-
[class.empty]="hideGlobalSearch && !paginationOptions && !templates['customActions']"
|
|
3174
|
-
[ngClass]="{ 'pagination-footer': paginationOptions?.onFooter }"
|
|
3175
|
-
>
|
|
3176
|
-
<ng-container *ngTemplateOutlet="templates['customHeader']"></ng-container>
|
|
3177
|
-
<novo-search
|
|
3178
|
-
alwaysOpen="true"
|
|
3179
|
-
(searchChanged)="onSearchChange($event)"
|
|
3180
|
-
[(ngModel)]="state.globalSearch"
|
|
3181
|
-
*ngIf="!hideGlobalSearch"
|
|
3182
|
-
[placeholder]="searchOptions?.placeholder"
|
|
3183
|
-
[hint]="searchOptions?.tooltip"
|
|
3184
|
-
>
|
|
3185
|
-
</novo-search>
|
|
3186
|
-
<!-- Updates to novo-data-table-pagination here need to be applied to the footer as well -->
|
|
3187
|
-
<novo-data-table-pagination
|
|
3188
|
-
*ngIf="paginationOptions && !paginationOptions.onFooter"
|
|
3189
|
-
[theme]="paginationOptions.theme"
|
|
3190
|
-
[length]="useOverrideTotal ? overrideTotal : dataSource?.currentTotal"
|
|
3191
|
-
[page]="paginationOptions.page"
|
|
3192
|
-
[pageSize]="paginationOptions.pageSize"
|
|
3193
|
-
[pageSizeOptions]="paginationOptions.pageSizeOptions"
|
|
3194
|
-
[dataFeatureId]="paginatorDataFeatureId"
|
|
3195
|
-
[canSelectAll]="canSelectAll"
|
|
3196
|
-
[allMatchingSelected]="allMatchingSelected"
|
|
3197
|
-
[loading]="paginationOptions.loading"
|
|
3198
|
-
[errorLoading]="paginationOptions.errorLoading"
|
|
3199
|
-
[paginationRefreshSubject]="paginationRefreshSubject"
|
|
3200
|
-
>
|
|
3201
|
-
</novo-data-table-pagination>
|
|
3202
|
-
<div class="novo-data-table-actions" *ngIf="templates['customActions']">
|
|
3203
|
-
<ng-container *ngTemplateOutlet="templates['customActions']"></ng-container>
|
|
3204
|
-
</div>
|
|
3205
|
-
</header>
|
|
3206
|
-
<div class="novo-data-table-loading-mask" *ngIf="dataSource?.loading || loading" data-automation-id="novo-data-table-loading">
|
|
3207
|
-
<novo-loading></novo-loading>
|
|
3208
|
-
</div>
|
|
3209
|
-
<div class="novo-data-table-outside-container" [ngClass]="{ 'novo-data-table-outside-container-fixed': fixedHeader }">
|
|
3210
|
-
<div class="novo-data-table-custom-filter" *ngIf="customFilter">
|
|
3211
|
-
<ng-container *ngTemplateOutlet="templates['customFilter']"></ng-container>
|
|
3212
|
-
</div>
|
|
3213
|
-
<div
|
|
3214
|
-
#novoDataTableContainer
|
|
3215
|
-
cdkScrollable
|
|
3216
|
-
class="novo-data-table-container"
|
|
3217
|
-
[ngClass]="{ 'novo-data-table-container-fixed': fixedHeader }"
|
|
3218
|
-
[class.empty-user-filtered]="dataSource?.currentlyEmpty && state.userFiltered"
|
|
3219
|
-
[class.empty]="empty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine"
|
|
3220
|
-
>
|
|
3221
|
-
<cdk-table
|
|
3222
|
-
*ngIf="columns?.length > 0 && columnsLoaded && dataSource"
|
|
3223
|
-
[dataSource]="dataSource"
|
|
3224
|
-
[trackBy]="trackByFn"
|
|
3225
|
-
novoDataTableSortFilter
|
|
3226
|
-
[class.expandable]="expandable"
|
|
3227
|
-
[class.empty]="dataSource?.currentlyEmpty && state.userFiltered"
|
|
3228
|
-
[hidden]="empty && !state.userFiltered"
|
|
3229
|
-
>
|
|
3230
|
-
<ng-container cdkColumnDef="selection">
|
|
3231
|
-
<novo-data-table-checkbox-header-cell *cdkHeaderCellDef [maxSelected]="maxSelected"></novo-data-table-checkbox-header-cell>
|
|
3232
|
-
<novo-data-table-checkbox-cell
|
|
3233
|
-
*cdkCellDef="let row; let i = index"
|
|
3234
|
-
[row]="row"
|
|
3235
|
-
[maxSelected]="maxSelected"
|
|
3236
|
-
></novo-data-table-checkbox-cell>
|
|
3237
|
-
</ng-container>
|
|
3238
|
-
<ng-container cdkColumnDef="expand">
|
|
3239
|
-
<novo-data-table-expand-header-cell *cdkHeaderCellDef></novo-data-table-expand-header-cell>
|
|
3240
|
-
<novo-data-table-expand-cell *cdkCellDef="let row; let i = index" [row]="row"></novo-data-table-expand-cell>
|
|
3241
|
-
</ng-container>
|
|
3242
|
-
<ng-container *ngFor="let column of columns; trackBy: trackColumnsBy" [cdkColumnDef]="column.id">
|
|
3243
|
-
<novo-data-table-header-cell
|
|
3244
|
-
*cdkHeaderCellDef
|
|
3245
|
-
[column]="column"
|
|
3246
|
-
[filterTemplate]="templates['column-filter-' + (column.filterable?.customTemplate || column.id)]"
|
|
3247
|
-
(toggledFilter)="toggledFilter.next($event)"
|
|
3248
|
-
[novo-data-table-cell-config]="column"
|
|
3249
|
-
[resized]="resized"
|
|
3250
|
-
[defaultSort]="defaultSort"
|
|
3251
|
-
[allowMultipleFilters]="allowMultipleFilters"
|
|
3252
|
-
[class.empty]="column?.type === 'action' && !column?.label"
|
|
3253
|
-
[class.button-header-cell]="column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)"
|
|
3254
|
-
[class.dropdown-header-cell]="column?.type === 'action' && column?.action?.options"
|
|
3255
|
-
[class.fixed-header]="fixedHeader"
|
|
3256
|
-
></novo-data-table-header-cell>
|
|
3257
|
-
<novo-data-table-cell
|
|
3258
|
-
*cdkCellDef="let row"
|
|
3259
|
-
[resized]="resized"
|
|
3260
|
-
[column]="column"
|
|
3261
|
-
[row]="row"
|
|
3262
|
-
[template]="columnToTemplate[column.id]"
|
|
3263
|
-
[class.empty]="column?.type === 'action' && !column?.label"
|
|
3264
|
-
[class.button-cell]="column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)"
|
|
3265
|
-
[class.dropdown-cell]="column?.type === 'action' && column?.action?.options"
|
|
3266
|
-
></novo-data-table-cell>
|
|
3267
|
-
</ng-container>
|
|
3268
|
-
<novo-data-table-header-row
|
|
3269
|
-
*cdkHeaderRowDef="displayedColumns"
|
|
3270
|
-
[fixedHeader]="fixedHeader"
|
|
3271
|
-
data-automation-id="novo-data-table-header-row"
|
|
3272
|
-
></novo-data-table-header-row>
|
|
3273
|
-
<novo-data-table-row
|
|
3274
|
-
*cdkRowDef="let row; columns: displayedColumns"
|
|
3275
|
-
[ngClass]="{ active: row[rowIdentifier] == activeRowIdentifier }"
|
|
3276
|
-
[novoDataTableExpand]="detailRowTemplate"
|
|
3277
|
-
[row]="row"
|
|
3278
|
-
[id]="name + '-' + row[rowIdentifier]"
|
|
3279
|
-
[dataAutomationId]="row[rowIdentifier]"
|
|
3280
|
-
></novo-data-table-row>
|
|
3281
|
-
</cdk-table>
|
|
3282
|
-
<div class="novo-data-table-footer" *ngIf="templates['footer']">
|
|
3283
|
-
<ng-container *ngTemplateOutlet="templates['footer']; context: { $implicit: columns, data: dataSource.data }"></ng-container>
|
|
3284
|
-
</div>
|
|
3285
|
-
<div
|
|
3286
|
-
class="novo-data-table-no-results-container"
|
|
3287
|
-
[style.left.px]="scrollLeft"
|
|
3288
|
-
*ngIf="dataSource?.currentlyEmpty && state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine"
|
|
3289
|
-
>
|
|
3290
|
-
<div class="novo-data-table-empty-message">
|
|
3291
|
-
<ng-container *ngTemplateOutlet="templates['noResultsMessage'] || templates['defaultNoResultsMessage']"></ng-container>
|
|
3292
|
-
</div>
|
|
3293
|
-
</div>
|
|
3294
|
-
<div
|
|
3295
|
-
class="novo-data-table-no-more-results-container"
|
|
3296
|
-
[style.left.px]="scrollLeft"
|
|
3297
|
-
*ngIf="!empty && dataSource?.currentlyEmpty && !state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine"
|
|
3298
|
-
>
|
|
3299
|
-
<div class="novo-data-table-empty-message">
|
|
3300
|
-
<ng-container *ngTemplateOutlet="templates['noMoreResultsMessage'] || templates['defaultNoMoreResultsMessage']"></ng-container>
|
|
3301
|
-
</div>
|
|
3302
|
-
</div>
|
|
3303
|
-
</div>
|
|
3304
|
-
<div
|
|
3305
|
-
class="novo-data-table-empty-container"
|
|
3306
|
-
*ngIf="empty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine"
|
|
3307
|
-
>
|
|
3308
|
-
<div class="novo-data-table-empty-message">
|
|
3309
|
-
<ng-container *ngTemplateOutlet="templates['emptyMessage'] || templates['defaultNoResultsMessage']"></ng-container>
|
|
3310
|
-
</div>
|
|
3311
|
-
</div>
|
|
3312
|
-
</div>
|
|
3313
|
-
<!-- DEFAULT CELL TEMPLATE -->
|
|
3314
|
-
<ng-template novoTemplate="textCellTemplate" let-row let-col="col">
|
|
3315
|
-
<span [style.width.px]="col?.width" [style.min-width.px]="col?.width" [style.max-width.px]="col?.width">{{
|
|
3316
|
-
row[col.id] | dataTableInterpolate: col
|
|
3317
|
-
}}</span>
|
|
3318
|
-
</ng-template>
|
|
3319
|
-
<ng-template novoTemplate="dateCellTemplate" let-row let-col="col">
|
|
3320
|
-
<span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateRenderer: col }}</span>
|
|
3321
|
-
</ng-template>
|
|
3322
|
-
<ng-template novoTemplate="datetimeCellTemplate" let-row let-col="col">
|
|
3323
|
-
<span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateTimeRenderer: col }}</span>
|
|
3324
|
-
</ng-template>
|
|
3325
|
-
<ng-template novoTemplate="timeCellTemplate" let-row let-col="col">
|
|
3326
|
-
<span>{{ row[col.id] | dataTableInterpolate: col | dataTableTimeRenderer: col }}</span>
|
|
3327
|
-
</ng-template>
|
|
3328
|
-
<ng-template novoTemplate="currencyCellTemplate" let-row let-col="col">
|
|
3329
|
-
<span>{{ row[col.id] | dataTableInterpolate: col | dataTableCurrencyRenderer: col }}</span>
|
|
3330
|
-
</ng-template>
|
|
3331
|
-
<ng-template novoTemplate="bigdecimalCellTemplate" let-row let-col="col">
|
|
3332
|
-
<span>{{ row[col.id] | dataTableInterpolate: col | dataTableBigDecimalRenderer: col }}</span>
|
|
3333
|
-
</ng-template>
|
|
3334
|
-
<ng-template novoTemplate="numberCellTemplate" let-row let-col="col">
|
|
3335
|
-
<span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col }}</span>
|
|
3336
|
-
</ng-template>
|
|
3337
|
-
<ng-template novoTemplate="percentCellTemplate" let-row let-col="col">
|
|
3338
|
-
<span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col:true }}</span>
|
|
3339
|
-
</ng-template>
|
|
3340
|
-
<ng-template novoTemplate="linkCellTemplate" let-row let-col="col">
|
|
3341
|
-
<a
|
|
3342
|
-
[attr.data-feature-id]="col?.attributes?.dataFeatureId"
|
|
3343
|
-
(click)="col.handlers?.click({ originalEvent: $event, row: row })"
|
|
3344
|
-
[style.width.px]="col?.width"
|
|
3345
|
-
[style.min-width.px]="col?.width"
|
|
3346
|
-
[style.max-width.px]="col?.width"
|
|
3347
|
-
>{{ row[col.id] | dataTableInterpolate: col }}</a
|
|
3348
|
-
>
|
|
3349
|
-
</ng-template>
|
|
3350
|
-
<ng-template novoTemplate="telCellTemplate" let-row let-col="col">
|
|
3351
|
-
<a href="tel:{{ row[col.id] | dataTableInterpolate: col }}" [target]="col?.attributes?.target">{{
|
|
3352
|
-
row[col.id] | dataTableInterpolate: col
|
|
3353
|
-
}}</a>
|
|
3354
|
-
</ng-template>
|
|
3355
|
-
<ng-template novoTemplate="mailtoCellTemplate" let-row let-col="col">
|
|
3356
|
-
<a href="mailto:{{ row[col.id] | dataTableInterpolate: col }}" [target]="col?.attributes?.target">{{
|
|
3357
|
-
row[col.id] | dataTableInterpolate: col
|
|
3358
|
-
}}</a>
|
|
3359
|
-
</ng-template>
|
|
3360
|
-
<ng-template novoTemplate="buttonCellTemplate" let-row let-col="col">
|
|
3361
|
-
<novo-button
|
|
3362
|
-
size="small"
|
|
3363
|
-
theme="icon"
|
|
3364
|
-
[tooltip]="col?.action?.tooltip"
|
|
3365
|
-
tooltipPosition="right"
|
|
3366
|
-
[attr.data-feature-id]="col?.attributes?.dataFeatureId"
|
|
3367
|
-
[disabled]="isDisabled(col, row)"
|
|
3368
|
-
(click)="col.handlers?.click({ originalEvent: $event, row: row })"
|
|
3369
|
-
>
|
|
3370
|
-
<novo-icon>{{ col?.action?.icon }}</novo-icon>
|
|
3371
|
-
</novo-button>
|
|
3372
|
-
</ng-template>
|
|
3373
|
-
<ng-template novoTemplate="dropdownCellTemplate" let-row let-col="col">
|
|
3374
|
-
<novo-dropdown parentScrollSelector=".novo-data-table-container" containerClass="novo-data-table-dropdown">
|
|
3375
|
-
<novo-button type="button" theme="dialogue" [icon]="col.action.icon" inverse>{{ col.label }}</novo-button>
|
|
3376
|
-
<novo-optgroup>
|
|
3377
|
-
<novo-option
|
|
3378
|
-
*ngFor="let option of col?.action?.options"
|
|
3379
|
-
(click)="option.handlers.click({ originalEvent: $event?.originalEvent, row: row })"
|
|
3380
|
-
[disabled]="isDisabled(option, row)"
|
|
3381
|
-
>
|
|
3382
|
-
<span [attr.data-automation-id]="option.label">{{ option.label }}</span>
|
|
3383
|
-
</novo-option>
|
|
3384
|
-
</novo-optgroup>
|
|
3385
|
-
</novo-dropdown>
|
|
3386
|
-
</ng-template>
|
|
3387
|
-
<ng-template novoTemplate="defaultNoResultsMessage">
|
|
3388
|
-
<h4><i class="bhi-search-question"></i> {{ labels.noMatchingRecordsMessage }}</h4>
|
|
3389
|
-
</ng-template>
|
|
3390
|
-
<ng-template novoTemplate="defaultNoMoreResultsMessage">
|
|
3391
|
-
<h4><i class="bhi-search-question"></i> {{ labels.noMoreRecordsMessage }}</h4>
|
|
3392
|
-
</ng-template>
|
|
3393
|
-
<ng-template novoTemplate="defaultEmptyMessage">
|
|
3394
|
-
<h4><i class="bhi-search-question"></i> {{ labels.emptyTableMessage }}</h4>
|
|
3395
|
-
</ng-template>
|
|
3396
|
-
<ng-template novoTemplate="expandedRow"> You did not provide an "expandedRow" template! </ng-template>
|
|
3397
|
-
<ng-template #detailRowTemplate let-row>
|
|
3398
|
-
<div class="novo-data-table-detail-row" [@expand] style="overflow: hidden">
|
|
3399
|
-
<ng-container *ngTemplateOutlet="templates['expandedRow']; context: { $implicit: row }"></ng-container>
|
|
3400
|
-
</div>
|
|
3401
|
-
</ng-template>
|
|
3402
|
-
<!-- CUSTOM CELLS PASSED IN -->
|
|
3403
|
-
<footer
|
|
3404
|
-
*ngIf="paginationOptions?.onFooter && ((!(empty && !state.userFiltered) && !loading) || forceShowHeader)"
|
|
3405
|
-
[class.empty]="!paginationOptions"
|
|
3406
|
-
>
|
|
3407
|
-
<!-- Updates to novo-data-table-pagination here need to be applied to the header as well -->
|
|
3408
|
-
<novo-data-table-pagination
|
|
3409
|
-
*ngIf="paginationOptions?.onFooter"
|
|
3410
|
-
[theme]="paginationOptions.theme"
|
|
3411
|
-
[length]="useOverrideTotal ? overrideTotal : dataSource?.currentTotal"
|
|
3412
|
-
[page]="paginationOptions.page"
|
|
3413
|
-
[pageSize]="paginationOptions.pageSize"
|
|
3414
|
-
[pageSizeOptions]="paginationOptions.pageSizeOptions"
|
|
3415
|
-
[dataFeatureId]="paginatorDataFeatureId"
|
|
3416
|
-
[canSelectAll]="canSelectAll"
|
|
3417
|
-
[allMatchingSelected]="allMatchingSelected"
|
|
3418
|
-
[loading]="paginationOptions.loading"
|
|
3419
|
-
[errorLoading]="paginationOptions.errorLoading"
|
|
3420
|
-
[paginationRefreshSubject]="paginationRefreshSubject"
|
|
3421
|
-
[showPaginationTotalRecordCount]="true"
|
|
3422
|
-
>
|
|
3423
|
-
</novo-data-table-pagination>
|
|
3424
|
-
</footer>
|
|
3425
|
-
<ng-content></ng-content>
|
|
3426
|
-
`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DataTableState, { provide: NOVO_DATA_TABLE_REF, useExisting: NovoDataTable }], standalone: false, styles: ["html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:var(--font-family-mono, \"monospace\");font-size:1em}a,novo-data-table .clickable{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:var(--font-family-mono, \"monospace\");font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none!important}cdk-table{display:block;flex:1}cdk-table.expandable{width:fit-content;min-width:100%}cdk-table.empty{min-height:62px;max-height:62px}cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-checkbox-cell{background-color:var(--background-muted, #f4f4f4)}cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-checkbox-cell{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(odd).active+.novo-data-table-detail-row{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(odd)+.novo-data-table-detail-row{background-color:var(--background-muted, #f4f4f4)}cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-checkbox-cell{background-color:var(--background-body, #ffffff)}cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-checkbox-cell{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(2n).active+.novo-data-table-detail-row{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(2n)+.novo-data-table-detail-row{background-color:var(--background-body, #ffffff)}.novo-data-table-cell-align-right{text-align:right;justify-content:flex-end;overflow:hidden;text-overflow:clip}.novo-data-table-header-row,.novo-data-table-header-cell{position:relative;z-index:1}.novo-data-table-header-row.fixed-header,.novo-data-table-header-cell.fixed-header{position:sticky;top:0}.novo-data-table-row,.novo-data-table-header-row{display:flex;flex-direction:row;flex-wrap:nowrap;background-color:var(--background-body, #ffffff)}.novo-data-table-row .novo-data-table-header-cell,.novo-data-table-row .novo-data-table-checkbox-header-cell,.novo-data-table-header-row .novo-data-table-header-cell,.novo-data-table-header-row .novo-data-table-checkbox-header-cell{background-color:var(--background-body, #ffffff)}.novo-data-table-row.expanded i.bhi-next.data-table-icon,.novo-data-table-header-row.expanded i.bhi-next.data-table-icon{cursor:pointer;transition:all .1s}.novo-data-table-row.expanded i.bhi-next.data-table-icon.expanded,.novo-data-table-header-row.expanded i.bhi-next.data-table-icon.expanded{transform:rotate(90deg)}.novo-data-table-header-cell.resizable{padding-right:0}.novo-data-table-header-cell.resizable:hover{background-color:var(--background-muted, #4f5361)}.novo-data-table-header-cell.resizable .data-table-header-resizable{height:100%}.novo-data-table-header-cell.resizable .data-table-header-resizable span{cursor:ew-resize;background-color:var(--border, #4f5361);width:1px;margin:0 4px;display:block}.novo-data-table-header-cell>div>button{margin-right:2px}.novo-data-table-header-cell>div.spacer{flex-grow:100}.novo-data-table-clear-button button{min-width:80px!important}.novo-data-table-cell,.novo-data-table-header-cell{min-width:200px;padding:9px;flex:1;line-height:1.1em}.novo-data-table-cell>i.label-icon,.novo-data-table-header-cell>i.label-icon{margin-right:.5em}.novo-data-table-cell>span,.novo-data-table-header-cell>span{display:block;min-width:180px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.novo-data-table-cell novo-dropdown,.novo-data-table-header-cell novo-dropdown{display:inline-block}.novo-data-table-cell .filter-button,.novo-data-table-header-cell .filter-button{color:var(--text-muted);background:transparent;pointer-events:all;margin-left:.5rem;line-height:1em;outline:none}.novo-data-table-cell .filter-button:hover,.novo-data-table-header-cell .filter-button:hover{color:var(--text-main)}.novo-data-table-cell .filter-button.filter-active,.novo-data-table-header-cell .filter-button.filter-active{color:var(--selection)}.novo-data-table-cell button.active,.novo-data-table-header-cell button.active{color:#fff;background:#4a89dc}.novo-data-table-cell button.active:hover,.novo-data-table-cell button.active:active,.novo-data-table-cell button.active:focus,.novo-data-table-cell button.active:visited,.novo-data-table-header-cell button.active:hover,.novo-data-table-header-cell button.active:active,.novo-data-table-header-cell button.active:focus,.novo-data-table-header-cell button.active:visited{background:#4a89dc!important}.novo-data-table-cell.clickable,.novo-data-table-header-cell.clickable{cursor:pointer;color:#39d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.novo-data-table-cell{display:flex;flex-direction:row;align-items:center}.novo-data-table-cell.dropdown-cell,.novo-data-table-cell.button-cell{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:0 5px}.novo-data-table-cell.dropdown-cell novo-dropdown button,.novo-data-table-cell.button-cell novo-dropdown button{padding:0 0 0 5px}.novo-data-table-cell.dropdown-cell novo-dropdown button:hover,.novo-data-table-cell.dropdown-cell novo-dropdown button:active,.novo-data-table-cell.dropdown-cell novo-dropdown button:focus,.novo-data-table-cell.button-cell novo-dropdown button:hover,.novo-data-table-cell.button-cell novo-dropdown button:active,.novo-data-table-cell.button-cell novo-dropdown button:focus{background:#0000001a!important}.novo-data-table-cell.button-cell{min-width:40px;max-width:40px}.novo-data-table-cell.dropdown-cell{min-width:98px;max-width:98px}.novo-data-table-cell.dropdown-cell.empty{min-width:39px;max-width:39px}.novo-data-table-cell i.data-table-icon{cursor:pointer;font-size:1.2em;padding:.5em;border-radius:3px}.novo-data-table-cell i.data-table-icon.disabled{pointer-events:none;opacity:.7}.novo-data-table-cell i.data-table-icon:hover{background:#0000001a}.novo-data-table-cell i.data-table-icon:active{background:#00000040}.novo-data-table-header-cell{white-space:normal;overflow-wrap:break-word;display:flex;align-items:center}.novo-data-table-header-cell+.button-header-cell,.novo-data-table-header-cell+.dropdown-header-cell{border-left:none}.novo-data-table-header-cell>label{display:inline-block;padding-right:10px;overflow:hidden;text-overflow:ellipsis}.novo-data-table-header-cell>label.sort-disabled{cursor:default}.novo-data-table-header-cell>div{width:55px;display:flex;align-items:center;flex:0}.novo-data-table-header-cell novo-dropdown[side=right]{display:inline-block}.novo-data-table-header-cell novo-dropdown[side=right]:focus{outline:none}.novo-data-table-header-cell.button-header-cell{min-width:40px;max-width:40px}.novo-data-table-header-cell.dropdown-header-cell{min-width:98px;max-width:98px}.novo-data-table-header-cell.dropdown-header-cell.empty{min-width:39px;max-width:39px}.novo-data-table-expand-header-cell,.novo-data-table-expand-cell{display:flex;align-items:center;justify-content:center;width:30px}.novo-data-table-expand-header-cell i,.novo-data-table-expand-cell i{cursor:pointer;transition:all .1s}.novo-data-table-expand-header-cell i.expanded,.novo-data-table-expand-cell i.expanded{transform:rotate(90deg)}.novo-data-table-checkbox-header-cell,.novo-data-table-checkbox-cell{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;max-width:40px;padding:0 10px}.novo-data-table-checkbox-header-cell div.data-table-checkbox,.novo-data-table-checkbox-cell div.data-table-checkbox{display:flex;cursor:pointer}.novo-data-table-checkbox-header-cell div.data-table-checkbox i,.novo-data-table-checkbox-cell div.data-table-checkbox i{cursor:pointer}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-box-empty,.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-disabled,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-box-empty,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-disabled{cursor:not-allowed!important}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-empty,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-empty{color:#d2d2d2}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-box-yes,.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-filled,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-box-yes,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-filled{color:#4a89dc}.novo-data-table-checkbox-header-cell input,.novo-data-table-checkbox-cell input{appearance:none!important;height:0!important;border:none!important}novo-data-table{position:relative;width:100%;display:flex;flex-direction:column;flex:1}novo-data-table.loading{min-height:300px}novo-data-table header{padding:5px;display:flex;align-items:center;flex-shrink:0;border-bottom:1px solid var(--border, #f7f7f7)}novo-data-table header.pagination-footer{justify-content:space-between}novo-data-table header.empty{padding:0}novo-data-table header>[novo-data-table-custom-header]{flex:1}novo-data-table header>novo-search{padding-right:10px;display:none}@media (min-width: 1000px){novo-data-table header>novo-search{display:flex}}novo-data-table header>novo-search>input{padding:8.5px;font-size:1.1em;height:35px}novo-data-table header>novo-search.active>button[theme=fab]{height:35px;min-height:35px}novo-data-table header>div.novo-data-table-actions{display:flex;align-items:center;justify-content:flex-end}novo-data-table header>div.novo-data-table-actions>*{margin-right:.2em}novo-data-table header>div.novo-data-table-actions>*:last-child{margin-right:0}novo-data-table header>div.novo-data-table-actions>div,novo-data-table header>div.novo-data-table-actions>section{display:flex;align-items:center}novo-data-table header>div.novo-data-table-actions>div button,novo-data-table header>div.novo-data-table-actions>section button{margin-left:3px;margin-bottom:0}novo-data-table header>div.novo-data-table-actions>div button[theme][theme=icon],novo-data-table header>div.novo-data-table-actions>section button[theme][theme=icon]{height:35px;width:35px;font-size:1.4em}novo-data-table header>div.novo-data-table-actions>div novo-dropdown button[theme],novo-data-table header>div.novo-data-table-actions>section novo-dropdown button[theme]{white-space:nowrap;padding:6px 5px 6px 15px!important}novo-data-table button[theme][theme=icon]{height:30px;width:30px;padding:5px}novo-data-table .novo-data-table-loading-mask{position:absolute;display:flex;padding-top:10%;justify-content:center;inset:0;background:#00000012;z-index:10}novo-data-table .novo-data-table-detail-row{padding:1em}novo-data-table .novo-data-table-empty-container{padding-top:0}novo-data-table .novo-data-table-no-results-container,novo-data-table .novo-data-table-no-more-results-container{position:absolute;top:48%;left:0;right:0;width:100%}novo-data-table .novo-data-table-empty-container,novo-data-table .novo-data-table-no-results-container,novo-data-table .novo-data-table-no-more-results-container{padding:2em;flex:1;display:flex;align-items:center;justify-content:center;color:#9e9e9e;z-index:5}novo-data-table .novo-data-table-outside-container{display:flex;flex:1}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter{border-right:1px solid var(--border, #f7f7f7)}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar{box-shadow:none}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar .date-range-tabs{height:51px}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar .calendar-footer{display:none}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter div.period-selector{padding:1em}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter div.period-selector .novo-form-control-label{display:block;max-width:100%;margin-bottom:1em}novo-data-table .novo-data-table-outside-container .novo-data-table-container{flex:1;overflow:auto;position:relative}novo-data-table .novo-data-table-outside-container .novo-data-table-container.empty{display:flex;flex:0}novo-data-table .novo-data-table-outside-container .novo-data-table-container.empty-user-filtered{display:flex;flex-flow:column nowrap;min-height:250px}novo-data-table .novo-data-table-outside-container-fixed{overflow:hidden;position:relative}novo-data-table .novo-data-table-outside-container-fixed .novo-data-table-container-fixed{position:absolute;width:100%;height:100%}novo-data-table .novo-data-table-footer{display:flex;align-items:center}novo-data-table .novo-data-table-footer>div,novo-data-table .novo-data-table-footer div.novo-data-table-footer-cell{border-top:1px solid var(--border, #f7f7f7);flex:1;min-width:200px;display:flex;align-items:center}novo-data-table .novo-data-table-footer>div:not(.button-cell):not(.dropdown-cell),novo-data-table .novo-data-table-footer div.novo-data-table-footer-cell:not(.button-cell):not(.dropdown-cell){padding:10px}.dropdown-container.data-table-dropdown{min-width:220px;max-width:280px;max-height:500px;overflow-x:hidden;overflow-y:hidden}.dropdown-container.data-table-dropdown.right{margin-left:-150px!important}.dropdown-container.data-table-dropdown .header{padding:5px 10px;display:flex;justify-content:space-between;align-items:center}.dropdown-container.data-table-dropdown .optgroup-container,.dropdown-container.data-table-dropdown .dropdown-list-options{max-height:346px;overflow-y:auto;overflow-x:hidden}.dropdown-container.data-table-dropdown .footer{border-top:1px solid var(--border, #f7f7f7);padding:5px 10px;display:flex;justify-content:flex-end;align-items:center}.dropdown-container.data-table-dropdown .footer button icon{font-size:.8em}.dropdown-container.data-table-dropdown list item.active{background:transparent;font-weight:500}.dropdown-container.data-table-dropdown button[theme][theme=dialogue][icon] i{padding:inherit;padding-left:5px;height:inherit;width:inherit;display:inline-block;line-height:inherit}.dropdown-container.data-table-dropdown .calendar-container{height:100%;min-height:200px;width:100%;background:#fff;padding:0!important}.dropdown-container.data-table-dropdown .calendar-container .back-link{color:#4a89dc;line-height:3em;font-size:.9em;padding-left:5px;cursor:pointer}.dropdown-container.data-table-dropdown .calendar-container novo-date-picker .calendar{width:100%;height:100%;box-shadow:none;padding:0 5px 10px}.dropdown-container.data-table-dropdown .calendar-container novo-date-picker .calendar .calendar-top{display:none}.dropdown-container.data-table-dropdown span.error-text{color:#da4453;position:relative;left:10px;top:-17px;font-size:x-small}.dropdown-container.data-table-dropdown .filter-null-results{background-color:#fff;text-align:center;color:#b5b5b5;background:transparent;font-weight:500}\n/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n"] }]
|
|
2951
|
+
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DataTableState, { provide: NOVO_DATA_TABLE_REF, useExisting: NovoDataTable }], standalone: false, template: "<header\n *ngIf=\"(!(empty && !state.userFiltered) && !loading) || forceShowHeader\"\n [class.empty]=\"hideGlobalSearch && !paginationOptions && !templates['customActions']\"\n [ngClass]=\"{ 'pagination-footer': paginationOptions?.onFooter }\"\n>\n <ng-container *ngTemplateOutlet=\"templates['customHeader']\"></ng-container>\n <novo-search\n alwaysOpen=\"true\"\n (searchChanged)=\"onSearchChange($event)\"\n [(ngModel)]=\"state.globalSearch\"\n *ngIf=\"!hideGlobalSearch\"\n [placeholder]=\"searchOptions?.placeholder\"\n [hint]=\"searchOptions?.tooltip\"\n >\n </novo-search>\n <!-- Updates to novo-data-table-pagination here need to be applied to the footer as well -->\n <novo-data-table-pagination\n *ngIf=\"paginationOptions && !paginationOptions.onFooter\"\n [theme]=\"paginationOptions.theme\"\n [length]=\"useOverrideTotal ? overrideTotal : dataSource?.currentTotal\"\n [page]=\"paginationOptions.page\"\n [pageSize]=\"paginationOptions.pageSize\"\n [pageSizeOptions]=\"paginationOptions.pageSizeOptions\"\n [dataFeatureId]=\"paginatorDataFeatureId\"\n [canSelectAll]=\"canSelectAll\"\n [allMatchingSelected]=\"allMatchingSelected\"\n [loading]=\"paginationOptions.loading\"\n [errorLoading]=\"paginationOptions.errorLoading\"\n [paginationRefreshSubject]=\"paginationRefreshSubject\"\n >\n </novo-data-table-pagination>\n <div class=\"novo-data-table-actions\" *ngIf=\"templates['customActions']\">\n <ng-container *ngTemplateOutlet=\"templates['customActions']\"></ng-container>\n </div>\n</header>\n<div class=\"novo-data-table-loading-mask\" *ngIf=\"dataSource?.loading || loading\" data-automation-id=\"novo-data-table-loading\">\n <novo-loading></novo-loading>\n</div>\n<div class=\"novo-data-table-outside-container\" [ngClass]=\"{ 'novo-data-table-outside-container-fixed': fixedHeader }\">\n <div class=\"novo-data-table-custom-filter\" *ngIf=\"customFilter\">\n <ng-container *ngTemplateOutlet=\"templates['customFilter']\"></ng-container>\n </div>\n <div\n #novoDataTableContainer\n cdkScrollable\n class=\"novo-data-table-container\"\n [ngClass]=\"{ 'novo-data-table-container-fixed': fixedHeader }\"\n [class.empty-user-filtered]=\"dataSource?.currentlyEmpty && state.userFiltered\"\n [class.empty]=\"empty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine\"\n >\n <cdk-table\n *ngIf=\"columns?.length > 0 && columnsLoaded && dataSource\"\n [dataSource]=\"dataSource\"\n [trackBy]=\"trackByFn\"\n novoDataTableSortFilter\n [class.expandable]=\"expandable\"\n [class.empty]=\"dataSource?.currentlyEmpty && state.userFiltered\"\n [hidden]=\"empty && !state.userFiltered\"\n >\n <ng-container cdkColumnDef=\"selection\">\n <novo-data-table-checkbox-header-cell *cdkHeaderCellDef [maxSelected]=\"maxSelected\"></novo-data-table-checkbox-header-cell>\n <novo-data-table-checkbox-cell\n *cdkCellDef=\"let row; let i = index\"\n [row]=\"row\"\n [maxSelected]=\"maxSelected\"\n ></novo-data-table-checkbox-cell>\n </ng-container>\n <ng-container cdkColumnDef=\"expand\">\n <novo-data-table-expand-header-cell *cdkHeaderCellDef></novo-data-table-expand-header-cell>\n <novo-data-table-expand-cell *cdkCellDef=\"let row; let i = index\" [row]=\"row\"></novo-data-table-expand-cell>\n </ng-container>\n <ng-container *ngFor=\"let column of columns; trackBy: trackColumnsBy\" [cdkColumnDef]=\"column.id\">\n <novo-data-table-header-cell\n *cdkHeaderCellDef\n [column]=\"column\"\n [filterTemplate]=\"templates['column-filter-' + (column.filterable?.customTemplate || column.id)]\"\n (toggledFilter)=\"toggledFilter.next($event)\"\n [novo-data-table-cell-config]=\"column\"\n [resized]=\"resized\"\n [defaultSort]=\"defaultSort\"\n [allowMultipleFilters]=\"allowMultipleFilters\"\n [class.empty]=\"column?.type === 'action' && !column?.label\"\n [class.button-header-cell]=\"column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)\"\n [class.dropdown-header-cell]=\"column?.type === 'action' && column?.action?.options\"\n [class.fixed-header]=\"fixedHeader\"\n ></novo-data-table-header-cell>\n <novo-data-table-cell\n *cdkCellDef=\"let row\"\n [resized]=\"resized\"\n [column]=\"column\"\n [row]=\"row\"\n [template]=\"columnToTemplate[column.id]\"\n [class.empty]=\"column?.type === 'action' && !column?.label\"\n [class.button-cell]=\"column?.type === 'expand' || (column?.type === 'action' && !column?.action?.options)\"\n [class.dropdown-cell]=\"column?.type === 'action' && column?.action?.options\"\n ></novo-data-table-cell>\n </ng-container>\n <novo-data-table-header-row\n *cdkHeaderRowDef=\"displayedColumns\"\n [novoDragDrop]=\"enableColumnDragging ? displayedColumns : undefined\"\n [novoDragDropFilter]=\"columnDragFilter\"\n (novoDragDropFinish)=\"columnDragged($event)\"\n [fixedHeader]=\"fixedHeader\"\n data-automation-id=\"novo-data-table-header-row\"\n ></novo-data-table-header-row>\n <novo-data-table-row\n *cdkRowDef=\"let row; columns: displayedColumns\"\n [ngClass]=\"{ active: row[rowIdentifier] == activeRowIdentifier }\"\n [novoDataTableExpand]=\"detailRowTemplate\"\n [row]=\"row\"\n [id]=\"name + '-' + row[rowIdentifier]\"\n [dataAutomationId]=\"row[rowIdentifier]\"\n ></novo-data-table-row>\n </cdk-table>\n <div class=\"novo-data-table-footer\" *ngIf=\"templates['footer']\">\n <ng-container *ngTemplateOutlet=\"templates['footer']; context: { $implicit: columns, data: dataSource.data }\"></ng-container>\n </div>\n <div\n class=\"novo-data-table-no-results-container\"\n [style.left.px]=\"scrollLeft\"\n *ngIf=\"dataSource?.currentlyEmpty && state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine\"\n >\n <div class=\"novo-data-table-empty-message\">\n <ng-container *ngTemplateOutlet=\"templates['noResultsMessage'] || templates['defaultNoResultsMessage']\"></ng-container>\n </div>\n </div>\n <div\n class=\"novo-data-table-no-more-results-container\"\n [style.left.px]=\"scrollLeft\"\n *ngIf=\"!empty && dataSource?.currentlyEmpty && !state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine\"\n >\n <div class=\"novo-data-table-empty-message\">\n <ng-container *ngTemplateOutlet=\"templates['noMoreResultsMessage'] || templates['defaultNoMoreResultsMessage']\"></ng-container>\n </div>\n </div>\n </div>\n <div\n class=\"novo-data-table-empty-container\"\n *ngIf=\"empty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine\"\n >\n <div class=\"novo-data-table-empty-message\">\n <ng-container *ngTemplateOutlet=\"templates['emptyMessage'] || templates['defaultNoResultsMessage']\"></ng-container>\n </div>\n </div>\n</div>\n<!-- DEFAULT CELL TEMPLATE -->\n<ng-template novoTemplate=\"textCellTemplate\" let-row let-col=\"col\">\n <span [style.width.px]=\"col?.width\" [style.min-width.px]=\"col?.width\" [style.max-width.px]=\"col?.width\">{{\n row[col.id] | dataTableInterpolate: col\n }}</span>\n</ng-template>\n<ng-template novoTemplate=\"dateCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"datetimeCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableDateTimeRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"timeCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableTimeRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"currencyCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableCurrencyRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"bigdecimalCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableBigDecimalRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"numberCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col }}</span>\n</ng-template>\n<ng-template novoTemplate=\"percentCellTemplate\" let-row let-col=\"col\">\n <span>{{ row[col.id] | dataTableInterpolate: col | dataTableNumberRenderer: col:true }}</span>\n</ng-template>\n<ng-template novoTemplate=\"linkCellTemplate\" let-row let-col=\"col\">\n <a\n [attr.data-feature-id]=\"col?.attributes?.dataFeatureId\"\n (click)=\"col.handlers?.click({ originalEvent: $event, row: row })\"\n [style.width.px]=\"col?.width\"\n [style.min-width.px]=\"col?.width\"\n [style.max-width.px]=\"col?.width\"\n >{{ row[col.id] | dataTableInterpolate: col }}</a\n >\n</ng-template>\n<ng-template novoTemplate=\"telCellTemplate\" let-row let-col=\"col\">\n <a href=\"tel:{{ row[col.id] | dataTableInterpolate: col }}\" [target]=\"col?.attributes?.target\">{{\n row[col.id] | dataTableInterpolate: col\n }}</a>\n</ng-template>\n<ng-template novoTemplate=\"mailtoCellTemplate\" let-row let-col=\"col\">\n <a href=\"mailto:{{ row[col.id] | dataTableInterpolate: col }}\" [target]=\"col?.attributes?.target\">{{\n row[col.id] | dataTableInterpolate: col\n }}</a>\n</ng-template>\n<ng-template novoTemplate=\"buttonCellTemplate\" let-row let-col=\"col\">\n <novo-button\n size=\"small\"\n theme=\"icon\"\n [tooltip]=\"col?.action?.tooltip\"\n tooltipPosition=\"right\"\n [attr.data-feature-id]=\"col?.attributes?.dataFeatureId\"\n [disabled]=\"isDisabled(col, row)\"\n (click)=\"col.handlers?.click({ originalEvent: $event, row: row })\"\n >\n <novo-icon>{{ col?.action?.icon }}</novo-icon>\n </novo-button>\n</ng-template>\n<ng-template novoTemplate=\"dropdownCellTemplate\" let-row let-col=\"col\">\n <novo-dropdown parentScrollSelector=\".novo-data-table-container\" containerClass=\"novo-data-table-dropdown\">\n <novo-button type=\"button\" theme=\"dialogue\" [icon]=\"col.action.icon\" inverse>{{ col.label }}</novo-button>\n <novo-optgroup>\n <novo-option\n *ngFor=\"let option of col?.action?.options\"\n (click)=\"option.handlers.click({ originalEvent: $event?.originalEvent, row: row })\"\n [disabled]=\"isDisabled(option, row)\"\n >\n <span [attr.data-automation-id]=\"option.label\">{{ option.label }}</span>\n </novo-option>\n </novo-optgroup>\n </novo-dropdown>\n</ng-template>\n<ng-template novoTemplate=\"defaultNoResultsMessage\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.noMatchingRecordsMessage }}</h4>\n</ng-template>\n<ng-template novoTemplate=\"defaultNoMoreResultsMessage\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.noMoreRecordsMessage }}</h4>\n</ng-template>\n<ng-template novoTemplate=\"defaultEmptyMessage\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.emptyTableMessage }}</h4>\n</ng-template>\n<ng-template novoTemplate=\"expandedRow\"> You did not provide an \"expandedRow\" template! </ng-template>\n<ng-template #detailRowTemplate let-row>\n <div class=\"novo-data-table-detail-row\" [@expand] style=\"overflow: hidden\">\n <ng-container *ngTemplateOutlet=\"templates['expandedRow']; context: { $implicit: row }\"></ng-container>\n </div>\n</ng-template>\n<!-- CUSTOM CELLS PASSED IN -->\n<footer\n *ngIf=\"paginationOptions?.onFooter && ((!(empty && !state.userFiltered) && !loading) || forceShowHeader)\"\n [class.empty]=\"!paginationOptions\"\n>\n <!-- Updates to novo-data-table-pagination here need to be applied to the header as well -->\n <novo-data-table-pagination\n *ngIf=\"paginationOptions?.onFooter\"\n [theme]=\"paginationOptions.theme\"\n [length]=\"useOverrideTotal ? overrideTotal : dataSource?.currentTotal\"\n [page]=\"paginationOptions.page\"\n [pageSize]=\"paginationOptions.pageSize\"\n [pageSizeOptions]=\"paginationOptions.pageSizeOptions\"\n [dataFeatureId]=\"paginatorDataFeatureId\"\n [canSelectAll]=\"canSelectAll\"\n [allMatchingSelected]=\"allMatchingSelected\"\n [loading]=\"paginationOptions.loading\"\n [errorLoading]=\"paginationOptions.errorLoading\"\n [paginationRefreshSubject]=\"paginationRefreshSubject\"\n [showPaginationTotalRecordCount]=\"true\"\n >\n </novo-data-table-pagination>\n</footer>\n<ng-content></ng-content>", styles: ["html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:var(--font-family-mono, \"monospace\");font-size:1em}a,novo-data-table .clickable{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:var(--font-family-mono, \"monospace\");font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none!important}cdk-table{display:block;flex:1}cdk-table.expandable{width:fit-content;min-width:100%}cdk-table.empty{min-height:62px;max-height:62px}cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(odd) .novo-data-table-checkbox-cell{background-color:var(--background-muted, #f4f4f4)}cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(odd).active .novo-data-table-checkbox-cell{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(odd).active+.novo-data-table-detail-row{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(odd)+.novo-data-table-detail-row{background-color:var(--background-muted, #f4f4f4)}cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(2n) .novo-data-table-checkbox-cell{background-color:var(--background-body, #ffffff)}cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-button-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-dropdown-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-expand-cell,cdk-table>.novo-data-table-row:nth-of-type(2n).active .novo-data-table-checkbox-cell{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(2n).active+.novo-data-table-detail-row{background-color:#4a89dc26}cdk-table>.novo-data-table-row:nth-of-type(2n)+.novo-data-table-detail-row{background-color:var(--background-body, #ffffff)}.novo-data-table-cell-align-right{text-align:right;justify-content:flex-end;overflow:hidden;text-overflow:clip}.novo-data-table-header-row,.novo-data-table-header-cell{position:relative;z-index:1}.novo-data-table-header-row.fixed-header,.novo-data-table-header-cell.fixed-header{position:sticky;top:0}.novo-data-table-row,.novo-data-table-header-row{display:flex;flex-direction:row;flex-wrap:nowrap;background-color:var(--background-body, #ffffff)}.novo-data-table-row .novo-data-table-header-cell,.novo-data-table-row .novo-data-table-checkbox-header-cell,.novo-data-table-header-row .novo-data-table-header-cell,.novo-data-table-header-row .novo-data-table-checkbox-header-cell{background-color:var(--background-body, #ffffff)}.novo-data-table-row.expanded i.bhi-next.data-table-icon,.novo-data-table-header-row.expanded i.bhi-next.data-table-icon{cursor:pointer;transition:all .1s}.novo-data-table-row.expanded i.bhi-next.data-table-icon.expanded,.novo-data-table-header-row.expanded i.bhi-next.data-table-icon.expanded{transform:rotate(90deg)}.novo-data-table-header-cell.resizable{padding-right:0}.novo-data-table-header-cell.resizable:hover{background-color:var(--background-muted, #4f5361)}.novo-data-table-header-cell.resizable .data-table-header-resizable{height:100%}.novo-data-table-header-cell.resizable .data-table-header-resizable span{cursor:ew-resize;background-color:var(--border, #4f5361);width:1px;margin:0 4px;display:block}.novo-data-table-header-cell>div>button{margin-right:2px}.novo-data-table-header-cell>div.spacer{flex-grow:100}.novo-data-table-header-cell[draggable=true] label{cursor:grab;-webkit-user-select:none;user-select:none}.novo-data-table-clear-button button{min-width:80px!important}.novo-data-table-cell,.novo-data-table-header-cell{min-width:200px;padding:9px;flex:1;line-height:1.1em}.novo-data-table-cell>i.label-icon,.novo-data-table-header-cell>i.label-icon{margin-right:.5em}.novo-data-table-cell>span,.novo-data-table-header-cell>span{display:block;min-width:180px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.novo-data-table-cell novo-dropdown,.novo-data-table-header-cell novo-dropdown{display:inline-block}.novo-data-table-cell .filter-button,.novo-data-table-header-cell .filter-button{color:var(--text-muted);background:transparent;pointer-events:all;margin-left:.5rem;line-height:1em;outline:none}.novo-data-table-cell .filter-button:hover,.novo-data-table-header-cell .filter-button:hover{color:var(--text-main)}.novo-data-table-cell .filter-button.filter-active,.novo-data-table-header-cell .filter-button.filter-active{color:var(--selection)}.novo-data-table-cell button.active,.novo-data-table-header-cell button.active{color:#fff;background:#4a89dc}.novo-data-table-cell button.active:hover,.novo-data-table-cell button.active:active,.novo-data-table-cell button.active:focus,.novo-data-table-cell button.active:visited,.novo-data-table-header-cell button.active:hover,.novo-data-table-header-cell button.active:active,.novo-data-table-header-cell button.active:focus,.novo-data-table-header-cell button.active:visited{background:#4a89dc!important}.novo-data-table-cell.clickable,.novo-data-table-header-cell.clickable{cursor:pointer;color:#39d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.novo-data-table-cell{display:flex;flex-direction:row;align-items:center}.novo-data-table-cell.dropdown-cell,.novo-data-table-cell.button-cell{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:0 5px}.novo-data-table-cell.dropdown-cell novo-dropdown button,.novo-data-table-cell.button-cell novo-dropdown button{padding:0 0 0 5px}.novo-data-table-cell.dropdown-cell novo-dropdown button:hover,.novo-data-table-cell.dropdown-cell novo-dropdown button:active,.novo-data-table-cell.dropdown-cell novo-dropdown button:focus,.novo-data-table-cell.button-cell novo-dropdown button:hover,.novo-data-table-cell.button-cell novo-dropdown button:active,.novo-data-table-cell.button-cell novo-dropdown button:focus{background:#0000001a!important}.novo-data-table-cell.button-cell{min-width:40px;max-width:40px}.novo-data-table-cell.dropdown-cell{min-width:98px;max-width:98px}.novo-data-table-cell.dropdown-cell.empty{min-width:39px;max-width:39px}.novo-data-table-cell i.data-table-icon{cursor:pointer;font-size:1.2em;padding:.5em;border-radius:3px}.novo-data-table-cell i.data-table-icon.disabled{pointer-events:none;opacity:.7}.novo-data-table-cell i.data-table-icon:hover{background:#0000001a}.novo-data-table-cell i.data-table-icon:active{background:#00000040}.novo-data-table-header-cell{white-space:normal;overflow-wrap:break-word;display:flex;align-items:center}.novo-data-table-header-cell+.button-header-cell,.novo-data-table-header-cell+.dropdown-header-cell{border-left:none}.novo-data-table-header-cell>label{display:inline-block;padding-right:10px;overflow:hidden;text-overflow:ellipsis}.novo-data-table-header-cell>label.sort-disabled{cursor:default}.novo-data-table-header-cell>div{width:55px;display:flex;align-items:center;flex:0}.novo-data-table-header-cell novo-dropdown[side=right]{display:inline-block}.novo-data-table-header-cell novo-dropdown[side=right]:focus{outline:none}.novo-data-table-header-cell.button-header-cell{min-width:40px;max-width:40px}.novo-data-table-header-cell.dropdown-header-cell{min-width:98px;max-width:98px}.novo-data-table-header-cell.dropdown-header-cell.empty{min-width:39px;max-width:39px}.novo-data-table-expand-header-cell,.novo-data-table-expand-cell{display:flex;align-items:center;justify-content:center;width:30px}.novo-data-table-expand-header-cell i,.novo-data-table-expand-cell i{cursor:pointer;transition:all .1s}.novo-data-table-expand-header-cell i.expanded,.novo-data-table-expand-cell i.expanded{transform:rotate(90deg)}.novo-data-table-checkbox-header-cell,.novo-data-table-checkbox-cell{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;max-width:40px;padding:0 10px}.novo-data-table-checkbox-header-cell div.data-table-checkbox,.novo-data-table-checkbox-cell div.data-table-checkbox{display:flex;cursor:pointer}.novo-data-table-checkbox-header-cell div.data-table-checkbox i,.novo-data-table-checkbox-cell div.data-table-checkbox i{cursor:pointer}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-box-empty,.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-disabled,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-box-empty,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-disabled{cursor:not-allowed!important}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-empty,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-empty{color:#d2d2d2}.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-box-yes,.novo-data-table-checkbox-header-cell div.data-table-checkbox i.bhi-checkbox-filled,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-box-yes,.novo-data-table-checkbox-cell div.data-table-checkbox i.bhi-checkbox-filled{color:#4a89dc}.novo-data-table-checkbox-header-cell input,.novo-data-table-checkbox-cell input{appearance:none!important;height:0!important;border:none!important}novo-data-table{position:relative;width:100%;display:flex;flex-direction:column;flex:1}novo-data-table.loading{min-height:300px}novo-data-table header{padding:5px;display:flex;align-items:center;flex-shrink:0;border-bottom:1px solid var(--border, #f7f7f7)}novo-data-table header.pagination-footer{justify-content:space-between}novo-data-table header.empty{padding:0}novo-data-table header>[novo-data-table-custom-header]{flex:1}novo-data-table header>novo-search{padding-right:10px;display:none}@media (min-width: 1000px){novo-data-table header>novo-search{display:flex}}novo-data-table header>novo-search>input{padding:8.5px;font-size:1.1em;height:35px}novo-data-table header>novo-search.active>button[theme=fab]{height:35px;min-height:35px}novo-data-table header>div.novo-data-table-actions{display:flex;align-items:center;justify-content:flex-end}novo-data-table header>div.novo-data-table-actions>*{margin-right:.2em}novo-data-table header>div.novo-data-table-actions>*:last-child{margin-right:0}novo-data-table header>div.novo-data-table-actions>div,novo-data-table header>div.novo-data-table-actions>section{display:flex;align-items:center}novo-data-table header>div.novo-data-table-actions>div button,novo-data-table header>div.novo-data-table-actions>section button{margin-left:3px;margin-bottom:0}novo-data-table header>div.novo-data-table-actions>div button[theme][theme=icon],novo-data-table header>div.novo-data-table-actions>section button[theme][theme=icon]{height:35px;width:35px;font-size:1.4em}novo-data-table header>div.novo-data-table-actions>div novo-dropdown button[theme],novo-data-table header>div.novo-data-table-actions>section novo-dropdown button[theme]{white-space:nowrap;padding:6px 5px 6px 15px!important}novo-data-table button[theme][theme=icon]{height:30px;width:30px;padding:5px}novo-data-table .novo-data-table-loading-mask{position:absolute;display:flex;padding-top:10%;justify-content:center;inset:0;background:#00000012;z-index:10}novo-data-table .novo-data-table-detail-row{padding:1em}novo-data-table .novo-data-table-empty-container{padding-top:0}novo-data-table .novo-data-table-no-results-container,novo-data-table .novo-data-table-no-more-results-container{position:absolute;top:48%;left:0;right:0;width:100%}novo-data-table .novo-data-table-empty-container,novo-data-table .novo-data-table-no-results-container,novo-data-table .novo-data-table-no-more-results-container{padding:2em;flex:1;display:flex;align-items:center;justify-content:center;color:#9e9e9e;z-index:5}novo-data-table .novo-data-table-outside-container{display:flex;flex:1}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter{border-right:1px solid var(--border, #f7f7f7)}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar{box-shadow:none}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar .date-range-tabs{height:51px}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter novo-date-picker .calendar .calendar-footer{display:none}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter div.period-selector{padding:1em}novo-data-table .novo-data-table-outside-container .novo-data-table-custom-filter div.period-selector .novo-form-control-label{display:block;max-width:100%;margin-bottom:1em}novo-data-table .novo-data-table-outside-container .novo-data-table-container{flex:1;overflow:auto;position:relative}novo-data-table .novo-data-table-outside-container .novo-data-table-container.empty{display:flex;flex:0}novo-data-table .novo-data-table-outside-container .novo-data-table-container.empty-user-filtered{display:flex;flex-flow:column nowrap;min-height:250px}novo-data-table .novo-data-table-outside-container-fixed{overflow:hidden;position:relative}novo-data-table .novo-data-table-outside-container-fixed .novo-data-table-container-fixed{position:absolute;width:100%;height:100%}novo-data-table .novo-data-table-footer{display:flex;align-items:center}novo-data-table .novo-data-table-footer>div,novo-data-table .novo-data-table-footer div.novo-data-table-footer-cell{border-top:1px solid var(--border, #f7f7f7);flex:1;min-width:200px;display:flex;align-items:center}novo-data-table .novo-data-table-footer>div:not(.button-cell):not(.dropdown-cell),novo-data-table .novo-data-table-footer div.novo-data-table-footer-cell:not(.button-cell):not(.dropdown-cell){padding:10px}.dropdown-container.data-table-dropdown{min-width:220px;max-width:280px;max-height:500px;overflow-x:hidden;overflow-y:hidden}.dropdown-container.data-table-dropdown.right{margin-left:-150px!important}.dropdown-container.data-table-dropdown .header{padding:5px 10px;display:flex;justify-content:space-between;align-items:center}.dropdown-container.data-table-dropdown .optgroup-container,.dropdown-container.data-table-dropdown .dropdown-list-options{max-height:346px;overflow-y:auto;overflow-x:hidden}.dropdown-container.data-table-dropdown .footer{border-top:1px solid var(--border, #f7f7f7);padding:5px 10px;display:flex;justify-content:flex-end;align-items:center}.dropdown-container.data-table-dropdown .footer button icon{font-size:.8em}.dropdown-container.data-table-dropdown list item.active{background:transparent;font-weight:500}.dropdown-container.data-table-dropdown button[theme][theme=dialogue][icon] i{padding:inherit;padding-left:5px;height:inherit;width:inherit;display:inline-block;line-height:inherit}.dropdown-container.data-table-dropdown .calendar-container{height:100%;min-height:200px;width:100%;background:#fff;padding:0!important}.dropdown-container.data-table-dropdown .calendar-container .back-link{color:#4a89dc;line-height:3em;font-size:.9em;padding-left:5px;cursor:pointer}.dropdown-container.data-table-dropdown .calendar-container novo-date-picker .calendar{width:100%;height:100%;box-shadow:none;padding:0 5px 10px}.dropdown-container.data-table-dropdown .calendar-container novo-date-picker .calendar .calendar-top{display:none}.dropdown-container.data-table-dropdown span.error-text{color:#da4453;position:relative;left:10px;top:-17px;font-size:x-small}.dropdown-container.data-table-dropdown .filter-null-results{background-color:#fff;text-align:center;color:#b5b5b5;background:transparent;font-weight:500}\n/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n"] }]
|
|
3427
2952
|
}], ctorParameters: () => [{ type: i1$1.NovoLabelService }, { type: i0.ChangeDetectorRef }, { type: DataTableState }], propDecorators: { globalSearchHiddenClassToggle: [{
|
|
3428
2953
|
type: HostBinding,
|
|
3429
2954
|
args: ['class.global-search-hidden']
|
|
@@ -3477,6 +3002,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
3477
3002
|
type: Input
|
|
3478
3003
|
}], paginationRefreshSubject: [{
|
|
3479
3004
|
type: Input
|
|
3005
|
+
}], enableColumnDragging: [{
|
|
3006
|
+
type: Input
|
|
3480
3007
|
}], dataTableService: [{
|
|
3481
3008
|
type: Input
|
|
3482
3009
|
}], rows: [{
|
|
@@ -3542,6 +3069,7 @@ class NovoDataTableModule {
|
|
|
3542
3069
|
NovoIconModule,
|
|
3543
3070
|
NovoButtonModule,
|
|
3544
3071
|
NovoDropdownModule,
|
|
3072
|
+
NovoDragDropModule,
|
|
3545
3073
|
NovoFormExtrasModule,
|
|
3546
3074
|
NovoLoadingModule,
|
|
3547
3075
|
NovoTilesModule,
|
|
@@ -3571,6 +3099,7 @@ class NovoDataTableModule {
|
|
|
3571
3099
|
NovoIconModule,
|
|
3572
3100
|
NovoButtonModule,
|
|
3573
3101
|
NovoDropdownModule,
|
|
3102
|
+
NovoDragDropModule,
|
|
3574
3103
|
NovoFormExtrasModule,
|
|
3575
3104
|
NovoLoadingModule,
|
|
3576
3105
|
NovoTilesModule,
|
|
@@ -3595,6 +3124,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
3595
3124
|
NovoIconModule,
|
|
3596
3125
|
NovoButtonModule,
|
|
3597
3126
|
NovoDropdownModule,
|
|
3127
|
+
NovoDragDropModule,
|
|
3598
3128
|
NovoFormExtrasModule,
|
|
3599
3129
|
NovoLoadingModule,
|
|
3600
3130
|
NovoTilesModule,
|