@wlcm/angular 17.5.9 → 17.5.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/forms/esm2022/lib/forms/components/select/select.component.mjs +25 -4
- package/forms/esm2022/lib/forms/constants/index.mjs +2 -1
- package/forms/esm2022/lib/forms/constants/select.constants.mjs +3 -0
- package/forms/esm2022/lib/forms/models/_index.mjs +2 -1
- package/forms/esm2022/lib/forms/models/select.models.mjs +2 -0
- package/forms/fesm2022/wlcm-angular-forms.mjs +25 -3
- package/forms/fesm2022/wlcm-angular-forms.mjs.map +1 -1
- package/forms/lib/forms/constants/index.d.ts +1 -0
- package/forms/lib/forms/constants/select.constants.d.ts +3 -0
- package/forms/lib/forms/models/_index.d.ts +1 -0
- package/forms/lib/forms/models/select.models.d.ts +4 -0
- package/package.json +9 -1
- package/table/README.md +7 -0
- package/table/esm2022/index.mjs +9 -0
- package/table/esm2022/lib/components/table/table.component.mjs +36 -0
- package/table/esm2022/lib/components/table-head/table-head.component.mjs +21 -0
- package/table/esm2022/lib/components/table-head-actions/table-head-actions.component.mjs +41 -0
- package/table/esm2022/lib/components/table-head-data/table-head-data.component.mjs +12 -0
- package/table/esm2022/lib/components/table-row/table-row.component.mjs +48 -0
- package/table/esm2022/lib/components/table-row-actions/table-row-actions.component.mjs +53 -0
- package/table/esm2022/lib/components/table-row-data/table-row-data.component.mjs +12 -0
- package/table/esm2022/lib/components/table-row-spacer/table-row-spacer.component.mjs +12 -0
- package/table/esm2022/lib/constants/table-row.constants.mjs +3 -0
- package/table/esm2022/lib/constants/table.constants.mjs +5 -0
- package/table/esm2022/lib/directives/scrollable-table-container.directive.mjs +15 -0
- package/table/esm2022/lib/models/table-row.models.mjs +2 -0
- package/table/esm2022/lib/models/table-selection-model.mjs +45 -0
- package/table/esm2022/lib/models/table.models.mjs +2 -0
- package/table/esm2022/lib/pipes/table-row-injector.pipe.mjs +24 -0
- package/table/esm2022/lib/table.module.mjs +38 -0
- package/table/esm2022/wlcm-angular-table.mjs +5 -0
- package/table/fesm2022/wlcm-angular-table.mjs +308 -0
- package/table/fesm2022/wlcm-angular-table.mjs.map +1 -0
- package/table/index.d.ts +9 -0
- package/table/lib/components/table/table.component.d.ts +16 -0
- package/table/lib/components/table-head/table-head.component.d.ts +8 -0
- package/table/lib/components/table-head-actions/table-head-actions.component.d.ts +12 -0
- package/table/lib/components/table-head-data/table-head-data.component.d.ts +5 -0
- package/table/lib/components/table-row/table-row.component.d.ts +15 -0
- package/table/lib/components/table-row-actions/table-row-actions.component.d.ts +17 -0
- package/table/lib/components/table-row-data/table-row-data.component.d.ts +5 -0
- package/table/lib/components/table-row-spacer/table-row-spacer.component.d.ts +5 -0
- package/table/lib/constants/table-row.constants.d.ts +3 -0
- package/table/lib/constants/table.constants.d.ts +3 -0
- package/table/lib/directives/scrollable-table-container.directive.d.ts +5 -0
- package/table/lib/models/table-row.models.d.ts +8 -0
- package/table/lib/models/table-selection-model.d.ts +23 -0
- package/table/lib/models/table.models.d.ts +4 -0
- package/table/lib/pipes/table-row-injector.pipe.d.ts +9 -0
- package/table/lib/table.module.d.ts +13 -0
@@ -0,0 +1,308 @@
|
|
1
|
+
import * as i0 from '@angular/core';
|
2
|
+
import { InjectionToken, inject, Injector, Pipe, Component, Inject, output, HostBinding, input, effect, Directive, NgModule } from '@angular/core';
|
3
|
+
import * as i1 from '@angular/common';
|
4
|
+
import { CommonModule } from '@angular/common';
|
5
|
+
import { BehaviorSubject, map } from 'rxjs';
|
6
|
+
import { __decorate, __metadata } from 'tslib';
|
7
|
+
import * as i2 from '@wlcm/angular/forms';
|
8
|
+
import { WlcmFormsModule } from '@wlcm/angular/forms';
|
9
|
+
import * as i3 from '@angular/forms';
|
10
|
+
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
11
|
+
import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
|
12
|
+
import { RxLet } from '@rx-angular/template/let';
|
13
|
+
|
14
|
+
class WlcmTableSelectionModel {
|
15
|
+
constructor() {
|
16
|
+
this._selection = new Set();
|
17
|
+
this._selectionChanged = new BehaviorSubject(this._selection);
|
18
|
+
this.selectionChanged = this._selectionChanged.asObservable();
|
19
|
+
}
|
20
|
+
}
|
21
|
+
class DefaultWlcmTableSelectionModel extends WlcmTableSelectionModel {
|
22
|
+
constructor() {
|
23
|
+
super(...arguments);
|
24
|
+
this._values = [];
|
25
|
+
this._selectAll = false;
|
26
|
+
this.allSelected = this._selectionChanged.pipe(map(() => this._values.length > 0 && this._selection.size === this._values.length));
|
27
|
+
}
|
28
|
+
selectOne(value) {
|
29
|
+
this._selection.add(value);
|
30
|
+
this.triggerSelectionChanged();
|
31
|
+
}
|
32
|
+
deselectOne(value) {
|
33
|
+
this._selectAll = false;
|
34
|
+
this._selection.delete(value);
|
35
|
+
this.triggerSelectionChanged();
|
36
|
+
}
|
37
|
+
selectAll() {
|
38
|
+
this._selectAll = true;
|
39
|
+
this._selection.clear();
|
40
|
+
this._values.forEach((value) => this._selection.add(value));
|
41
|
+
this.triggerSelectionChanged();
|
42
|
+
}
|
43
|
+
deselectAll() {
|
44
|
+
this._selectAll = false;
|
45
|
+
this._selection.clear();
|
46
|
+
this.triggerSelectionChanged();
|
47
|
+
}
|
48
|
+
updateCollection(values) {
|
49
|
+
this._values = values;
|
50
|
+
if (this._selectAll)
|
51
|
+
this.selectAll();
|
52
|
+
}
|
53
|
+
triggerSelectionChanged() {
|
54
|
+
this._selectionChanged.next(this._selection);
|
55
|
+
}
|
56
|
+
}
|
57
|
+
|
58
|
+
const WLCM_TABLE_ROW_CONTEXT = new InjectionToken('WLCM_TABLE_ROW_CONTEXT');
|
59
|
+
|
60
|
+
class WlcmTableRowInjectorPipe {
|
61
|
+
constructor() {
|
62
|
+
this.injector = inject(Injector);
|
63
|
+
}
|
64
|
+
transform(context) {
|
65
|
+
return Injector.create({
|
66
|
+
providers: [{ provide: WLCM_TABLE_ROW_CONTEXT, useValue: context }],
|
67
|
+
parent: this.injector,
|
68
|
+
});
|
69
|
+
}
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowInjectorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
71
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowInjectorPipe, isStandalone: true, name: "wlcmTableRowInjector" }); }
|
72
|
+
}
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowInjectorPipe, decorators: [{
|
74
|
+
type: Pipe,
|
75
|
+
args: [{
|
76
|
+
name: 'wlcmTableRowInjector',
|
77
|
+
standalone: true,
|
78
|
+
}]
|
79
|
+
}] });
|
80
|
+
|
81
|
+
let WlcmTableHeadActionsComponent = class WlcmTableHeadActionsComponent {
|
82
|
+
constructor(selectionModel) {
|
83
|
+
this.selectionModel = selectionModel;
|
84
|
+
this.control = new FormControl(false);
|
85
|
+
this.handleSelectionChange();
|
86
|
+
}
|
87
|
+
toggle(isChecked) {
|
88
|
+
if (isChecked) {
|
89
|
+
return this.selectionModel.selectAll();
|
90
|
+
}
|
91
|
+
this.selectionModel.deselectAll();
|
92
|
+
}
|
93
|
+
handleSelectionChange() {
|
94
|
+
this.selectionModel.allSelected
|
95
|
+
.pipe(untilDestroyed(this))
|
96
|
+
.subscribe((isSelected) => this.control.setValue(isSelected));
|
97
|
+
}
|
98
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableHeadActionsComponent, deps: [{ token: WlcmTableSelectionModel }], target: i0.ɵɵFactoryTarget.Component }); }
|
99
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: WlcmTableHeadActionsComponent, isStandalone: true, selector: "wlcm-table-head-actions", host: { classAttribute: "wlcm-table-head-actions" }, ngImport: i0, template: "<wlcm-checkbox\n [formControl]=\"control\"\n (changed)=\"toggle($event)\"\n></wlcm-checkbox>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: WlcmFormsModule }, { kind: "component", type: i2.WlcmCheckboxComponent, selector: "wlcm-checkbox", outputs: ["changed"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
100
|
+
};
|
101
|
+
WlcmTableHeadActionsComponent = __decorate([
|
102
|
+
UntilDestroy(),
|
103
|
+
__metadata("design:paramtypes", [WlcmTableSelectionModel])
|
104
|
+
], WlcmTableHeadActionsComponent);
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableHeadActionsComponent, decorators: [{
|
106
|
+
type: Component,
|
107
|
+
args: [{ selector: 'wlcm-table-head-actions', host: { class: 'wlcm-table-head-actions' }, standalone: true, imports: [CommonModule, WlcmFormsModule, ReactiveFormsModule], template: "<wlcm-checkbox\n [formControl]=\"control\"\n (changed)=\"toggle($event)\"\n></wlcm-checkbox>\n" }]
|
108
|
+
}], ctorParameters: () => [{ type: WlcmTableSelectionModel }] });
|
109
|
+
|
110
|
+
const WLCM_TABLE_CONFIG = new InjectionToken('WLCM_TABLE_CONFIG', {
|
111
|
+
factory: () => ({ selectable: false }),
|
112
|
+
});
|
113
|
+
|
114
|
+
class WlcmTableHeadComponent {
|
115
|
+
constructor(tableConfig) {
|
116
|
+
this.tableConfig = tableConfig;
|
117
|
+
}
|
118
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableHeadComponent, deps: [{ token: WLCM_TABLE_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
119
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: WlcmTableHeadComponent, isStandalone: true, selector: "wlcm-table-head", host: { classAttribute: "wlcm-table-head" }, ngImport: i0, template: "<wlcm-table-head-actions\n *ngIf=\"tableConfig.selectable\"\n></wlcm-table-head-actions>\n\n<ng-content select=\"wlcm-table-head-data\"></ng-content>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: WlcmTableHeadActionsComponent, selector: "wlcm-table-head-actions" }] }); }
|
120
|
+
}
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableHeadComponent, decorators: [{
|
122
|
+
type: Component,
|
123
|
+
args: [{ selector: 'wlcm-table-head', host: { class: 'wlcm-table-head' }, standalone: true, imports: [CommonModule, WlcmTableHeadActionsComponent], template: "<wlcm-table-head-actions\n *ngIf=\"tableConfig.selectable\"\n></wlcm-table-head-actions>\n\n<ng-content select=\"wlcm-table-head-data\"></ng-content>\n" }]
|
124
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
125
|
+
type: Inject,
|
126
|
+
args: [WLCM_TABLE_CONFIG]
|
127
|
+
}] }] });
|
128
|
+
|
129
|
+
let WlcmTableRowActionsComponent = class WlcmTableRowActionsComponent {
|
130
|
+
constructor(selectionModel, rowContext) {
|
131
|
+
this.selectionModel = selectionModel;
|
132
|
+
this.rowContext = rowContext;
|
133
|
+
this.control = new FormControl(false);
|
134
|
+
this.selectionChanged = output();
|
135
|
+
this.rowId = this.rowContext.selectId(this.rowContext.$implicit);
|
136
|
+
this.handleSelectionChange();
|
137
|
+
}
|
138
|
+
toggle(isChecked) {
|
139
|
+
if (isChecked) {
|
140
|
+
return this.selectionModel.selectOne(this.rowId);
|
141
|
+
}
|
142
|
+
this.selectionModel.deselectOne(this.rowId);
|
143
|
+
}
|
144
|
+
handleSelectionChange() {
|
145
|
+
this.selectionModel.selectionChanged
|
146
|
+
.pipe(untilDestroyed(this))
|
147
|
+
.pipe(map((collection) => collection.has(this.rowId)))
|
148
|
+
.subscribe((isSelected) => {
|
149
|
+
this.control.setValue(isSelected);
|
150
|
+
this.selectionChanged.emit(isSelected);
|
151
|
+
});
|
152
|
+
}
|
153
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowActionsComponent, deps: [{ token: WlcmTableSelectionModel }, { token: WLCM_TABLE_ROW_CONTEXT }], target: i0.ɵɵFactoryTarget.Component }); }
|
154
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: WlcmTableRowActionsComponent, isStandalone: true, selector: "wlcm-table-row-actions", outputs: { selectionChanged: "selectionChanged" }, host: { classAttribute: "wlcm-table-row-actions" }, ngImport: i0, template: "<wlcm-checkbox\n [formControl]=\"control\"\n (changed)=\"toggle($event)\"\n></wlcm-checkbox>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: WlcmFormsModule }, { kind: "component", type: i2.WlcmCheckboxComponent, selector: "wlcm-checkbox", outputs: ["changed"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
155
|
+
};
|
156
|
+
WlcmTableRowActionsComponent = __decorate([
|
157
|
+
UntilDestroy(),
|
158
|
+
__metadata("design:paramtypes", [WlcmTableSelectionModel, Object])
|
159
|
+
], WlcmTableRowActionsComponent);
|
160
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowActionsComponent, decorators: [{
|
161
|
+
type: Component,
|
162
|
+
args: [{ selector: 'wlcm-table-row-actions', host: { class: 'wlcm-table-row-actions' }, standalone: true, imports: [CommonModule, WlcmFormsModule, ReactiveFormsModule], template: "<wlcm-checkbox\n [formControl]=\"control\"\n (changed)=\"toggle($event)\"\n></wlcm-checkbox>\n" }]
|
163
|
+
}], ctorParameters: () => [{ type: WlcmTableSelectionModel }, { type: undefined, decorators: [{
|
164
|
+
type: Inject,
|
165
|
+
args: [WLCM_TABLE_ROW_CONTEXT]
|
166
|
+
}] }] });
|
167
|
+
|
168
|
+
class WlcmTableRowComponent {
|
169
|
+
get isSelected() {
|
170
|
+
return this._isSelected;
|
171
|
+
}
|
172
|
+
get first() {
|
173
|
+
return this.rowContext.first;
|
174
|
+
}
|
175
|
+
get last() {
|
176
|
+
return this.rowContext.last;
|
177
|
+
}
|
178
|
+
constructor(tableConfig, rowContext) {
|
179
|
+
this.tableConfig = tableConfig;
|
180
|
+
this.rowContext = rowContext;
|
181
|
+
this._isSelected = false;
|
182
|
+
}
|
183
|
+
handleSelectionChange(isSelected) {
|
184
|
+
this._isSelected = isSelected;
|
185
|
+
}
|
186
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowComponent, deps: [{ token: WLCM_TABLE_CONFIG }, { token: WLCM_TABLE_ROW_CONTEXT }], target: i0.ɵɵFactoryTarget.Component }); }
|
187
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: WlcmTableRowComponent, isStandalone: true, selector: "wlcm-table-row", host: { properties: { "class.wlcm-table-row-selected": "this.isSelected", "class.wlcm-table-row-first": "this.first", "class.wlcm-table-row-last": "this.last" }, classAttribute: "wlcm-table-row" }, ngImport: i0, template: "<wlcm-table-row-actions\n *ngIf=\"tableConfig.selectable\"\n (selectionChanged)=\"handleSelectionChange($event)\"\n></wlcm-table-row-actions>\n\n<ng-content select=\"wlcm-table-row-data\"></ng-content>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: WlcmTableRowActionsComponent, selector: "wlcm-table-row-actions", outputs: ["selectionChanged"] }] }); }
|
188
|
+
}
|
189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowComponent, decorators: [{
|
190
|
+
type: Component,
|
191
|
+
args: [{ selector: 'wlcm-table-row', host: { class: 'wlcm-table-row' }, standalone: true, imports: [CommonModule, WlcmTableRowActionsComponent], template: "<wlcm-table-row-actions\n *ngIf=\"tableConfig.selectable\"\n (selectionChanged)=\"handleSelectionChange($event)\"\n></wlcm-table-row-actions>\n\n<ng-content select=\"wlcm-table-row-data\"></ng-content>\n" }]
|
192
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
193
|
+
type: Inject,
|
194
|
+
args: [WLCM_TABLE_CONFIG]
|
195
|
+
}] }, { type: undefined, decorators: [{
|
196
|
+
type: Inject,
|
197
|
+
args: [WLCM_TABLE_ROW_CONTEXT]
|
198
|
+
}] }], propDecorators: { isSelected: [{
|
199
|
+
type: HostBinding,
|
200
|
+
args: ['class.wlcm-table-row-selected']
|
201
|
+
}], first: [{
|
202
|
+
type: HostBinding,
|
203
|
+
args: ['class.wlcm-table-row-first']
|
204
|
+
}], last: [{
|
205
|
+
type: HostBinding,
|
206
|
+
args: ['class.wlcm-table-row-last']
|
207
|
+
}] } });
|
208
|
+
|
209
|
+
class WlcmTableRowSpacerComponent {
|
210
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowSpacerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
211
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: WlcmTableRowSpacerComponent, isStandalone: true, selector: "wlcm-table-row-spacer", host: { classAttribute: "wlcm-table-row-spacer" }, ngImport: i0, template: "", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
212
|
+
}
|
213
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowSpacerComponent, decorators: [{
|
214
|
+
type: Component,
|
215
|
+
args: [{ selector: 'wlcm-table-row-spacer', host: { class: 'wlcm-table-row-spacer' }, standalone: true, imports: [CommonModule], template: "" }]
|
216
|
+
}] });
|
217
|
+
|
218
|
+
class WlcmTableComponent {
|
219
|
+
constructor(selectionModel) {
|
220
|
+
this.selectionModel = selectionModel;
|
221
|
+
this.rows = input([]);
|
222
|
+
this.headTemplate = input.required();
|
223
|
+
this.rowTemplate = input.required();
|
224
|
+
this.selectId = input.required();
|
225
|
+
this.injector = inject(Injector);
|
226
|
+
effect(() => this.selectionModel.updateCollection(this.rows().map(this.selectId())));
|
227
|
+
}
|
228
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableComponent, deps: [{ token: WlcmTableSelectionModel }], target: i0.ɵɵFactoryTarget.Component }); }
|
229
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: WlcmTableComponent, isStandalone: true, selector: "wlcm-table", inputs: { rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, headTemplate: { classPropertyName: "headTemplate", publicName: "headTemplate", isSignal: true, isRequired: true, transformFunction: null }, rowTemplate: { classPropertyName: "rowTemplate", publicName: "rowTemplate", isSignal: true, isRequired: true, transformFunction: null }, selectId: { classPropertyName: "selectId", publicName: "selectId", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "wlcm-table" }, providers: [{ provide: WlcmTableSelectionModel, useClass: DefaultWlcmTableSelectionModel }], ngImport: i0, template: "<ng-container\n *ngTemplateOutlet=\"headTemplate(); injector: injector\"\n></ng-container>\n\n<tbody>\n @for (row of rows(); track row; let index = $index; let first = $first; let\n last = $last) {\n <wlcm-table-row-spacer></wlcm-table-row-spacer>\n\n <ng-container\n *rxLet=\"\n {\n $implicit: row,\n selectId: selectId(),\n index: index,\n first: first,\n last: last,\n };\n let context\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate();\n context: context;\n injector: context | wlcmTableRowInjector\n \"\n >\n </ng-container>\n </ng-container>\n\n }\n</tbody>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: WlcmTableRowInjectorPipe, name: "wlcmTableRowInjector" }, { kind: "component", type: WlcmTableRowSpacerComponent, selector: "wlcm-table-row-spacer" }, { kind: "directive", type: RxLet, selector: "[rxLet]", inputs: ["rxLet", "rxLetStrategy", "rxLetComplete", "rxLetError", "rxLetSuspense", "rxLetContextTrigger", "rxLetCompleteTrigger", "rxLetErrorTrigger", "rxLetSuspenseTrigger", "rxLetNextTrigger", "rxLetRenderCallback", "rxLetParent", "rxLetPatchZone"], outputs: ["rendered"] }] }); }
|
230
|
+
}
|
231
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableComponent, decorators: [{
|
232
|
+
type: Component,
|
233
|
+
args: [{ selector: 'wlcm-table', host: { class: 'wlcm-table' }, standalone: true, imports: [
|
234
|
+
CommonModule,
|
235
|
+
WlcmTableHeadComponent,
|
236
|
+
WlcmTableRowComponent,
|
237
|
+
WlcmTableRowInjectorPipe,
|
238
|
+
WlcmTableRowSpacerComponent,
|
239
|
+
RxLet,
|
240
|
+
], providers: [{ provide: WlcmTableSelectionModel, useClass: DefaultWlcmTableSelectionModel }], template: "<ng-container\n *ngTemplateOutlet=\"headTemplate(); injector: injector\"\n></ng-container>\n\n<tbody>\n @for (row of rows(); track row; let index = $index; let first = $first; let\n last = $last) {\n <wlcm-table-row-spacer></wlcm-table-row-spacer>\n\n <ng-container\n *rxLet=\"\n {\n $implicit: row,\n selectId: selectId(),\n index: index,\n first: first,\n last: last,\n };\n let context\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate();\n context: context;\n injector: context | wlcmTableRowInjector\n \"\n >\n </ng-container>\n </ng-container>\n\n }\n</tbody>\n" }]
|
241
|
+
}], ctorParameters: () => [{ type: WlcmTableSelectionModel }] });
|
242
|
+
|
243
|
+
class WlcmTableHeadDataComponent {
|
244
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableHeadDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
245
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: WlcmTableHeadDataComponent, isStandalone: true, selector: "wlcm-table-head-data", host: { classAttribute: "wlcm-table-head-data" }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
246
|
+
}
|
247
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableHeadDataComponent, decorators: [{
|
248
|
+
type: Component,
|
249
|
+
args: [{ selector: 'wlcm-table-head-data', host: { class: 'wlcm-table-head-data' }, standalone: true, imports: [CommonModule], template: "<ng-content></ng-content>\n" }]
|
250
|
+
}] });
|
251
|
+
|
252
|
+
class WlcmTableRowDataComponent {
|
253
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
254
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: WlcmTableRowDataComponent, isStandalone: true, selector: "wlcm-table-row-data", host: { classAttribute: "wlcm-table-row-data" }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
255
|
+
}
|
256
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowDataComponent, decorators: [{
|
257
|
+
type: Component,
|
258
|
+
args: [{ selector: 'wlcm-table-row-data', host: { class: 'wlcm-table-row-data' }, standalone: true, imports: [CommonModule], template: "<ng-content></ng-content>\n" }]
|
259
|
+
}] });
|
260
|
+
|
261
|
+
class WlcmScrollableTableContainerDirective {
|
262
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmScrollableTableContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
263
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: WlcmScrollableTableContainerDirective, isStandalone: true, selector: "[wlcmScrollableTableContainer]", host: { classAttribute: "wlcm-scrollable-table-container" }, ngImport: i0 }); }
|
264
|
+
}
|
265
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmScrollableTableContainerDirective, decorators: [{
|
266
|
+
type: Directive,
|
267
|
+
args: [{
|
268
|
+
selector: '[wlcmScrollableTableContainer]',
|
269
|
+
host: { class: 'wlcm-scrollable-table-container' },
|
270
|
+
standalone: true,
|
271
|
+
}]
|
272
|
+
}] });
|
273
|
+
|
274
|
+
const publicComponents = [
|
275
|
+
WlcmTableComponent,
|
276
|
+
WlcmTableHeadComponent,
|
277
|
+
WlcmTableHeadDataComponent,
|
278
|
+
WlcmTableRowDataComponent,
|
279
|
+
WlcmTableRowComponent,
|
280
|
+
];
|
281
|
+
const publicDirectives = [WlcmScrollableTableContainerDirective];
|
282
|
+
class WlcmTableModule {
|
283
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
284
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableModule, imports: [CommonModule, WlcmTableComponent,
|
285
|
+
WlcmTableHeadComponent,
|
286
|
+
WlcmTableHeadDataComponent,
|
287
|
+
WlcmTableRowDataComponent,
|
288
|
+
WlcmTableRowComponent, WlcmScrollableTableContainerDirective], exports: [WlcmTableComponent,
|
289
|
+
WlcmTableHeadComponent,
|
290
|
+
WlcmTableHeadDataComponent,
|
291
|
+
WlcmTableRowDataComponent,
|
292
|
+
WlcmTableRowComponent, WlcmScrollableTableContainerDirective] }); }
|
293
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableModule, imports: [CommonModule, publicComponents] }); }
|
294
|
+
}
|
295
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableModule, decorators: [{
|
296
|
+
type: NgModule,
|
297
|
+
args: [{
|
298
|
+
imports: [CommonModule, ...publicComponents, ...publicDirectives],
|
299
|
+
exports: [...publicComponents, ...publicDirectives],
|
300
|
+
}]
|
301
|
+
}] });
|
302
|
+
|
303
|
+
/**
|
304
|
+
* Generated bundle index. Do not edit.
|
305
|
+
*/
|
306
|
+
|
307
|
+
export { WLCM_TABLE_CONFIG, WlcmScrollableTableContainerDirective, WlcmTableComponent, WlcmTableHeadComponent, WlcmTableHeadDataComponent, WlcmTableModule, WlcmTableRowComponent, WlcmTableRowDataComponent };
|
308
|
+
//# sourceMappingURL=wlcm-angular-table.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"wlcm-angular-table.mjs","sources":["../../../../modules/table/src/lib/models/table-selection-model.ts","../../../../modules/table/src/lib/constants/table-row.constants.ts","../../../../modules/table/src/lib/pipes/table-row-injector.pipe.ts","../../../../modules/table/src/lib/components/table-head-actions/table-head-actions.component.ts","../../../../modules/table/src/lib/components/table-head-actions/table-head-actions.component.html","../../../../modules/table/src/lib/constants/table.constants.ts","../../../../modules/table/src/lib/components/table-head/table-head.component.ts","../../../../modules/table/src/lib/components/table-head/table-head.component.html","../../../../modules/table/src/lib/components/table-row-actions/table-row-actions.component.ts","../../../../modules/table/src/lib/components/table-row-actions/table-row-actions.component.html","../../../../modules/table/src/lib/components/table-row/table-row.component.ts","../../../../modules/table/src/lib/components/table-row/table-row.component.html","../../../../modules/table/src/lib/components/table-row-spacer/table-row-spacer.component.ts","../../../../modules/table/src/lib/components/table-row-spacer/table-row-spacer.component.html","../../../../modules/table/src/lib/components/table/table.component.ts","../../../../modules/table/src/lib/components/table/table.component.html","../../../../modules/table/src/lib/components/table-head-data/table-head-data.component.ts","../../../../modules/table/src/lib/components/table-head-data/table-head-data.component.html","../../../../modules/table/src/lib/components/table-row-data/table-row-data.component.ts","../../../../modules/table/src/lib/components/table-row-data/table-row-data.component.html","../../../../modules/table/src/lib/directives/scrollable-table-container.directive.ts","../../../../modules/table/src/lib/table.module.ts","../../../../modules/table/src/wlcm-angular-table.ts"],"sourcesContent":["import { BehaviorSubject, Observable, map } from 'rxjs';\n\nexport abstract class WlcmTableSelectionModel {\n protected _selection: Set<string> = new Set();\n\n protected readonly _selectionChanged: BehaviorSubject<Set<string>> = new BehaviorSubject(this._selection);\n\n readonly selectionChanged: Observable<Set<string>> = this._selectionChanged.asObservable();\n\n abstract readonly allSelected: Observable<boolean>;\n\n abstract selectOne(value: string): void;\n\n abstract deselectOne(value: string): void;\n\n abstract selectAll(): void;\n\n abstract deselectAll(): void;\n\n abstract updateCollection(values: string[]): void;\n}\n\nexport class DefaultWlcmTableSelectionModel extends WlcmTableSelectionModel {\n private _values: string[] = [];\n\n private _selectAll: boolean = false;\n\n readonly allSelected: Observable<boolean> = this._selectionChanged.pipe(\n map(() => this._values.length > 0 && this._selection.size === this._values.length)\n );\n\n selectOne(value: string): void {\n this._selection.add(value);\n\n this.triggerSelectionChanged();\n }\n\n deselectOne(value: string): void {\n this._selectAll = false;\n\n this._selection.delete(value);\n\n this.triggerSelectionChanged();\n }\n\n selectAll(): void {\n this._selectAll = true;\n\n this._selection.clear();\n\n this._values.forEach((value: string) => this._selection.add(value));\n\n this.triggerSelectionChanged();\n }\n\n deselectAll(): void {\n this._selectAll = false;\n\n this._selection.clear();\n\n this.triggerSelectionChanged();\n }\n\n updateCollection(values: string[]): void {\n this._values = values;\n\n if (this._selectAll) this.selectAll();\n }\n\n private triggerSelectionChanged(): void {\n this._selectionChanged.next(this._selection);\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { WlcmTableRowContext } from '../models/table-row.models';\n\nexport const WLCM_TABLE_ROW_CONTEXT: InjectionToken<WlcmTableRowContext<unknown>> = new InjectionToken(\n 'WLCM_TABLE_ROW_CONTEXT'\n);\n","import { Injector, Pipe, PipeTransform, inject } from '@angular/core';\nimport { WlcmTableRowContext } from '../models/table-row.models';\nimport { WLCM_TABLE_ROW_CONTEXT } from '../constants/table-row.constants';\n\n@Pipe({\n name: 'wlcmTableRowInjector',\n standalone: true,\n})\nexport class WlcmTableRowInjectorPipe<T> implements PipeTransform {\n protected injector: Injector = inject(Injector);\n\n transform(context: WlcmTableRowContext<T>): Injector {\n return Injector.create({\n providers: [{ provide: WLCM_TABLE_ROW_CONTEXT, useValue: context }],\n parent: this.injector,\n });\n }\n}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WlcmFormsModule } from '@wlcm/angular/forms';\nimport { WlcmTableSelectionModel } from '../../models/table-selection-model';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\n\n@UntilDestroy()\n@Component({\n selector: 'wlcm-table-head-actions',\n host: { class: 'wlcm-table-head-actions' },\n standalone: true,\n imports: [CommonModule, WlcmFormsModule, ReactiveFormsModule],\n templateUrl: './table-head-actions.component.html',\n styleUrl: './table-head-actions.component.scss',\n})\nexport class WlcmTableHeadActionsComponent {\n readonly control: FormControl = new FormControl(false);\n\n constructor(private selectionModel: WlcmTableSelectionModel) {\n this.handleSelectionChange();\n }\n\n toggle(isChecked: boolean): void {\n if (isChecked) {\n return this.selectionModel.selectAll();\n }\n\n this.selectionModel.deselectAll();\n }\n\n private handleSelectionChange(): void {\n this.selectionModel.allSelected\n .pipe(untilDestroyed(this))\n .subscribe((isSelected: boolean) => this.control.setValue(isSelected));\n }\n}\n","<wlcm-checkbox\n [formControl]=\"control\"\n (changed)=\"toggle($event)\"\n></wlcm-checkbox>\n","import { InjectionToken } from '@angular/core';\nimport { WlcmTableConfig } from '../models/table.models';\n\nexport const WLCM_TABLE_CONFIG: InjectionToken<WlcmTableConfig> = new InjectionToken('WLCM_TABLE_CONFIG', {\n factory: () => ({ selectable: false }),\n});\n","import { Component, Inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WlcmTableHeadActionsComponent } from '../table-head-actions/table-head-actions.component';\nimport { WLCM_TABLE_CONFIG } from '../../constants/table.constants';\nimport { WlcmTableConfig } from '../../models/table.models';\n\n@Component({\n selector: 'wlcm-table-head',\n host: { class: 'wlcm-table-head' },\n standalone: true,\n imports: [CommonModule, WlcmTableHeadActionsComponent],\n templateUrl: './table-head.component.html',\n styleUrl: './table-head.component.scss',\n})\nexport class WlcmTableHeadComponent {\n constructor(@Inject(WLCM_TABLE_CONFIG) protected tableConfig: WlcmTableConfig) {}\n}\n","<wlcm-table-head-actions\n *ngIf=\"tableConfig.selectable\"\n></wlcm-table-head-actions>\n\n<ng-content select=\"wlcm-table-head-data\"></ng-content>\n","import { Component, Inject, OutputEmitterRef, output } from '@angular/core';\nimport { WlcmTableSelectionModel } from '../../models/table-selection-model';\nimport { WLCM_TABLE_ROW_CONTEXT } from '../../constants/table-row.constants';\nimport { WlcmTableRowContext } from '../../models/table-row.models';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { WlcmFormsModule } from '@wlcm/angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { map } from 'rxjs';\n\n@UntilDestroy()\n@Component({\n selector: 'wlcm-table-row-actions',\n host: { class: 'wlcm-table-row-actions' },\n standalone: true,\n imports: [CommonModule, WlcmFormsModule, ReactiveFormsModule],\n templateUrl: './table-row-actions.component.html',\n styleUrl: './table-row-actions.component.scss',\n})\nexport class WlcmTableRowActionsComponent<T = unknown> {\n rowId!: string;\n\n readonly control: FormControl = new FormControl(false);\n\n selectionChanged: OutputEmitterRef<boolean> = output();\n\n constructor(\n private selectionModel: WlcmTableSelectionModel,\n @Inject(WLCM_TABLE_ROW_CONTEXT) private rowContext: WlcmTableRowContext<T>\n ) {\n this.rowId = this.rowContext.selectId(this.rowContext.$implicit);\n\n this.handleSelectionChange();\n }\n\n toggle(isChecked: boolean): void {\n if (isChecked) {\n return this.selectionModel.selectOne(this.rowId);\n }\n\n this.selectionModel.deselectOne(this.rowId);\n }\n\n private handleSelectionChange(): void {\n this.selectionModel.selectionChanged\n .pipe(untilDestroyed(this))\n .pipe(map((collection: Set<string>) => collection.has(this.rowId)))\n .subscribe((isSelected: boolean) => {\n this.control.setValue(isSelected);\n\n this.selectionChanged.emit(isSelected);\n });\n }\n}\n","<wlcm-checkbox\n [formControl]=\"control\"\n (changed)=\"toggle($event)\"\n></wlcm-checkbox>\n","import { Component, HostBinding, Inject } from '@angular/core';\nimport { WlcmTableRowActionsComponent } from '../table-row-actions/table-row-actions.component';\nimport { WLCM_TABLE_ROW_CONTEXT } from '../../constants/table-row.constants';\nimport { WLCM_TABLE_CONFIG } from '../../constants/table.constants';\nimport { WlcmTableRowContext } from '../../models/table-row.models';\nimport { WlcmTableConfig } from '../../models/table.models';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-table-row',\n host: { class: 'wlcm-table-row' },\n standalone: true,\n imports: [CommonModule, WlcmTableRowActionsComponent],\n templateUrl: './table-row.component.html',\n styleUrl: './table-row.component.scss',\n})\nexport class WlcmTableRowComponent<T = unknown> {\n private _isSelected: boolean = false;\n\n @HostBinding('class.wlcm-table-row-selected') get isSelected() {\n return this._isSelected;\n }\n\n @HostBinding('class.wlcm-table-row-first') get first() {\n return this.rowContext.first;\n }\n\n @HostBinding('class.wlcm-table-row-last') get last() {\n return this.rowContext.last;\n }\n\n constructor(\n @Inject(WLCM_TABLE_CONFIG) protected tableConfig: WlcmTableConfig,\n @Inject(WLCM_TABLE_ROW_CONTEXT) private rowContext: WlcmTableRowContext<T>\n ) {}\n\n handleSelectionChange(isSelected: boolean): void {\n this._isSelected = isSelected;\n }\n}\n","<wlcm-table-row-actions\n *ngIf=\"tableConfig.selectable\"\n (selectionChanged)=\"handleSelectionChange($event)\"\n></wlcm-table-row-actions>\n\n<ng-content select=\"wlcm-table-row-data\"></ng-content>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-table-row-spacer',\n host: { class: 'wlcm-table-row-spacer' },\n standalone: true,\n imports: [CommonModule],\n templateUrl: './table-row-spacer.component.html',\n styleUrl: './table-row-spacer.component.scss',\n})\nexport class WlcmTableRowSpacerComponent {}\n","","import { Component, Injector, InputSignal, TemplateRef, effect, inject, input } from '@angular/core';\nimport { DefaultWlcmTableSelectionModel, WlcmTableSelectionModel } from '../../models/table-selection-model';\nimport { WlcmTableRowInjectorPipe } from '../../pipes/table-row-injector.pipe';\nimport { WlcmTableHeadComponent } from '../table-head/table-head.component';\nimport { WlcmTableRowComponent } from '../table-row/table-row.component';\nimport { WlcmTableRowContext } from '../../models/table-row.models';\nimport { WlcmTableSelectIdFn } from '../../models/table.models';\nimport { WlcmTableRowSpacerComponent } from '../table-row-spacer/table-row-spacer.component';\nimport { RxLet } from '@rx-angular/template/let';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-table',\n host: { class: 'wlcm-table' },\n standalone: true,\n imports: [\n CommonModule,\n WlcmTableHeadComponent,\n WlcmTableRowComponent,\n WlcmTableRowInjectorPipe,\n WlcmTableRowSpacerComponent,\n RxLet,\n ],\n providers: [{ provide: WlcmTableSelectionModel, useClass: DefaultWlcmTableSelectionModel }],\n templateUrl: './table.component.html',\n styleUrl: './table.component.scss',\n})\nexport class WlcmTableComponent<T = unknown> {\n rows: InputSignal<T[]> = input<T[]>([]);\n\n headTemplate: InputSignal<TemplateRef<void>> = input.required();\n\n rowTemplate: InputSignal<TemplateRef<WlcmTableRowContext<T>>> = input.required();\n\n selectId: InputSignal<WlcmTableSelectIdFn<T>> = input.required();\n\n injector: Injector = inject(Injector);\n\n constructor(private selectionModel: WlcmTableSelectionModel) {\n effect(() => this.selectionModel.updateCollection(this.rows().map(this.selectId())));\n }\n}\n","<ng-container\n *ngTemplateOutlet=\"headTemplate(); injector: injector\"\n></ng-container>\n\n<tbody>\n @for (row of rows(); track row; let index = $index; let first = $first; let\n last = $last) {\n <wlcm-table-row-spacer></wlcm-table-row-spacer>\n\n <ng-container\n *rxLet=\"\n {\n $implicit: row,\n selectId: selectId(),\n index: index,\n first: first,\n last: last,\n };\n let context\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate();\n context: context;\n injector: context | wlcmTableRowInjector\n \"\n >\n </ng-container>\n </ng-container>\n\n }\n</tbody>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-table-head-data',\n host: { class: 'wlcm-table-head-data' },\n standalone: true,\n imports: [CommonModule],\n templateUrl: './table-head-data.component.html',\n styleUrl: './table-head-data.component.scss',\n})\nexport class WlcmTableHeadDataComponent {}\n","<ng-content></ng-content>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-table-row-data',\n host: { class: 'wlcm-table-row-data' },\n standalone: true,\n imports: [CommonModule],\n templateUrl: './table-row-data.component.html',\n styleUrl: './table-row-data.component.scss',\n})\nexport class WlcmTableRowDataComponent {}\n","<ng-content></ng-content>\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[wlcmScrollableTableContainer]',\n host: { class: 'wlcm-scrollable-table-container' },\n standalone: true,\n})\nexport class WlcmScrollableTableContainerDirective {}\n","import { NgModule, Type } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WlcmTableComponent } from './components/table/table.component';\nimport { WlcmTableHeadComponent } from './components/table-head/table-head.component';\nimport { WlcmTableHeadDataComponent } from './components/table-head-data/table-head-data.component';\nimport { WlcmTableRowComponent } from './components/table-row/table-row.component';\nimport { WlcmTableRowDataComponent } from './components/table-row-data/table-row-data.component';\nimport { WlcmScrollableTableContainerDirective } from './directives/scrollable-table-container.directive';\n\nconst publicComponents: Type<unknown>[] = [\n WlcmTableComponent,\n WlcmTableHeadComponent,\n WlcmTableHeadDataComponent,\n WlcmTableRowDataComponent,\n WlcmTableRowComponent,\n];\n\nconst publicDirectives: Type<unknown>[] = [WlcmScrollableTableContainerDirective];\n\n@NgModule({\n imports: [CommonModule, ...publicComponents, ...publicDirectives],\n exports: [...publicComponents, ...publicDirectives],\n})\nexport class WlcmTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.WlcmTableSelectionModel"],"mappings":"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"}
|
package/table/index.d.ts
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
export { WlcmTableModule } from './lib/table.module';
|
2
|
+
export { WlcmTableComponent } from './lib/components/table/table.component';
|
3
|
+
export { WlcmTableHeadComponent } from './lib/components/table-head/table-head.component';
|
4
|
+
export { WlcmTableHeadDataComponent } from './lib/components/table-head-data/table-head-data.component';
|
5
|
+
export { WlcmScrollableTableContainerDirective } from './lib/directives/scrollable-table-container.directive';
|
6
|
+
export { WlcmTableRowDataComponent } from './lib/components/table-row-data/table-row-data.component';
|
7
|
+
export { WlcmTableRowComponent } from './lib/components/table-row/table-row.component';
|
8
|
+
export { WlcmTableSelectIdFn, WlcmTableConfig } from './lib/models/table.models';
|
9
|
+
export { WLCM_TABLE_CONFIG } from './lib/constants/table.constants';
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { Injector, InputSignal, TemplateRef } from '@angular/core';
|
2
|
+
import { WlcmTableSelectionModel } from '../../models/table-selection-model';
|
3
|
+
import { WlcmTableRowContext } from '../../models/table-row.models';
|
4
|
+
import { WlcmTableSelectIdFn } from '../../models/table.models';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
export declare class WlcmTableComponent<T = unknown> {
|
7
|
+
private selectionModel;
|
8
|
+
rows: InputSignal<T[]>;
|
9
|
+
headTemplate: InputSignal<TemplateRef<void>>;
|
10
|
+
rowTemplate: InputSignal<TemplateRef<WlcmTableRowContext<T>>>;
|
11
|
+
selectId: InputSignal<WlcmTableSelectIdFn<T>>;
|
12
|
+
injector: Injector;
|
13
|
+
constructor(selectionModel: WlcmTableSelectionModel);
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmTableComponent<any>, never>;
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WlcmTableComponent<any>, "wlcm-table", never, { "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "headTemplate": { "alias": "headTemplate"; "required": true; "isSignal": true; }; "rowTemplate": { "alias": "rowTemplate"; "required": true; "isSignal": true; }; "selectId": { "alias": "selectId"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
16
|
+
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { WlcmTableConfig } from '../../models/table.models';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class WlcmTableHeadComponent {
|
4
|
+
protected tableConfig: WlcmTableConfig;
|
5
|
+
constructor(tableConfig: WlcmTableConfig);
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmTableHeadComponent, never>;
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WlcmTableHeadComponent, "wlcm-table-head", never, {}, {}, never, ["wlcm-table-head-data"], true, never>;
|
8
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { WlcmTableSelectionModel } from '../../models/table-selection-model';
|
2
|
+
import { FormControl } from '@angular/forms';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export declare class WlcmTableHeadActionsComponent {
|
5
|
+
private selectionModel;
|
6
|
+
readonly control: FormControl;
|
7
|
+
constructor(selectionModel: WlcmTableSelectionModel);
|
8
|
+
toggle(isChecked: boolean): void;
|
9
|
+
private handleSelectionChange;
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmTableHeadActionsComponent, never>;
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WlcmTableHeadActionsComponent, "wlcm-table-head-actions", never, {}, {}, never, never, true, never>;
|
12
|
+
}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class WlcmTableHeadDataComponent {
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmTableHeadDataComponent, never>;
|
4
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WlcmTableHeadDataComponent, "wlcm-table-head-data", never, {}, {}, never, ["*"], true, never>;
|
5
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { WlcmTableRowContext } from '../../models/table-row.models';
|
2
|
+
import { WlcmTableConfig } from '../../models/table.models';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export declare class WlcmTableRowComponent<T = unknown> {
|
5
|
+
protected tableConfig: WlcmTableConfig;
|
6
|
+
private rowContext;
|
7
|
+
private _isSelected;
|
8
|
+
get isSelected(): boolean;
|
9
|
+
get first(): boolean;
|
10
|
+
get last(): boolean;
|
11
|
+
constructor(tableConfig: WlcmTableConfig, rowContext: WlcmTableRowContext<T>);
|
12
|
+
handleSelectionChange(isSelected: boolean): void;
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmTableRowComponent<any>, never>;
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WlcmTableRowComponent<any>, "wlcm-table-row", never, {}, {}, never, ["wlcm-table-row-data"], true, never>;
|
15
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { OutputEmitterRef } from '@angular/core';
|
2
|
+
import { WlcmTableSelectionModel } from '../../models/table-selection-model';
|
3
|
+
import { WlcmTableRowContext } from '../../models/table-row.models';
|
4
|
+
import { FormControl } from '@angular/forms';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
export declare class WlcmTableRowActionsComponent<T = unknown> {
|
7
|
+
private selectionModel;
|
8
|
+
private rowContext;
|
9
|
+
rowId: string;
|
10
|
+
readonly control: FormControl;
|
11
|
+
selectionChanged: OutputEmitterRef<boolean>;
|
12
|
+
constructor(selectionModel: WlcmTableSelectionModel, rowContext: WlcmTableRowContext<T>);
|
13
|
+
toggle(isChecked: boolean): void;
|
14
|
+
private handleSelectionChange;
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmTableRowActionsComponent<any>, never>;
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WlcmTableRowActionsComponent<any>, "wlcm-table-row-actions", never, {}, { "selectionChanged": "selectionChanged"; }, never, never, true, never>;
|
17
|
+
}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class WlcmTableRowDataComponent {
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmTableRowDataComponent, never>;
|
4
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WlcmTableRowDataComponent, "wlcm-table-row-data", never, {}, {}, never, ["*"], true, never>;
|
5
|
+
}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class WlcmTableRowSpacerComponent {
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmTableRowSpacerComponent, never>;
|
4
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WlcmTableRowSpacerComponent, "wlcm-table-row-spacer", never, {}, {}, never, never, true, never>;
|
5
|
+
}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class WlcmScrollableTableContainerDirective {
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmScrollableTableContainerDirective, never>;
|
4
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmScrollableTableContainerDirective, "[wlcmScrollableTableContainer]", never, {}, {}, never, never, true, never>;
|
5
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { BehaviorSubject, Observable } from 'rxjs';
|
2
|
+
export declare abstract class WlcmTableSelectionModel {
|
3
|
+
protected _selection: Set<string>;
|
4
|
+
protected readonly _selectionChanged: BehaviorSubject<Set<string>>;
|
5
|
+
readonly selectionChanged: Observable<Set<string>>;
|
6
|
+
abstract readonly allSelected: Observable<boolean>;
|
7
|
+
abstract selectOne(value: string): void;
|
8
|
+
abstract deselectOne(value: string): void;
|
9
|
+
abstract selectAll(): void;
|
10
|
+
abstract deselectAll(): void;
|
11
|
+
abstract updateCollection(values: string[]): void;
|
12
|
+
}
|
13
|
+
export declare class DefaultWlcmTableSelectionModel extends WlcmTableSelectionModel {
|
14
|
+
private _values;
|
15
|
+
private _selectAll;
|
16
|
+
readonly allSelected: Observable<boolean>;
|
17
|
+
selectOne(value: string): void;
|
18
|
+
deselectOne(value: string): void;
|
19
|
+
selectAll(): void;
|
20
|
+
deselectAll(): void;
|
21
|
+
updateCollection(values: string[]): void;
|
22
|
+
private triggerSelectionChanged;
|
23
|
+
}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { Injector, PipeTransform } from '@angular/core';
|
2
|
+
import { WlcmTableRowContext } from '../models/table-row.models';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export declare class WlcmTableRowInjectorPipe<T> implements PipeTransform {
|
5
|
+
protected injector: Injector;
|
6
|
+
transform(context: WlcmTableRowContext<T>): Injector;
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmTableRowInjectorPipe<any>, never>;
|
8
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<WlcmTableRowInjectorPipe<any>, "wlcmTableRowInjector", true>;
|
9
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
import * as i1 from "@angular/common";
|
3
|
+
import * as i2 from "./components/table/table.component";
|
4
|
+
import * as i3 from "./components/table-head/table-head.component";
|
5
|
+
import * as i4 from "./components/table-head-data/table-head-data.component";
|
6
|
+
import * as i5 from "./components/table-row-data/table-row-data.component";
|
7
|
+
import * as i6 from "./components/table-row/table-row.component";
|
8
|
+
import * as i7 from "./directives/scrollable-table-container.directive";
|
9
|
+
export declare class WlcmTableModule {
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmTableModule, never>;
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<WlcmTableModule, never, [typeof i1.CommonModule, typeof i2.WlcmTableComponent, typeof i3.WlcmTableHeadComponent, typeof i4.WlcmTableHeadDataComponent, typeof i5.WlcmTableRowDataComponent, typeof i6.WlcmTableRowComponent, typeof i7.WlcmScrollableTableContainerDirective], [typeof i2.WlcmTableComponent, typeof i3.WlcmTableHeadComponent, typeof i4.WlcmTableHeadDataComponent, typeof i5.WlcmTableRowDataComponent, typeof i6.WlcmTableRowComponent, typeof i7.WlcmScrollableTableContainerDirective]>;
|
12
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<WlcmTableModule>;
|
13
|
+
}
|