@ng-nest/ui 21.0.9 → 21.0.11
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/fesm2022/ng-nest-ui-affix.mjs +10 -10
- package/fesm2022/ng-nest-ui-alert.mjs +10 -10
- package/fesm2022/ng-nest-ui-anchor.mjs +16 -16
- package/fesm2022/ng-nest-ui-api.mjs +7 -7
- package/fesm2022/ng-nest-ui-attachments.mjs +16 -16
- package/fesm2022/ng-nest-ui-auto-complete.mjs +14 -14
- package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-avatar.mjs +16 -16
- package/fesm2022/ng-nest-ui-back-top.mjs +10 -10
- package/fesm2022/ng-nest-ui-badge.mjs +10 -10
- package/fesm2022/ng-nest-ui-base-form.mjs +32 -52
- package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-bubble.mjs +16 -16
- package/fesm2022/ng-nest-ui-button.mjs +16 -16
- package/fesm2022/ng-nest-ui-calendar.mjs +10 -10
- package/fesm2022/ng-nest-ui-card.mjs +10 -10
- package/fesm2022/ng-nest-ui-carousel.mjs +16 -16
- package/fesm2022/ng-nest-ui-cascade.mjs +14 -14
- package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-checkbox.mjs +10 -10
- package/fesm2022/ng-nest-ui-collapse.mjs +16 -16
- package/fesm2022/ng-nest-ui-color-picker.mjs +17 -17
- package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color.mjs +10 -10
- package/fesm2022/ng-nest-ui-comment.mjs +16 -16
- package/fesm2022/ng-nest-ui-container.mjs +31 -31
- package/fesm2022/ng-nest-ui-core.mjs +20 -20
- package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-coversations.mjs +10 -10
- package/fesm2022/ng-nest-ui-crumb.mjs +10 -10
- package/fesm2022/ng-nest-ui-date-picker.mjs +51 -51
- package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-description.mjs +16 -16
- package/fesm2022/ng-nest-ui-dialog.mjs +42 -40
- package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-divider.mjs +124 -0
- package/fesm2022/ng-nest-ui-divider.mjs.map +1 -0
- package/fesm2022/ng-nest-ui-doc.mjs +7 -7
- package/fesm2022/ng-nest-ui-drag.mjs +10 -10
- package/fesm2022/ng-nest-ui-drawer.mjs +31 -31
- package/fesm2022/ng-nest-ui-dropdown.mjs +13 -13
- package/fesm2022/ng-nest-ui-empty.mjs +10 -10
- package/fesm2022/ng-nest-ui-examples.mjs +7 -7
- package/fesm2022/ng-nest-ui-find.mjs +10 -10
- package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-form.mjs +23 -28
- package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-highlight.mjs +13 -13
- package/fesm2022/ng-nest-ui-i18n.mjs +13 -13
- package/fesm2022/ng-nest-ui-icon.mjs +13 -13
- package/fesm2022/ng-nest-ui-image.mjs +100 -61
- package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-inner.mjs +10 -10
- package/fesm2022/ng-nest-ui-input-number.mjs +11 -11
- package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input.mjs +24 -21
- package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-keyword.mjs +10 -10
- package/fesm2022/ng-nest-ui-layout.mjs +16 -16
- package/fesm2022/ng-nest-ui-link.mjs +10 -10
- package/fesm2022/ng-nest-ui-list.mjs +19 -19
- package/fesm2022/ng-nest-ui-loading.mjs +10 -10
- package/fesm2022/ng-nest-ui-menu.mjs +16 -16
- package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
- package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message.mjs +10 -10
- package/fesm2022/ng-nest-ui-notification.mjs +10 -10
- package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
- package/fesm2022/ng-nest-ui-page-header.mjs +10 -10
- package/fesm2022/ng-nest-ui-pagination.mjs +10 -10
- package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
- package/fesm2022/ng-nest-ui-popconfirm.mjs +10 -10
- package/fesm2022/ng-nest-ui-popover.mjs +13 -13
- package/fesm2022/ng-nest-ui-portal.mjs +7 -7
- package/fesm2022/ng-nest-ui-progress.mjs +10 -10
- package/fesm2022/ng-nest-ui-prompts.mjs +10 -10
- package/fesm2022/ng-nest-ui-radio.mjs +10 -10
- package/fesm2022/ng-nest-ui-rate.mjs +10 -10
- package/fesm2022/ng-nest-ui-resizable.mjs +10 -10
- package/fesm2022/ng-nest-ui-result.mjs +10 -10
- package/fesm2022/ng-nest-ui-ripple.mjs +10 -10
- package/fesm2022/ng-nest-ui-scrollable.mjs +7 -7
- package/fesm2022/ng-nest-ui-select.mjs +15 -15
- package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-sender.mjs +14 -14
- package/fesm2022/ng-nest-ui-sender.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-skeleton.mjs +10 -10
- package/fesm2022/ng-nest-ui-slider-select.mjs +10 -10
- package/fesm2022/ng-nest-ui-slider.mjs +10 -10
- package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
- package/fesm2022/ng-nest-ui-steps.mjs +10 -10
- package/fesm2022/ng-nest-ui-suggestion.mjs +10 -10
- package/fesm2022/ng-nest-ui-switch.mjs +10 -10
- package/fesm2022/ng-nest-ui-table-view.mjs +58 -63
- package/fesm2022/ng-nest-ui-table-view.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table.mjs +34 -34
- package/fesm2022/ng-nest-ui-tabs.mjs +25 -25
- package/fesm2022/ng-nest-ui-tag.mjs +10 -10
- package/fesm2022/ng-nest-ui-text-retract.mjs +10 -10
- package/fesm2022/ng-nest-ui-textarea.mjs +11 -11
- package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-theme.mjs +10 -10
- package/fesm2022/ng-nest-ui-thought-chain.mjs +10 -10
- package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
- package/fesm2022/ng-nest-ui-time-picker.mjs +47 -36
- package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
- package/fesm2022/ng-nest-ui-timeline.mjs +10 -10
- package/fesm2022/ng-nest-ui-tooltip.mjs +13 -13
- package/fesm2022/ng-nest-ui-transfer.mjs +10 -10
- package/fesm2022/ng-nest-ui-tree-file.mjs +10 -10
- package/fesm2022/ng-nest-ui-tree-select.mjs +14 -14
- package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree.mjs +19 -19
- package/fesm2022/ng-nest-ui-typography.mjs +10 -10
- package/fesm2022/ng-nest-ui-upload.mjs +19 -19
- package/fesm2022/ng-nest-ui-welcome.mjs +10 -10
- package/fesm2022/ng-nest-ui.mjs +1 -0
- package/fesm2022/ng-nest-ui.mjs.map +1 -1
- package/package.json +5 -2
- package/types/ng-nest-ui-attachments.d.ts +4 -5
- package/types/ng-nest-ui-auto-complete.d.ts +8 -9
- package/types/ng-nest-ui-base-form.d.ts +8 -9
- package/types/ng-nest-ui-cascade.d.ts +8 -9
- package/types/ng-nest-ui-checkbox.d.ts +5 -6
- package/types/ng-nest-ui-color-picker.d.ts +8 -9
- package/types/ng-nest-ui-core.d.ts +8 -1
- package/types/ng-nest-ui-coversations.d.ts +4 -5
- package/types/ng-nest-ui-date-picker.d.ts +16 -18
- package/types/ng-nest-ui-dialog.d.ts +12 -0
- package/types/ng-nest-ui-divider.d.ts +113 -0
- package/types/ng-nest-ui-find.d.ts +6 -7
- package/types/ng-nest-ui-form.d.ts +9 -10
- package/types/ng-nest-ui-image.d.ts +2 -1
- package/types/ng-nest-ui-input-number.d.ts +8 -9
- package/types/ng-nest-ui-input.d.ts +14 -10
- package/types/ng-nest-ui-list.d.ts +4 -5
- package/types/ng-nest-ui-message-box.d.ts +2 -2
- package/types/ng-nest-ui-radio.d.ts +5 -6
- package/types/ng-nest-ui-rate.d.ts +4 -5
- package/types/ng-nest-ui-select.d.ts +8 -9
- package/types/ng-nest-ui-sender.d.ts +6 -7
- package/types/ng-nest-ui-slider-select.d.ts +4 -5
- package/types/ng-nest-ui-switch.d.ts +4 -5
- package/types/ng-nest-ui-textarea.d.ts +8 -9
- package/types/ng-nest-ui-theme.d.ts +4 -5
- package/types/ng-nest-ui-time-picker.d.ts +12 -11
- package/types/ng-nest-ui-transfer.d.ts +4 -5
- package/types/ng-nest-ui-tree-select.d.ts +8 -9
- package/types/ng-nest-ui-upload.d.ts +4 -5
- package/types/ng-nest-ui.d.ts +1 -0
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, InjectionToken, Directive, Input, inject, ElementRef, HostListener, HostBinding, booleanAttribute, signal, ViewEncapsulation, ChangeDetectionStrategy, Component, viewChild, contentChild, contentChildren, NgModule } from '@angular/core';
|
|
3
3
|
import { CdkCellDef, CdkHeaderCellDef, CdkFooterCellDef, CdkColumnDef, CdkHeaderCell, CdkFooterCell, CdkCell, CdkHeaderRowDef, CdkFooterRowDef, CdkRowDef, CdkHeaderRow, CdkCellOutlet, CdkFooterRow, CdkRow, CdkNoDataRow, CdkTable, HeaderRowOutlet, DataRowOutlet, NoDataRowOutlet, FooterRowOutlet, CDK_TABLE, STICKY_POSITIONING_LISTENER, CdkTextColumn, CdkTableModule } from '@angular/cdk/table';
|
|
4
|
-
import { _DisposeViewRepeaterStrategy, _VIEW_REPEATER_STRATEGY } from '@angular/cdk/collections';
|
|
5
4
|
import { XConfigService } from '@ng-nest/ui/core';
|
|
6
5
|
|
|
7
6
|
class XTableViewService {
|
|
@@ -12,20 +11,20 @@ class XTableViewService {
|
|
|
12
11
|
this.activedHeaderCells = [];
|
|
13
12
|
this.stickyHeaderRows = [];
|
|
14
13
|
}
|
|
15
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
16
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
14
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableViewService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
15
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableViewService }); }
|
|
17
16
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableViewService, decorators: [{
|
|
19
18
|
type: Injectable
|
|
20
19
|
}] });
|
|
21
20
|
|
|
22
21
|
const X_TABLE_VIEW_CONTEXT = new InjectionToken('X_TABLE_VIEW_CONTEXT');
|
|
23
22
|
|
|
24
23
|
class XTableViewCellDef extends CdkCellDef {
|
|
25
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
26
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
24
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableViewCellDef, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
25
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: XTableViewCellDef, isStandalone: true, selector: "[xTableCellDef]", providers: [{ provide: CdkCellDef, useExisting: XTableViewCellDef }], usesInheritance: true, ngImport: i0 }); }
|
|
27
26
|
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableViewCellDef, decorators: [{
|
|
29
28
|
type: Directive,
|
|
30
29
|
args: [{
|
|
31
30
|
selector: '[xTableCellDef]',
|
|
@@ -33,10 +32,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
33
32
|
}]
|
|
34
33
|
}] });
|
|
35
34
|
class XTableHeaderCellDef extends CdkHeaderCellDef {
|
|
36
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
37
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
35
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableHeaderCellDef, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
36
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: XTableHeaderCellDef, isStandalone: true, selector: "[xTableHeaderCellDef]", providers: [{ provide: CdkHeaderCellDef, useExisting: XTableHeaderCellDef }], usesInheritance: true, ngImport: i0 }); }
|
|
38
37
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableHeaderCellDef, decorators: [{
|
|
40
39
|
type: Directive,
|
|
41
40
|
args: [{
|
|
42
41
|
selector: '[xTableHeaderCellDef]',
|
|
@@ -44,10 +43,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
44
43
|
}]
|
|
45
44
|
}] });
|
|
46
45
|
class XTableFooterCellDef extends CdkFooterCellDef {
|
|
47
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
48
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
46
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableFooterCellDef, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
47
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: XTableFooterCellDef, isStandalone: true, selector: "[xTableFooterCellDef]", providers: [{ provide: CdkFooterCellDef, useExisting: XTableFooterCellDef }], usesInheritance: true, ngImport: i0 }); }
|
|
49
48
|
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableFooterCellDef, decorators: [{
|
|
51
50
|
type: Directive,
|
|
52
51
|
args: [{
|
|
53
52
|
selector: '[xTableFooterCellDef]',
|
|
@@ -65,10 +64,10 @@ class XTableColumnDef extends CdkColumnDef {
|
|
|
65
64
|
super._updateColumnCssClassName();
|
|
66
65
|
this._columnCssClassName.push(`x-table-column-${this.cssClassFriendlyName}`);
|
|
67
66
|
}
|
|
68
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
69
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
67
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableColumnDef, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
68
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: XTableColumnDef, isStandalone: true, selector: "[xTableColumnDef]", inputs: { name: ["xTableColumnDef", "name"] }, providers: [{ provide: CdkColumnDef, useExisting: XTableColumnDef }], usesInheritance: true, ngImport: i0 }); }
|
|
70
69
|
}
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableColumnDef, decorators: [{
|
|
72
71
|
type: Directive,
|
|
73
72
|
args: [{
|
|
74
73
|
selector: '[xTableColumnDef]',
|
|
@@ -111,10 +110,10 @@ class XTableHeaderCell extends CdkHeaderCell {
|
|
|
111
110
|
cell.setActivedRow(cell);
|
|
112
111
|
}
|
|
113
112
|
}
|
|
114
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
115
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
113
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableHeaderCell, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
114
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: XTableHeaderCell, isStandalone: true, selector: "x-table-header-cell, th[x-table-header-cell]", host: { attributes: { "role": "columnheader" }, listeners: { "click": "onClick()" }, properties: { "class.x-table-header-cell-actived": "this.isActived" }, classAttribute: "x-table-header-cell" }, usesInheritance: true, ngImport: i0 }); }
|
|
116
115
|
}
|
|
117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableHeaderCell, decorators: [{
|
|
118
117
|
type: Directive,
|
|
119
118
|
args: [{
|
|
120
119
|
selector: 'x-table-header-cell, th[x-table-header-cell]',
|
|
@@ -131,10 +130,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
131
130
|
args: ['click']
|
|
132
131
|
}] } });
|
|
133
132
|
class XTableFooterCell extends CdkFooterCell {
|
|
134
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
135
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
133
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableFooterCell, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
134
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: XTableFooterCell, isStandalone: true, selector: "x-table-footer-cell, td[x-table-footer-cell]", host: { classAttribute: "x-table-footer-cell" }, usesInheritance: true, ngImport: i0 }); }
|
|
136
135
|
}
|
|
137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableFooterCell, decorators: [{
|
|
138
137
|
type: Directive,
|
|
139
138
|
args: [{
|
|
140
139
|
selector: 'x-table-footer-cell, td[x-table-footer-cell]',
|
|
@@ -221,10 +220,10 @@ class XTableViewCell extends CdkCell {
|
|
|
221
220
|
return -1;
|
|
222
221
|
return selectedIndex % rowsCount;
|
|
223
222
|
}
|
|
224
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
225
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
223
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableViewCell, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
224
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: XTableViewCell, isStandalone: true, selector: "x-table-cell, td[x-table-cell]", host: { listeners: { "click": "onClick()" }, properties: { "class.x-table-cell-selected": "this.isSelected" }, classAttribute: "x-table-cell" }, usesInheritance: true, ngImport: i0 }); }
|
|
226
225
|
}
|
|
227
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
226
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableViewCell, decorators: [{
|
|
228
227
|
type: Directive,
|
|
229
228
|
args: [{
|
|
230
229
|
selector: 'x-table-cell, td[x-table-cell]',
|
|
@@ -248,10 +247,10 @@ class XTableHeaderRowDef extends CdkHeaderRowDef {
|
|
|
248
247
|
getColumns() {
|
|
249
248
|
return this.columns;
|
|
250
249
|
}
|
|
251
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
252
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "21.
|
|
250
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableHeaderRowDef, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
251
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "21.1.1", type: XTableHeaderRowDef, isStandalone: true, selector: "[xTableHeaderRowDef]", inputs: { columns: ["xTableHeaderRowDef", "columns"], sticky: ["xTableHeaderRowDefSticky", "sticky", booleanAttribute] }, providers: [{ provide: CdkHeaderRowDef, useExisting: XTableHeaderRowDef }], usesInheritance: true, ngImport: i0 }); }
|
|
253
252
|
}
|
|
254
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
253
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableHeaderRowDef, decorators: [{
|
|
255
254
|
type: Directive,
|
|
256
255
|
args: [{
|
|
257
256
|
selector: '[xTableHeaderRowDef]',
|
|
@@ -263,10 +262,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
263
262
|
}]
|
|
264
263
|
}] });
|
|
265
264
|
class XTableFooterRowDef extends CdkFooterRowDef {
|
|
266
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
267
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "21.
|
|
265
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableFooterRowDef, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
266
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "21.1.1", type: XTableFooterRowDef, isStandalone: true, selector: "[xTableFooterRowDef]", inputs: { columns: ["xTableFooterRowDef", "columns"], sticky: ["xTableFooterRowDefSticky", "sticky", booleanAttribute] }, providers: [{ provide: CdkFooterRowDef, useExisting: XTableFooterRowDef }], usesInheritance: true, ngImport: i0 }); }
|
|
268
267
|
}
|
|
269
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
268
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableFooterRowDef, decorators: [{
|
|
270
269
|
type: Directive,
|
|
271
270
|
args: [{
|
|
272
271
|
selector: '[xTableFooterRowDef]',
|
|
@@ -278,10 +277,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
278
277
|
}]
|
|
279
278
|
}] });
|
|
280
279
|
class XTableViewRowDef extends CdkRowDef {
|
|
281
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
282
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
280
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableViewRowDef, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
281
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: XTableViewRowDef, isStandalone: true, selector: "[xTableRowDef]", inputs: { columns: ["xTableRowDefColumns", "columns"], when: ["xTableRowDefWhen", "when"] }, providers: [{ provide: CdkRowDef, useExisting: XTableViewRowDef }], usesInheritance: true, ngImport: i0 }); }
|
|
283
282
|
}
|
|
284
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
283
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableViewRowDef, decorators: [{
|
|
285
284
|
type: Directive,
|
|
286
285
|
args: [{
|
|
287
286
|
selector: '[xTableRowDef]',
|
|
@@ -332,10 +331,10 @@ class XTableHeaderRow extends CdkHeaderRow {
|
|
|
332
331
|
}, { threshold: 0 });
|
|
333
332
|
observer.observe(sentinel);
|
|
334
333
|
}
|
|
335
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
336
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
334
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableHeaderRow, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
335
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: XTableHeaderRow, isStandalone: true, selector: "x-table-header-row, tr[x-table-header-row]", host: { attributes: { "role": "row" }, properties: { "class.x-table-sticky-top": "this.isSticking" }, classAttribute: "x-table-header-row" }, providers: [{ provide: CdkHeaderRow, useExisting: XTableHeaderRow }], exportAs: ["xTableHeaderRow"], usesInheritance: true, ngImport: i0, template: "<ng-container cdkCellOutlet></ng-container>", isInline: true, dependencies: [{ kind: "directive", type: CdkCellOutlet, selector: "[cdkCellOutlet]" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
|
337
336
|
}
|
|
338
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
337
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableHeaderRow, decorators: [{
|
|
339
338
|
type: Component,
|
|
340
339
|
args: [{
|
|
341
340
|
selector: 'x-table-header-row, tr[x-table-header-row]',
|
|
@@ -355,10 +354,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
355
354
|
args: ['class.x-table-sticky-top']
|
|
356
355
|
}] } });
|
|
357
356
|
class XTableFooterRow extends CdkFooterRow {
|
|
358
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
359
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
357
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableFooterRow, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
358
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: XTableFooterRow, isStandalone: true, selector: "x-table-footer-row, tr[x-table-footer-row]", host: { attributes: { "role": "row" }, classAttribute: "x-table-footer-row" }, providers: [{ provide: CdkFooterRow, useExisting: XTableFooterRow }], exportAs: ["xTableFooterRow"], usesInheritance: true, ngImport: i0, template: "<ng-container cdkCellOutlet></ng-container>", isInline: true, dependencies: [{ kind: "directive", type: CdkCellOutlet, selector: "[cdkCellOutlet]" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
|
360
359
|
}
|
|
361
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
360
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableFooterRow, decorators: [{
|
|
362
361
|
type: Component,
|
|
363
362
|
args: [{
|
|
364
363
|
selector: 'x-table-footer-row, tr[x-table-footer-row]',
|
|
@@ -382,10 +381,10 @@ class XTableViewRow extends CdkRow {
|
|
|
382
381
|
get isActived() {
|
|
383
382
|
return this.tableViewService.activedRows.includes(this);
|
|
384
383
|
}
|
|
385
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
386
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
384
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableViewRow, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
385
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: XTableViewRow, isStandalone: true, selector: "x-table-row, tr[x-table-row]", host: { attributes: { "role": "row" }, properties: { "class.x-table-row-actived": "this.isActived" }, classAttribute: "x-table-row" }, providers: [{ provide: CdkRow, useExisting: XTableViewRow }], exportAs: ["xTableRow"], usesInheritance: true, ngImport: i0, template: "<ng-container cdkCellOutlet></ng-container>", isInline: true, dependencies: [{ kind: "directive", type: CdkCellOutlet, selector: "[cdkCellOutlet]" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
|
387
386
|
}
|
|
388
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
387
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableViewRow, decorators: [{
|
|
389
388
|
type: Component,
|
|
390
389
|
args: [{
|
|
391
390
|
selector: 'x-table-row, tr[x-table-row]',
|
|
@@ -409,10 +408,10 @@ class XTableNoDataRow extends CdkNoDataRow {
|
|
|
409
408
|
super(...arguments);
|
|
410
409
|
this._contentClassNames = ['x-table-no-data-row'];
|
|
411
410
|
}
|
|
412
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
413
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
411
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableNoDataRow, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
412
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: XTableNoDataRow, isStandalone: true, selector: "ng-template[xTableNoDataRow]", providers: [{ provide: CdkNoDataRow, useExisting: XTableNoDataRow }], usesInheritance: true, ngImport: i0 }); }
|
|
414
413
|
}
|
|
415
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
414
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableNoDataRow, decorators: [{
|
|
416
415
|
type: Directive,
|
|
417
416
|
args: [{
|
|
418
417
|
selector: 'ng-template[xTableNoDataRow]',
|
|
@@ -435,10 +434,10 @@ class XTableViewProperty extends CdkTable {
|
|
|
435
434
|
super(...arguments);
|
|
436
435
|
this.config = inject(XConfigService).getConfigForComponent(X_TABLE_VIEW_CONFIG_NAME);
|
|
437
436
|
}
|
|
438
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
439
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
437
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableViewProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
438
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: XTableViewProperty, isStandalone: true, selector: "x-table-view-property", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
440
439
|
}
|
|
441
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
440
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableViewProperty, decorators: [{
|
|
442
441
|
type: Component,
|
|
443
442
|
args: [{ selector: `${XTableViewPrefix}-property`, template: '' }]
|
|
444
443
|
}] });
|
|
@@ -478,12 +477,10 @@ class XTableView extends XTableViewProperty {
|
|
|
478
477
|
getRows() {
|
|
479
478
|
return this.rows();
|
|
480
479
|
}
|
|
481
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
482
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
480
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableView, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
481
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: XTableView, isStandalone: true, selector: "x-table-view, table[x-table-view]", host: { properties: { "class.x-table-fixed-layout": "fixedLayout" }, classAttribute: "x-table-view" }, providers: [
|
|
483
482
|
{ provide: CdkTable, useExisting: XTableView },
|
|
484
483
|
{ provide: CDK_TABLE, useExisting: XTableView },
|
|
485
|
-
// Prevent nested tables from seeing this table's StickyPositioningListener.
|
|
486
|
-
{ provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },
|
|
487
484
|
{ provide: STICKY_POSITIONING_LISTENER, useValue: null },
|
|
488
485
|
{
|
|
489
486
|
provide: X_TABLE_VIEW_CONTEXT,
|
|
@@ -492,7 +489,7 @@ class XTableView extends XTableViewProperty {
|
|
|
492
489
|
XTableViewService
|
|
493
490
|
], queries: [{ propertyName: "headerRowRef", first: true, predicate: XTableHeaderRowDef, descendants: true, isSignal: true }, { propertyName: "headerRowRefs", predicate: XTableHeaderRowDef, isSignal: true }, { propertyName: "headerRows", predicate: XTableHeaderRow, isSignal: true }, { propertyName: "columnDefs", predicate: XTableColumnDef, isSignal: true }, { propertyName: "headerCells", predicate: XTableHeaderCell, isSignal: true }, { propertyName: "cells", predicate: XTableViewCell, isSignal: true }, { propertyName: "rows", predicate: XTableViewRow, isSignal: true }], viewQueries: [{ propertyName: "sentinelTop", first: true, predicate: ["sentinelTop"], descendants: true, isSignal: true }], exportAs: ["xTableView"], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"caption\" />\r\n<ng-content select=\"colgroup, col\" />\r\n\r\n<!--\r\n Unprojected content throws a hydration error so we need this to capture it.\r\n It gets removed on the client so it doesn't affect the layout.\r\n -->\r\n@if (_isServer) {\r\n <ng-content />\r\n}\r\n<div class=\"x-table-sentinel-top\" #sentinelTop></div>\r\n@if (_isNativeHtmlTable) {\r\n <thead>\r\n <ng-container headerRowOutlet />\r\n </thead>\r\n <tbody>\r\n <ng-container rowOutlet />\r\n <ng-container noDataRowOutlet />\r\n </tbody>\r\n <tfoot>\r\n <ng-container footerRowOutlet />\r\n </tfoot>\r\n} @else {\r\n <ng-container headerRowOutlet />\r\n <ng-container rowOutlet />\r\n <ng-container noDataRowOutlet />\r\n <ng-container footerRowOutlet />\r\n}\r\n", styles: [".x-table-view{margin:0;padding:0}.x-table-view{position:relative;border-collapse:separate;border-spacing:0}.x-table-view .x-table-header-cell,.x-table-view .x-table-footer-cell{padding:0 .5rem;text-align:left;font-weight:500;color:var(--x-text);border-top:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);border-right:var(--x-border-width) var(--x-border-style) var(--x-border);cursor:default;background-color:var(--x-background);white-space:nowrap}.x-table-view .x-table-header-cell:first-child,.x-table-view .x-table-footer-cell:first-child{border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-view .x-table-header-cell.x-table-header-cell-actived,.x-table-view .x-table-footer-cell.x-table-header-cell-actived{background-color:var(--x-background-a100)}.x-table-view .x-table-sticky{position:sticky;background-color:var(--x-background-a200)}.x-table-view .x-table-sentinel-top{visibility:hidden;position:absolute;top:0}.x-table-view .x-table-row-actived .x-table-cell:not(.x-table-cell-selected){background-color:var(--x-background-a100)}.x-table-view .x-table-cell{padding:0 .5rem;text-align:left;font-weight:500;color:var(--x-text);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);border-right:var(--x-border-width) var(--x-border-style) var(--x-border);cursor:default;white-space:nowrap;background-color:var(--x-background)}.x-table-view .x-table-cell:first-child{border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-view .x-table-cell.x-table-cell-selected{border-color:var(--x-border-a200);background-color:var(--x-primary-900)}.x-table-view .x-table-cell.x-table-sticky:not(.x-table-cell-selected){background-color:var(--x-background-a200)}.x-table-view .x-table-sticky-border-elem-top{border-bottom-style:solid;border-bottom-width:calc(2 * var(--x-border-width));border-bottom-color:var(--x-border-a900)}.x-table-view .x-table-sticky-border-elem-bottom{border-top-style:solid;border-top-width:calc(2 * var(--x-border-width));border-top-color:var(--x-border-a900)}.x-table-view .x-table-sticky-border-elem-left{border-right-style:solid;border-right-width:calc(2 * var(--x-border-width));border-right-color:var(--x-border-a900)}.x-table-view .x-table-sticky-border-elem-right{border-left-style:solid;border-left-width:calc(2 * var(--x-border-width));border-left-color:var(--x-border-a900)}\n"], dependencies: [{ kind: "directive", type: HeaderRowOutlet, selector: "[headerRowOutlet]" }, { kind: "directive", type: DataRowOutlet, selector: "[rowOutlet]" }, { kind: "directive", type: NoDataRowOutlet, selector: "[noDataRowOutlet]" }, { kind: "directive", type: FooterRowOutlet, selector: "[footerRowOutlet]" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
|
494
491
|
}
|
|
495
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
492
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableView, decorators: [{
|
|
496
493
|
type: Component,
|
|
497
494
|
args: [{ selector: 'x-table-view, table[x-table-view]', exportAs: 'xTableView', host: {
|
|
498
495
|
class: 'x-table-view',
|
|
@@ -500,8 +497,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
500
497
|
}, providers: [
|
|
501
498
|
{ provide: CdkTable, useExisting: XTableView },
|
|
502
499
|
{ provide: CDK_TABLE, useExisting: XTableView },
|
|
503
|
-
// Prevent nested tables from seeing this table's StickyPositioningListener.
|
|
504
|
-
{ provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },
|
|
505
500
|
{ provide: STICKY_POSITIONING_LISTENER, useValue: null },
|
|
506
501
|
{
|
|
507
502
|
provide: X_TABLE_VIEW_CONTEXT,
|
|
@@ -512,8 +507,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
512
507
|
}], propDecorators: { sentinelTop: [{ type: i0.ViewChild, args: ['sentinelTop', { isSignal: true }] }], headerRowRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => XTableHeaderRowDef), { isSignal: true }] }], headerRowRefs: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => XTableHeaderRowDef), { isSignal: true }] }], headerRows: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => XTableHeaderRow), { isSignal: true }] }], columnDefs: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => XTableColumnDef), { isSignal: true }] }], headerCells: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => XTableHeaderCell), { isSignal: true }] }], cells: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => XTableViewCell), { isSignal: true }] }], rows: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => XTableViewRow), { isSignal: true }] }] } });
|
|
513
508
|
|
|
514
509
|
class XTableTextColumn extends CdkTextColumn {
|
|
515
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
516
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
510
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableTextColumn, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
511
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: XTableTextColumn, isStandalone: true, selector: "x-table-text-column", usesInheritance: true, ngImport: i0, template: `
|
|
517
512
|
<ng-container xTableColumnDef>
|
|
518
513
|
<th x-table-header-cell *xTableHeaderCellDef [style.text-align]="justify">
|
|
519
514
|
{{ headerText }}
|
|
@@ -524,7 +519,7 @@ class XTableTextColumn extends CdkTextColumn {
|
|
|
524
519
|
</ng-container>
|
|
525
520
|
`, isInline: true, dependencies: [{ kind: "directive", type: XTableColumnDef, selector: "[xTableColumnDef]", inputs: ["xTableColumnDef"] }, { kind: "directive", type: XTableHeaderCellDef, selector: "[xTableHeaderCellDef]" }, { kind: "directive", type: XTableHeaderCell, selector: "x-table-header-cell, th[x-table-header-cell]" }, { kind: "directive", type: XTableViewCellDef, selector: "[xTableCellDef]" }, { kind: "directive", type: XTableViewCell, selector: "x-table-cell, td[x-table-cell]" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
|
526
521
|
}
|
|
527
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
522
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableTextColumn, decorators: [{
|
|
528
523
|
type: Component,
|
|
529
524
|
args: [{
|
|
530
525
|
selector: 'x-table-text-column',
|
|
@@ -567,8 +562,8 @@ const EXPORTED_DECLARATIONS = [
|
|
|
567
562
|
XTableTextColumn
|
|
568
563
|
];
|
|
569
564
|
class XTableViewModule {
|
|
570
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
571
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.
|
|
565
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
566
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: XTableViewModule, imports: [CdkTableModule,
|
|
572
567
|
// Table
|
|
573
568
|
XTableView,
|
|
574
569
|
// Template defs
|
|
@@ -609,9 +604,9 @@ class XTableViewModule {
|
|
|
609
604
|
XTableFooterRow,
|
|
610
605
|
XTableNoDataRow,
|
|
611
606
|
XTableTextColumn] }); }
|
|
612
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.
|
|
607
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableViewModule, imports: [CdkTableModule] }); }
|
|
613
608
|
}
|
|
614
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
609
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XTableViewModule, decorators: [{
|
|
615
610
|
type: NgModule,
|
|
616
611
|
args: [{
|
|
617
612
|
exports: [...EXPORTED_DECLARATIONS],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-table-view.mjs","sources":["../../../../lib/ng-nest/ui/table-view/table-view.service.ts","../../../../lib/ng-nest/ui/table-view/table-view.token.ts","../../../../lib/ng-nest/ui/table-view/cell.ts","../../../../lib/ng-nest/ui/table-view/row.ts","../../../../lib/ng-nest/ui/table-view/table-view.property.ts","../../../../lib/ng-nest/ui/table-view/table-view.component.ts","../../../../lib/ng-nest/ui/table-view/table-view.component.html","../../../../lib/ng-nest/ui/table-view/text-column.ts","../../../../lib/ng-nest/ui/table-view/table-view.module.ts","../../../../lib/ng-nest/ui/table-view/ng-nest-ui-table-view.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport type {\r\n XTableHeaderCellHandle,\r\n XTableHeaderRowHandle,\r\n XTableViewCellHandle,\r\n XTableViewRowHandle\r\n} from './table-view.property';\r\n\r\n@Injectable()\r\nexport class XTableViewService {\r\n selectedCells: XTableViewCellHandle[] = [];\r\n activedRows: XTableViewRowHandle[] = [];\r\n selectedHeaderCell: XTableHeaderCellHandle | null = null;\r\n activedHeaderCells: XTableHeaderCellHandle[] = [];\r\n stickyHeaderRows: XTableHeaderRowHandle[] = [];\r\n}\r\n","import { ElementRef, InjectionToken } from '@angular/core';\r\nimport type {\r\n XTableHeaderCellHandle,\r\n XTableHeaderRowDefHandle,\r\n XTableHeaderRowHandle,\r\n XTableViewCellHandle,\r\n XTableViewRowHandle\r\n} from './table-view.property';\r\n\r\nexport interface XTableViewContext {\r\n getHeaderRows(): readonly XTableHeaderRowHandle[];\r\n getHeaderRowRefs(): readonly XTableHeaderRowDefHandle[];\r\n getHeaderCells(): readonly XTableHeaderCellHandle[];\r\n getCells(): readonly XTableViewCellHandle[];\r\n getHeaderRowRef(): XTableHeaderRowDefHandle;\r\n getSentinelTop(): ElementRef<HTMLElement>;\r\n getRows(): readonly XTableViewRowHandle[];\r\n}\r\n\r\nexport const X_TABLE_VIEW_CONTEXT = new InjectionToken<XTableViewContext>('X_TABLE_VIEW_CONTEXT');\r\n","import { Directive, ElementRef, HostBinding, HostListener, inject, Input } from '@angular/core';\r\nimport {\r\n CdkCell,\r\n CdkCellDef,\r\n CdkColumnDef,\r\n CdkFooterCell,\r\n CdkFooterCellDef,\r\n CdkHeaderCell,\r\n CdkHeaderCellDef\r\n} from '@angular/cdk/table';\r\nimport { XTableViewService } from './table-view.service';\r\nimport { X_TABLE_VIEW_CONTEXT } from './table-view.token';\r\nimport type { XTableHeaderCellHandle, XTableViewCellHandle } from './table-view.property';\r\n\r\n@Directive({\r\n selector: '[xTableCellDef]',\r\n providers: [{ provide: CdkCellDef, useExisting: XTableViewCellDef }]\r\n})\r\nexport class XTableViewCellDef extends CdkCellDef {}\r\n\r\n@Directive({\r\n selector: '[xTableHeaderCellDef]',\r\n providers: [{ provide: CdkHeaderCellDef, useExisting: XTableHeaderCellDef }]\r\n})\r\nexport class XTableHeaderCellDef extends CdkHeaderCellDef {}\r\n\r\n@Directive({\r\n selector: '[xTableFooterCellDef]',\r\n providers: [{ provide: CdkFooterCellDef, useExisting: XTableFooterCellDef }]\r\n})\r\nexport class XTableFooterCellDef extends CdkFooterCellDef {}\r\n\r\n@Directive({\r\n selector: '[xTableColumnDef]',\r\n providers: [{ provide: CdkColumnDef, useExisting: XTableColumnDef }]\r\n})\r\nexport class XTableColumnDef extends CdkColumnDef {\r\n @Input('xTableColumnDef')\r\n override get name(): string {\r\n return this._name;\r\n }\r\n override set name(name: string) {\r\n this._setNameInput(name);\r\n }\r\n protected override _updateColumnCssClassName() {\r\n super._updateColumnCssClassName();\r\n this._columnCssClassName!.push(`x-table-column-${this.cssClassFriendlyName}`);\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: 'x-table-header-cell, th[x-table-header-cell]',\r\n host: {\r\n class: 'x-table-header-cell',\r\n role: 'columnheader'\r\n }\r\n})\r\nexport class XTableHeaderCell extends CdkHeaderCell implements XTableHeaderCellHandle {\r\n tableViewService = inject(XTableViewService, { optional: true })!;\r\n tableView = inject(X_TABLE_VIEW_CONTEXT, { optional: true });\r\n elementRef = inject(ElementRef);\r\n\r\n @HostBinding('class.x-table-header-cell-actived') get isActived() {\r\n return this.tableViewService.activedHeaderCells.includes(this);\r\n }\r\n\r\n @HostListener('click') onClick() {\r\n this.tableViewService.activedHeaderCells = [this];\r\n\r\n const headerCells = this.tableView?.getHeaderCells() ?? [];\r\n const index = headerCells.indexOf(this);\r\n\r\n const cells = this.tableView?.getCells() ?? [];\r\n const columnsCount = (this.tableView?.getHeaderRowRef()?.getColumns() as string[]).length ?? 0;\r\n const rowsCount = this.tableView?.getRows().length ?? 0;\r\n\r\n if (columnsCount === 0 || rowsCount === 0) {\r\n return;\r\n }\r\n\r\n const columnCells: XTableViewCellHandle[] = [];\r\n for (let i = 0; i < rowsCount; i++) {\r\n const cellIndex = index * rowsCount + i;\r\n if (cellIndex < cells.length) {\r\n columnCells.push(cells[cellIndex]);\r\n }\r\n }\r\n\r\n this.tableViewService.selectedCells = [];\r\n\r\n for (let cell of columnCells) {\r\n this.tableViewService.selectedCells.push(cell);\r\n cell.setActivedRow(cell);\r\n }\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: 'x-table-footer-cell, td[x-table-footer-cell]',\r\n host: {\r\n class: 'x-table-footer-cell'\r\n }\r\n})\r\nexport class XTableFooterCell extends CdkFooterCell {}\r\n\r\n@Directive({\r\n selector: 'x-table-cell, td[x-table-cell]',\r\n host: {\r\n class: 'x-table-cell'\r\n }\r\n})\r\nexport class XTableViewCell extends CdkCell implements XTableViewCellHandle {\r\n tableViewService = inject(XTableViewService, { optional: true })!;\r\n tableView = inject(X_TABLE_VIEW_CONTEXT, { optional: true });\r\n elementRef = inject(ElementRef);\r\n @HostBinding('class.x-table-cell-selected') get isSelected() {\r\n return this.tableViewService.selectedCells.includes(this);\r\n }\r\n\r\n @HostListener('click') onClick() {\r\n this.tableViewService.selectedCells = [this];\r\n this.tableViewService.activedRows = [];\r\n this.setActivedRow(this);\r\n this.setActivedColumn(this);\r\n }\r\n\r\n setActivedRow(cell: XTableViewCellHandle) {\r\n const rows = this.tableView?.getRows() ?? [];\r\n if (rows.length > 0) {\r\n const rowIndex = this.getRowIndex(cell);\r\n if (rowIndex >= 0 && rowIndex < rows.length) {\r\n const currentRow = rows[rowIndex];\r\n this.tableViewService.activedRows.push(currentRow);\r\n }\r\n }\r\n }\r\n\r\n setActivedColumn(cell: XTableViewCellHandle) {\r\n const headerCells = (this.tableView?.getHeaderCells() ?? []) as XTableHeaderCell[];\r\n const headerRowRefs = this.tableView?.getHeaderRowRefs() ?? [];\r\n const headerCellsArray = this.convertToColumnBasedArray(headerCells, headerRowRefs.length);\r\n const activedHeaderCells: XTableHeaderCell[] = [];\r\n for (let cells of headerCellsArray) {\r\n if (cells.length > 0) {\r\n const columnIndex = this.getColumnIndex(cell);\r\n if (columnIndex >= 0 && columnIndex < cells.length) {\r\n activedHeaderCells.push(cells[columnIndex]);\r\n }\r\n }\r\n }\r\n this.tableViewService.activedHeaderCells = activedHeaderCells;\r\n }\r\n\r\n private convertToColumnBasedArray<T>(input: T[], columnsPerRow: number): T[][] {\r\n const result: T[][] = [];\r\n\r\n for (let i = 0; i < columnsPerRow; i++) {\r\n result.push([]);\r\n }\r\n\r\n for (let i = 0; i < input.length; i++) {\r\n const columnIndex = i % columnsPerRow;\r\n result[columnIndex].push(input[i]);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private getColumnIndex(cell: XTableViewCellHandle): number {\r\n if (!this.tableView || !this.tableView.getCells()) return -1;\r\n const cellsArray = this.tableView.getCells();\r\n const selectedIndex = cellsArray.indexOf(cell);\r\n if (selectedIndex === -1) return -1;\r\n const columnsPerRow = (this.tableView.getHeaderRowRef()?.getColumns() as string[]).length ?? 0;\r\n const rowsCount = this.tableView.getRows().length;\r\n if (columnsPerRow === 0 || rowsCount === 0) return -1;\r\n\r\n return Math.floor(selectedIndex / rowsCount);\r\n }\r\n\r\n private getRowIndex(cell: XTableViewCellHandle): number {\r\n if (!this.tableView || !this.tableView.getCells()) return -1;\r\n const cellsArray = this.tableView.getCells();\r\n const selectedIndex = cellsArray.indexOf(cell);\r\n if (selectedIndex === -1) return -1;\r\n const columnsPerRow = (this.tableView.getHeaderRowRef()?.getColumns() as string[]).length ?? 0;\r\n const rowsCount = this.tableView.getRows().length;\r\n if (columnsPerRow === 0 || rowsCount === 0) return -1;\r\n\r\n return selectedIndex % rowsCount;\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Directive,\r\n HostBinding,\r\n ViewEncapsulation,\r\n booleanAttribute,\r\n inject,\r\n signal\r\n} from '@angular/core';\r\nimport {\r\n CdkCellOutlet,\r\n CdkFooterRow,\r\n CdkFooterRowDef,\r\n CdkHeaderRow,\r\n CdkHeaderRowDef,\r\n CdkNoDataRow,\r\n CdkRow,\r\n CdkRowDef\r\n} from '@angular/cdk/table';\r\nimport { XTableViewService } from './table-view.service';\r\nimport type { XTableHeaderRowDefHandle, XTableHeaderRowHandle, XTableViewRowHandle } from './table-view.property';\r\nimport { X_TABLE_VIEW_CONTEXT } from './table-view.token';\r\n\r\nconst ROW_TEMPLATE = `<ng-container cdkCellOutlet></ng-container>`;\r\n\r\n@Directive({\r\n selector: '[xTableHeaderRowDef]',\r\n providers: [{ provide: CdkHeaderRowDef, useExisting: XTableHeaderRowDef }],\r\n inputs: [\r\n { name: 'columns', alias: 'xTableHeaderRowDef' },\r\n { name: 'sticky', alias: 'xTableHeaderRowDefSticky', transform: booleanAttribute }\r\n ]\r\n})\r\nexport class XTableHeaderRowDef extends CdkHeaderRowDef implements XTableHeaderRowDefHandle {\r\n getSticky(): boolean {\r\n return this.sticky;\r\n }\r\n\r\n getColumns() {\r\n return this.columns as string[];\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[xTableFooterRowDef]',\r\n providers: [{ provide: CdkFooterRowDef, useExisting: XTableFooterRowDef }],\r\n inputs: [\r\n { name: 'columns', alias: 'xTableFooterRowDef' },\r\n { name: 'sticky', alias: 'xTableFooterRowDefSticky', transform: booleanAttribute }\r\n ]\r\n})\r\nexport class XTableFooterRowDef extends CdkFooterRowDef {}\r\n\r\n@Directive({\r\n selector: '[xTableRowDef]',\r\n providers: [{ provide: CdkRowDef, useExisting: XTableViewRowDef }],\r\n inputs: [\r\n { name: 'columns', alias: 'xTableRowDefColumns' },\r\n { name: 'when', alias: 'xTableRowDefWhen' }\r\n ]\r\n})\r\nexport class XTableViewRowDef<T> extends CdkRowDef<T> {}\r\n\r\n@Component({\r\n selector: 'x-table-header-row, tr[x-table-header-row]',\r\n template: ROW_TEMPLATE,\r\n host: {\r\n class: 'x-table-header-row',\r\n role: 'row'\r\n },\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'xTableHeaderRow',\r\n providers: [{ provide: CdkHeaderRow, useExisting: XTableHeaderRow }],\r\n imports: [CdkCellOutlet]\r\n})\r\nexport class XTableHeaderRow extends CdkHeaderRow implements XTableHeaderRowHandle {\r\n tableView = inject(X_TABLE_VIEW_CONTEXT, { optional: true });\r\n tableViewService = inject(XTableViewService, { optional: true })!;\r\n sticking = signal(false);\r\n\r\n @HostBinding('class.x-table-sticky-top') get isSticking() {\r\n return this.sticking();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.listenerSticky();\r\n }\r\n\r\n listenerSticky() {\r\n const index = this.tableView?.getHeaderRows().findIndex((x) => x === this);\r\n if (index === undefined || index < 0) return;\r\n const rowLen = this.tableView?.getHeaderRowRefs()?.length ?? 0;\r\n if (rowLen === 0 || rowLen < index) return;\r\n const sticky = this.tableView?.getHeaderRowRefs()[index].getSticky();\r\n if (!sticky) return;\r\n const sentinel = this.tableView?.getSentinelTop()?.nativeElement!;\r\n const observer = new IntersectionObserver(\r\n ([entry]) => {\r\n const sticking = !entry.isIntersecting;\r\n if (sticking) {\r\n if (!this.tableViewService.stickyHeaderRows.includes(this)) {\r\n this.tableViewService.stickyHeaderRows.push(this);\r\n }\r\n } else {\r\n if (this.tableViewService.stickyHeaderRows.includes(this)) {\r\n this.tableViewService.stickyHeaderRows = this.tableViewService.stickyHeaderRows.filter(\r\n (item) => item !== this\r\n );\r\n }\r\n }\r\n this.sticking.set(sticking);\r\n },\r\n { threshold: 0 }\r\n );\r\n\r\n observer.observe(sentinel);\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'x-table-footer-row, tr[x-table-footer-row]',\r\n template: ROW_TEMPLATE,\r\n host: {\r\n class: 'x-table-footer-row',\r\n role: 'row'\r\n },\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'xTableFooterRow',\r\n providers: [{ provide: CdkFooterRow, useExisting: XTableFooterRow }],\r\n imports: [CdkCellOutlet]\r\n})\r\nexport class XTableFooterRow extends CdkFooterRow {}\r\n\r\n@Component({\r\n selector: 'x-table-row, tr[x-table-row]',\r\n template: ROW_TEMPLATE,\r\n host: {\r\n class: 'x-table-row',\r\n role: 'row'\r\n },\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'xTableRow',\r\n providers: [{ provide: CdkRow, useExisting: XTableViewRow }],\r\n imports: [CdkCellOutlet]\r\n})\r\nexport class XTableViewRow extends CdkRow implements XTableViewRowHandle {\r\n tableViewService = inject(XTableViewService, { optional: true })!;\r\n\r\n @HostBinding('class.x-table-row-actived') get isActived() {\r\n return this.tableViewService.activedRows.includes(this);\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: 'ng-template[xTableNoDataRow]',\r\n providers: [{ provide: CdkNoDataRow, useExisting: XTableNoDataRow }]\r\n})\r\nexport class XTableNoDataRow extends CdkNoDataRow {\r\n override _contentClassNames = ['x-table-no-data-row'];\r\n}\r\n","import { CdkTable } from '@angular/cdk/table';\r\nimport { Component, inject } from '@angular/core';\r\nimport { XConfigService } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Table view\r\n * @selector x-table-view\r\n * @decorator component\r\n */\r\nexport const XTableViewPrefix = 'x-table-view';\r\nconst X_TABLE_VIEW_CONFIG_NAME = 'tableView';\r\n\r\n/**\r\n * Table view Property\r\n */\r\n@Component({ selector: `${XTableViewPrefix}-property`, template: '' })\r\nexport class XTableViewProperty<T> extends CdkTable<T> {\r\n config = inject(XConfigService).getConfigForComponent(X_TABLE_VIEW_CONFIG_NAME);\r\n}\r\n\r\nexport interface XTableHeaderRowHandle {\r\n listenerSticky(): void;\r\n}\r\n\r\nexport interface XTableViewRowHandle {}\r\n\r\nexport interface XTableHeaderRowDefHandle {\r\n getSticky(): boolean;\r\n getColumns(): string[];\r\n}\r\nexport interface XTableHeaderCellHandle {}\r\n\r\nexport interface XTableViewCellHandle {\r\n setActivedRow(cell: XTableViewCellHandle): void;\r\n setActivedColumn(cell: XTableViewCellHandle): void;\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n contentChild,\r\n contentChildren,\r\n ElementRef,\r\n inject,\r\n viewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {\r\n CdkTable,\r\n CDK_TABLE,\r\n STICKY_POSITIONING_LISTENER,\r\n HeaderRowOutlet,\r\n DataRowOutlet,\r\n NoDataRowOutlet,\r\n FooterRowOutlet\r\n} from '@angular/cdk/table';\r\nimport {\r\n _DisposeViewRepeaterStrategy,\r\n _RecycleViewRepeaterStrategy,\r\n _VIEW_REPEATER_STRATEGY\r\n} from '@angular/cdk/collections';\r\nimport { XTableViewProperty } from './table-view.property';\r\nimport { XTableViewService } from './table-view.service';\r\nimport { XTableViewCell, XTableColumnDef, XTableHeaderCell } from './cell';\r\nimport { XTableHeaderRow, XTableHeaderRowDef, XTableViewRow } from './row';\r\nimport { X_TABLE_VIEW_CONTEXT } from './table-view.token';\r\n\r\n@Component({\r\n selector: 'x-table-view, table[x-table-view]',\r\n exportAs: 'xTableView',\r\n templateUrl: 'table-view.component.html',\r\n styleUrl: 'table-view.component.scss',\r\n host: {\r\n class: 'x-table-view',\r\n '[class.x-table-fixed-layout]': 'fixedLayout'\r\n },\r\n providers: [\r\n { provide: CdkTable, useExisting: XTableView },\r\n { provide: CDK_TABLE, useExisting: XTableView },\r\n // Prevent nested tables from seeing this table's StickyPositioningListener.\r\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\r\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\r\n {\r\n provide: X_TABLE_VIEW_CONTEXT,\r\n useExisting: XTableView\r\n },\r\n XTableViewService\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n imports: [HeaderRowOutlet, DataRowOutlet, NoDataRowOutlet, FooterRowOutlet]\r\n})\r\nexport class XTableView<T> extends XTableViewProperty<T> {\r\n elementRef = inject(ElementRef);\r\n sentinelTop = viewChild<ElementRef<HTMLElement>>('sentinelTop');\r\n headerRowRef = contentChild(XTableHeaderRowDef);\r\n headerRowRefs = contentChildren(XTableHeaderRowDef);\r\n headerRows = contentChildren(XTableHeaderRow);\r\n columnDefs = contentChildren(XTableColumnDef);\r\n headerCells = contentChildren(XTableHeaderCell);\r\n\r\n cells = contentChildren(XTableViewCell);\r\n rows = contentChildren(XTableViewRow);\r\n\r\n /** Overrides the sticky CSS class set by the `CdkTable`. */\r\n protected override stickyCssClass = 'x-table-sticky';\r\n\r\n /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */\r\n protected override needsPositionStickyOnElement = false;\r\n\r\n getHeaderRows() {\r\n return this.headerRows();\r\n }\r\n\r\n getHeaderRowRefs() {\r\n return this.headerRowRefs();\r\n }\r\n\r\n getSentinelTop() {\r\n return this.sentinelTop();\r\n }\r\n\r\n getHeaderCells() {\r\n return this.headerCells();\r\n }\r\n\r\n getCells() {\r\n return this.cells();\r\n }\r\n\r\n getRows() {\r\n return this.rows();\r\n }\r\n}\r\n","<ng-content select=\"caption\" />\r\n<ng-content select=\"colgroup, col\" />\r\n\r\n<!--\r\n Unprojected content throws a hydration error so we need this to capture it.\r\n It gets removed on the client so it doesn't affect the layout.\r\n -->\r\n@if (_isServer) {\r\n <ng-content />\r\n}\r\n<div class=\"x-table-sentinel-top\" #sentinelTop></div>\r\n@if (_isNativeHtmlTable) {\r\n <thead>\r\n <ng-container headerRowOutlet />\r\n </thead>\r\n <tbody>\r\n <ng-container rowOutlet />\r\n <ng-container noDataRowOutlet />\r\n </tbody>\r\n <tfoot>\r\n <ng-container footerRowOutlet />\r\n </tfoot>\r\n} @else {\r\n <ng-container headerRowOutlet />\r\n <ng-container rowOutlet />\r\n <ng-container noDataRowOutlet />\r\n <ng-container footerRowOutlet />\r\n}\r\n","import { CdkTextColumn } from '@angular/cdk/table';\r\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\nimport { XTableColumnDef, XTableHeaderCellDef, XTableHeaderCell, XTableViewCellDef, XTableViewCell } from './cell';\r\n\r\n@Component({\r\n selector: 'x-table-text-column',\r\n template: `\r\n <ng-container xTableColumnDef>\r\n <th x-table-header-cell *xTableHeaderCellDef [style.text-align]=\"justify\">\r\n {{ headerText }}\r\n </th>\r\n <td x-table-cell *xTableCellDef=\"let data\" [style.text-align]=\"justify\">\r\n {{ dataAccessor(data, name) }}\r\n </td>\r\n </ng-container>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n imports: [XTableColumnDef, XTableHeaderCellDef, XTableHeaderCell, XTableViewCellDef, XTableViewCell]\r\n})\r\nexport class XTableTextColumn<T> extends CdkTextColumn<T> {}\r\n","import { NgModule } from '@angular/core';\r\nimport {\r\n XTableViewCell,\r\n XTableViewCellDef,\r\n XTableColumnDef,\r\n XTableFooterCell,\r\n XTableFooterCellDef,\r\n XTableHeaderCell,\r\n XTableHeaderCellDef\r\n} from './cell';\r\nimport {\r\n XTableFooterRow,\r\n XTableFooterRowDef,\r\n XTableHeaderRow,\r\n XTableHeaderRowDef,\r\n XTableNoDataRow,\r\n XTableViewRow,\r\n XTableViewRowDef\r\n} from './row';\r\nimport { XTableView } from './table-view.component';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { XTableTextColumn } from './text-column';\r\n\r\nconst EXPORTED_DECLARATIONS = [\r\n // Table\r\n XTableView,\r\n\r\n // Template defs\r\n XTableHeaderCellDef,\r\n XTableHeaderRowDef,\r\n XTableColumnDef,\r\n XTableViewCellDef,\r\n XTableViewRowDef,\r\n XTableFooterCellDef,\r\n XTableFooterRowDef,\r\n\r\n // Cell directives\r\n XTableHeaderCell,\r\n XTableViewCell,\r\n XTableFooterCell,\r\n\r\n // Row directives\r\n XTableHeaderRow,\r\n XTableViewRow,\r\n XTableFooterRow,\r\n XTableNoDataRow,\r\n\r\n XTableTextColumn\r\n];\r\n\r\n@NgModule({\r\n exports: [...EXPORTED_DECLARATIONS],\r\n imports: [CdkTableModule, ...EXPORTED_DECLARATIONS]\r\n})\r\nexport class XTableViewModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-table-view.mjs","sources":["../../../../lib/ng-nest/ui/table-view/table-view.service.ts","../../../../lib/ng-nest/ui/table-view/table-view.token.ts","../../../../lib/ng-nest/ui/table-view/cell.ts","../../../../lib/ng-nest/ui/table-view/row.ts","../../../../lib/ng-nest/ui/table-view/table-view.property.ts","../../../../lib/ng-nest/ui/table-view/table-view.component.ts","../../../../lib/ng-nest/ui/table-view/table-view.component.html","../../../../lib/ng-nest/ui/table-view/text-column.ts","../../../../lib/ng-nest/ui/table-view/table-view.module.ts","../../../../lib/ng-nest/ui/table-view/ng-nest-ui-table-view.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport type {\r\n XTableHeaderCellHandle,\r\n XTableHeaderRowHandle,\r\n XTableViewCellHandle,\r\n XTableViewRowHandle\r\n} from './table-view.property';\r\n\r\n@Injectable()\r\nexport class XTableViewService {\r\n selectedCells: XTableViewCellHandle[] = [];\r\n activedRows: XTableViewRowHandle[] = [];\r\n selectedHeaderCell: XTableHeaderCellHandle | null = null;\r\n activedHeaderCells: XTableHeaderCellHandle[] = [];\r\n stickyHeaderRows: XTableHeaderRowHandle[] = [];\r\n}\r\n","import { ElementRef, InjectionToken } from '@angular/core';\r\nimport type {\r\n XTableHeaderCellHandle,\r\n XTableHeaderRowDefHandle,\r\n XTableHeaderRowHandle,\r\n XTableViewCellHandle,\r\n XTableViewRowHandle\r\n} from './table-view.property';\r\n\r\nexport interface XTableViewContext {\r\n getHeaderRows(): readonly XTableHeaderRowHandle[];\r\n getHeaderRowRefs(): readonly XTableHeaderRowDefHandle[];\r\n getHeaderCells(): readonly XTableHeaderCellHandle[];\r\n getCells(): readonly XTableViewCellHandle[];\r\n getHeaderRowRef(): XTableHeaderRowDefHandle;\r\n getSentinelTop(): ElementRef<HTMLElement>;\r\n getRows(): readonly XTableViewRowHandle[];\r\n}\r\n\r\nexport const X_TABLE_VIEW_CONTEXT = new InjectionToken<XTableViewContext>('X_TABLE_VIEW_CONTEXT');\r\n","import { Directive, ElementRef, HostBinding, HostListener, inject, Input } from '@angular/core';\r\nimport {\r\n CdkCell,\r\n CdkCellDef,\r\n CdkColumnDef,\r\n CdkFooterCell,\r\n CdkFooterCellDef,\r\n CdkHeaderCell,\r\n CdkHeaderCellDef\r\n} from '@angular/cdk/table';\r\nimport { XTableViewService } from './table-view.service';\r\nimport { X_TABLE_VIEW_CONTEXT } from './table-view.token';\r\nimport type { XTableHeaderCellHandle, XTableViewCellHandle } from './table-view.property';\r\n\r\n@Directive({\r\n selector: '[xTableCellDef]',\r\n providers: [{ provide: CdkCellDef, useExisting: XTableViewCellDef }]\r\n})\r\nexport class XTableViewCellDef extends CdkCellDef {}\r\n\r\n@Directive({\r\n selector: '[xTableHeaderCellDef]',\r\n providers: [{ provide: CdkHeaderCellDef, useExisting: XTableHeaderCellDef }]\r\n})\r\nexport class XTableHeaderCellDef extends CdkHeaderCellDef {}\r\n\r\n@Directive({\r\n selector: '[xTableFooterCellDef]',\r\n providers: [{ provide: CdkFooterCellDef, useExisting: XTableFooterCellDef }]\r\n})\r\nexport class XTableFooterCellDef extends CdkFooterCellDef {}\r\n\r\n@Directive({\r\n selector: '[xTableColumnDef]',\r\n providers: [{ provide: CdkColumnDef, useExisting: XTableColumnDef }]\r\n})\r\nexport class XTableColumnDef extends CdkColumnDef {\r\n @Input('xTableColumnDef')\r\n override get name(): string {\r\n return this._name;\r\n }\r\n override set name(name: string) {\r\n this._setNameInput(name);\r\n }\r\n protected override _updateColumnCssClassName() {\r\n super._updateColumnCssClassName();\r\n this._columnCssClassName!.push(`x-table-column-${this.cssClassFriendlyName}`);\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: 'x-table-header-cell, th[x-table-header-cell]',\r\n host: {\r\n class: 'x-table-header-cell',\r\n role: 'columnheader'\r\n }\r\n})\r\nexport class XTableHeaderCell extends CdkHeaderCell implements XTableHeaderCellHandle {\r\n tableViewService = inject(XTableViewService, { optional: true })!;\r\n tableView = inject(X_TABLE_VIEW_CONTEXT, { optional: true });\r\n elementRef = inject(ElementRef);\r\n\r\n @HostBinding('class.x-table-header-cell-actived') get isActived() {\r\n return this.tableViewService.activedHeaderCells.includes(this);\r\n }\r\n\r\n @HostListener('click') onClick() {\r\n this.tableViewService.activedHeaderCells = [this];\r\n\r\n const headerCells = this.tableView?.getHeaderCells() ?? [];\r\n const index = headerCells.indexOf(this);\r\n\r\n const cells = this.tableView?.getCells() ?? [];\r\n const columnsCount = (this.tableView?.getHeaderRowRef()?.getColumns() as string[]).length ?? 0;\r\n const rowsCount = this.tableView?.getRows().length ?? 0;\r\n\r\n if (columnsCount === 0 || rowsCount === 0) {\r\n return;\r\n }\r\n\r\n const columnCells: XTableViewCellHandle[] = [];\r\n for (let i = 0; i < rowsCount; i++) {\r\n const cellIndex = index * rowsCount + i;\r\n if (cellIndex < cells.length) {\r\n columnCells.push(cells[cellIndex]);\r\n }\r\n }\r\n\r\n this.tableViewService.selectedCells = [];\r\n\r\n for (let cell of columnCells) {\r\n this.tableViewService.selectedCells.push(cell);\r\n cell.setActivedRow(cell);\r\n }\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: 'x-table-footer-cell, td[x-table-footer-cell]',\r\n host: {\r\n class: 'x-table-footer-cell'\r\n }\r\n})\r\nexport class XTableFooterCell extends CdkFooterCell {}\r\n\r\n@Directive({\r\n selector: 'x-table-cell, td[x-table-cell]',\r\n host: {\r\n class: 'x-table-cell'\r\n }\r\n})\r\nexport class XTableViewCell extends CdkCell implements XTableViewCellHandle {\r\n tableViewService = inject(XTableViewService, { optional: true })!;\r\n tableView = inject(X_TABLE_VIEW_CONTEXT, { optional: true });\r\n elementRef = inject(ElementRef);\r\n @HostBinding('class.x-table-cell-selected') get isSelected() {\r\n return this.tableViewService.selectedCells.includes(this);\r\n }\r\n\r\n @HostListener('click') onClick() {\r\n this.tableViewService.selectedCells = [this];\r\n this.tableViewService.activedRows = [];\r\n this.setActivedRow(this);\r\n this.setActivedColumn(this);\r\n }\r\n\r\n setActivedRow(cell: XTableViewCellHandle) {\r\n const rows = this.tableView?.getRows() ?? [];\r\n if (rows.length > 0) {\r\n const rowIndex = this.getRowIndex(cell);\r\n if (rowIndex >= 0 && rowIndex < rows.length) {\r\n const currentRow = rows[rowIndex];\r\n this.tableViewService.activedRows.push(currentRow);\r\n }\r\n }\r\n }\r\n\r\n setActivedColumn(cell: XTableViewCellHandle) {\r\n const headerCells = (this.tableView?.getHeaderCells() ?? []) as XTableHeaderCell[];\r\n const headerRowRefs = this.tableView?.getHeaderRowRefs() ?? [];\r\n const headerCellsArray = this.convertToColumnBasedArray(headerCells, headerRowRefs.length);\r\n const activedHeaderCells: XTableHeaderCell[] = [];\r\n for (let cells of headerCellsArray) {\r\n if (cells.length > 0) {\r\n const columnIndex = this.getColumnIndex(cell);\r\n if (columnIndex >= 0 && columnIndex < cells.length) {\r\n activedHeaderCells.push(cells[columnIndex]);\r\n }\r\n }\r\n }\r\n this.tableViewService.activedHeaderCells = activedHeaderCells;\r\n }\r\n\r\n private convertToColumnBasedArray<T>(input: T[], columnsPerRow: number): T[][] {\r\n const result: T[][] = [];\r\n\r\n for (let i = 0; i < columnsPerRow; i++) {\r\n result.push([]);\r\n }\r\n\r\n for (let i = 0; i < input.length; i++) {\r\n const columnIndex = i % columnsPerRow;\r\n result[columnIndex].push(input[i]);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private getColumnIndex(cell: XTableViewCellHandle): number {\r\n if (!this.tableView || !this.tableView.getCells()) return -1;\r\n const cellsArray = this.tableView.getCells();\r\n const selectedIndex = cellsArray.indexOf(cell);\r\n if (selectedIndex === -1) return -1;\r\n const columnsPerRow = (this.tableView.getHeaderRowRef()?.getColumns() as string[]).length ?? 0;\r\n const rowsCount = this.tableView.getRows().length;\r\n if (columnsPerRow === 0 || rowsCount === 0) return -1;\r\n\r\n return Math.floor(selectedIndex / rowsCount);\r\n }\r\n\r\n private getRowIndex(cell: XTableViewCellHandle): number {\r\n if (!this.tableView || !this.tableView.getCells()) return -1;\r\n const cellsArray = this.tableView.getCells();\r\n const selectedIndex = cellsArray.indexOf(cell);\r\n if (selectedIndex === -1) return -1;\r\n const columnsPerRow = (this.tableView.getHeaderRowRef()?.getColumns() as string[]).length ?? 0;\r\n const rowsCount = this.tableView.getRows().length;\r\n if (columnsPerRow === 0 || rowsCount === 0) return -1;\r\n\r\n return selectedIndex % rowsCount;\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Directive,\r\n HostBinding,\r\n ViewEncapsulation,\r\n booleanAttribute,\r\n inject,\r\n signal\r\n} from '@angular/core';\r\nimport {\r\n CdkCellOutlet,\r\n CdkFooterRow,\r\n CdkFooterRowDef,\r\n CdkHeaderRow,\r\n CdkHeaderRowDef,\r\n CdkNoDataRow,\r\n CdkRow,\r\n CdkRowDef\r\n} from '@angular/cdk/table';\r\nimport { XTableViewService } from './table-view.service';\r\nimport type { XTableHeaderRowDefHandle, XTableHeaderRowHandle, XTableViewRowHandle } from './table-view.property';\r\nimport { X_TABLE_VIEW_CONTEXT } from './table-view.token';\r\n\r\nconst ROW_TEMPLATE = `<ng-container cdkCellOutlet></ng-container>`;\r\n\r\n@Directive({\r\n selector: '[xTableHeaderRowDef]',\r\n providers: [{ provide: CdkHeaderRowDef, useExisting: XTableHeaderRowDef }],\r\n inputs: [\r\n { name: 'columns', alias: 'xTableHeaderRowDef' },\r\n { name: 'sticky', alias: 'xTableHeaderRowDefSticky', transform: booleanAttribute }\r\n ]\r\n})\r\nexport class XTableHeaderRowDef extends CdkHeaderRowDef implements XTableHeaderRowDefHandle {\r\n getSticky(): boolean {\r\n return this.sticky;\r\n }\r\n\r\n getColumns() {\r\n return this.columns as string[];\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[xTableFooterRowDef]',\r\n providers: [{ provide: CdkFooterRowDef, useExisting: XTableFooterRowDef }],\r\n inputs: [\r\n { name: 'columns', alias: 'xTableFooterRowDef' },\r\n { name: 'sticky', alias: 'xTableFooterRowDefSticky', transform: booleanAttribute }\r\n ]\r\n})\r\nexport class XTableFooterRowDef extends CdkFooterRowDef {}\r\n\r\n@Directive({\r\n selector: '[xTableRowDef]',\r\n providers: [{ provide: CdkRowDef, useExisting: XTableViewRowDef }],\r\n inputs: [\r\n { name: 'columns', alias: 'xTableRowDefColumns' },\r\n { name: 'when', alias: 'xTableRowDefWhen' }\r\n ]\r\n})\r\nexport class XTableViewRowDef<T> extends CdkRowDef<T> {}\r\n\r\n@Component({\r\n selector: 'x-table-header-row, tr[x-table-header-row]',\r\n template: ROW_TEMPLATE,\r\n host: {\r\n class: 'x-table-header-row',\r\n role: 'row'\r\n },\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'xTableHeaderRow',\r\n providers: [{ provide: CdkHeaderRow, useExisting: XTableHeaderRow }],\r\n imports: [CdkCellOutlet]\r\n})\r\nexport class XTableHeaderRow extends CdkHeaderRow implements XTableHeaderRowHandle {\r\n tableView = inject(X_TABLE_VIEW_CONTEXT, { optional: true });\r\n tableViewService = inject(XTableViewService, { optional: true })!;\r\n sticking = signal(false);\r\n\r\n @HostBinding('class.x-table-sticky-top') get isSticking() {\r\n return this.sticking();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.listenerSticky();\r\n }\r\n\r\n listenerSticky() {\r\n const index = this.tableView?.getHeaderRows().findIndex((x) => x === this);\r\n if (index === undefined || index < 0) return;\r\n const rowLen = this.tableView?.getHeaderRowRefs()?.length ?? 0;\r\n if (rowLen === 0 || rowLen < index) return;\r\n const sticky = this.tableView?.getHeaderRowRefs()[index].getSticky();\r\n if (!sticky) return;\r\n const sentinel = this.tableView?.getSentinelTop()?.nativeElement!;\r\n const observer = new IntersectionObserver(\r\n ([entry]) => {\r\n const sticking = !entry.isIntersecting;\r\n if (sticking) {\r\n if (!this.tableViewService.stickyHeaderRows.includes(this)) {\r\n this.tableViewService.stickyHeaderRows.push(this);\r\n }\r\n } else {\r\n if (this.tableViewService.stickyHeaderRows.includes(this)) {\r\n this.tableViewService.stickyHeaderRows = this.tableViewService.stickyHeaderRows.filter(\r\n (item) => item !== this\r\n );\r\n }\r\n }\r\n this.sticking.set(sticking);\r\n },\r\n { threshold: 0 }\r\n );\r\n\r\n observer.observe(sentinel);\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'x-table-footer-row, tr[x-table-footer-row]',\r\n template: ROW_TEMPLATE,\r\n host: {\r\n class: 'x-table-footer-row',\r\n role: 'row'\r\n },\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'xTableFooterRow',\r\n providers: [{ provide: CdkFooterRow, useExisting: XTableFooterRow }],\r\n imports: [CdkCellOutlet]\r\n})\r\nexport class XTableFooterRow extends CdkFooterRow {}\r\n\r\n@Component({\r\n selector: 'x-table-row, tr[x-table-row]',\r\n template: ROW_TEMPLATE,\r\n host: {\r\n class: 'x-table-row',\r\n role: 'row'\r\n },\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'xTableRow',\r\n providers: [{ provide: CdkRow, useExisting: XTableViewRow }],\r\n imports: [CdkCellOutlet]\r\n})\r\nexport class XTableViewRow extends CdkRow implements XTableViewRowHandle {\r\n tableViewService = inject(XTableViewService, { optional: true })!;\r\n\r\n @HostBinding('class.x-table-row-actived') get isActived() {\r\n return this.tableViewService.activedRows.includes(this);\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: 'ng-template[xTableNoDataRow]',\r\n providers: [{ provide: CdkNoDataRow, useExisting: XTableNoDataRow }]\r\n})\r\nexport class XTableNoDataRow extends CdkNoDataRow {\r\n override _contentClassNames = ['x-table-no-data-row'];\r\n}\r\n","import { CdkTable } from '@angular/cdk/table';\r\nimport { Component, inject } from '@angular/core';\r\nimport { XConfigService } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Table view\r\n * @selector x-table-view\r\n * @decorator component\r\n */\r\nexport const XTableViewPrefix = 'x-table-view';\r\nconst X_TABLE_VIEW_CONFIG_NAME = 'tableView';\r\n\r\n/**\r\n * Table view Property\r\n */\r\n@Component({ selector: `${XTableViewPrefix}-property`, template: '' })\r\nexport class XTableViewProperty<T> extends CdkTable<T> {\r\n config = inject(XConfigService).getConfigForComponent(X_TABLE_VIEW_CONFIG_NAME);\r\n}\r\n\r\nexport interface XTableHeaderRowHandle {\r\n listenerSticky(): void;\r\n}\r\n\r\nexport interface XTableViewRowHandle {}\r\n\r\nexport interface XTableHeaderRowDefHandle {\r\n getSticky(): boolean;\r\n getColumns(): string[];\r\n}\r\nexport interface XTableHeaderCellHandle {}\r\n\r\nexport interface XTableViewCellHandle {\r\n setActivedRow(cell: XTableViewCellHandle): void;\r\n setActivedColumn(cell: XTableViewCellHandle): void;\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n contentChild,\r\n contentChildren,\r\n ElementRef,\r\n inject,\r\n viewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {\r\n CdkTable,\r\n CDK_TABLE,\r\n STICKY_POSITIONING_LISTENER,\r\n HeaderRowOutlet,\r\n DataRowOutlet,\r\n NoDataRowOutlet,\r\n FooterRowOutlet\r\n} from '@angular/cdk/table';\r\n\r\nimport { XTableViewProperty } from './table-view.property';\r\nimport { XTableViewService } from './table-view.service';\r\nimport { XTableViewCell, XTableColumnDef, XTableHeaderCell } from './cell';\r\nimport { XTableHeaderRow, XTableHeaderRowDef, XTableViewRow } from './row';\r\nimport { X_TABLE_VIEW_CONTEXT } from './table-view.token';\r\n\r\n@Component({\r\n selector: 'x-table-view, table[x-table-view]',\r\n exportAs: 'xTableView',\r\n templateUrl: 'table-view.component.html',\r\n styleUrl: 'table-view.component.scss',\r\n host: {\r\n class: 'x-table-view',\r\n '[class.x-table-fixed-layout]': 'fixedLayout'\r\n },\r\n providers: [\r\n { provide: CdkTable, useExisting: XTableView },\r\n { provide: CDK_TABLE, useExisting: XTableView },\r\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\r\n {\r\n provide: X_TABLE_VIEW_CONTEXT,\r\n useExisting: XTableView\r\n },\r\n XTableViewService\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n imports: [HeaderRowOutlet, DataRowOutlet, NoDataRowOutlet, FooterRowOutlet]\r\n})\r\nexport class XTableView<T> extends XTableViewProperty<T> {\r\n elementRef = inject(ElementRef);\r\n sentinelTop = viewChild<ElementRef<HTMLElement>>('sentinelTop');\r\n headerRowRef = contentChild(XTableHeaderRowDef);\r\n headerRowRefs = contentChildren(XTableHeaderRowDef);\r\n headerRows = contentChildren(XTableHeaderRow);\r\n columnDefs = contentChildren(XTableColumnDef);\r\n headerCells = contentChildren(XTableHeaderCell);\r\n\r\n cells = contentChildren(XTableViewCell);\r\n rows = contentChildren(XTableViewRow);\r\n\r\n /** Overrides the sticky CSS class set by the `CdkTable`. */\r\n protected override stickyCssClass = 'x-table-sticky';\r\n\r\n /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */\r\n protected override needsPositionStickyOnElement = false;\r\n\r\n getHeaderRows() {\r\n return this.headerRows();\r\n }\r\n\r\n getHeaderRowRefs() {\r\n return this.headerRowRefs();\r\n }\r\n\r\n getSentinelTop() {\r\n return this.sentinelTop();\r\n }\r\n\r\n getHeaderCells() {\r\n return this.headerCells();\r\n }\r\n\r\n getCells() {\r\n return this.cells();\r\n }\r\n\r\n getRows() {\r\n return this.rows();\r\n }\r\n}\r\n","<ng-content select=\"caption\" />\r\n<ng-content select=\"colgroup, col\" />\r\n\r\n<!--\r\n Unprojected content throws a hydration error so we need this to capture it.\r\n It gets removed on the client so it doesn't affect the layout.\r\n -->\r\n@if (_isServer) {\r\n <ng-content />\r\n}\r\n<div class=\"x-table-sentinel-top\" #sentinelTop></div>\r\n@if (_isNativeHtmlTable) {\r\n <thead>\r\n <ng-container headerRowOutlet />\r\n </thead>\r\n <tbody>\r\n <ng-container rowOutlet />\r\n <ng-container noDataRowOutlet />\r\n </tbody>\r\n <tfoot>\r\n <ng-container footerRowOutlet />\r\n </tfoot>\r\n} @else {\r\n <ng-container headerRowOutlet />\r\n <ng-container rowOutlet />\r\n <ng-container noDataRowOutlet />\r\n <ng-container footerRowOutlet />\r\n}\r\n","import { CdkTextColumn } from '@angular/cdk/table';\r\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\nimport { XTableColumnDef, XTableHeaderCellDef, XTableHeaderCell, XTableViewCellDef, XTableViewCell } from './cell';\r\n\r\n@Component({\r\n selector: 'x-table-text-column',\r\n template: `\r\n <ng-container xTableColumnDef>\r\n <th x-table-header-cell *xTableHeaderCellDef [style.text-align]=\"justify\">\r\n {{ headerText }}\r\n </th>\r\n <td x-table-cell *xTableCellDef=\"let data\" [style.text-align]=\"justify\">\r\n {{ dataAccessor(data, name) }}\r\n </td>\r\n </ng-container>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n imports: [XTableColumnDef, XTableHeaderCellDef, XTableHeaderCell, XTableViewCellDef, XTableViewCell]\r\n})\r\nexport class XTableTextColumn<T> extends CdkTextColumn<T> {}\r\n","import { NgModule } from '@angular/core';\r\nimport {\r\n XTableViewCell,\r\n XTableViewCellDef,\r\n XTableColumnDef,\r\n XTableFooterCell,\r\n XTableFooterCellDef,\r\n XTableHeaderCell,\r\n XTableHeaderCellDef\r\n} from './cell';\r\nimport {\r\n XTableFooterRow,\r\n XTableFooterRowDef,\r\n XTableHeaderRow,\r\n XTableHeaderRowDef,\r\n XTableNoDataRow,\r\n XTableViewRow,\r\n XTableViewRowDef\r\n} from './row';\r\nimport { XTableView } from './table-view.component';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { XTableTextColumn } from './text-column';\r\n\r\nconst EXPORTED_DECLARATIONS = [\r\n // Table\r\n XTableView,\r\n\r\n // Template defs\r\n XTableHeaderCellDef,\r\n XTableHeaderRowDef,\r\n XTableColumnDef,\r\n XTableViewCellDef,\r\n XTableViewRowDef,\r\n XTableFooterCellDef,\r\n XTableFooterRowDef,\r\n\r\n // Cell directives\r\n XTableHeaderCell,\r\n XTableViewCell,\r\n XTableFooterCell,\r\n\r\n // Row directives\r\n XTableHeaderRow,\r\n XTableViewRow,\r\n XTableFooterRow,\r\n XTableNoDataRow,\r\n\r\n XTableTextColumn\r\n];\r\n\r\n@NgModule({\r\n exports: [...EXPORTED_DECLARATIONS],\r\n imports: [CdkTableModule, ...EXPORTED_DECLARATIONS]\r\n})\r\nexport class XTableViewModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|