@wlcm/angular 17.5.19 → 17.5.20
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/package.json +1 -1
- package/table/esm2022/lib/components/table/table.component.mjs +23 -13
- package/table/esm2022/lib/components/table-row/table-row.component.mjs +5 -3
- package/table/esm2022/lib/utils/table-errors.utils.mjs +6 -0
- package/table/fesm2022/wlcm-angular-table.mjs +36 -20
- package/table/fesm2022/wlcm-angular-table.mjs.map +1 -1
- package/table/lib/components/table/table.component.d.ts +5 -6
- package/table/lib/utils/table-errors.utils.d.ts +3 -0
package/package.json
CHANGED
@@ -1,28 +1,35 @@
|
|
1
|
-
import { Component, Injector, effect, inject, input } from '@angular/core';
|
1
|
+
import { Component, Inject, Injector, effect, inject, input } from '@angular/core';
|
2
2
|
import { DefaultWlcmTableSelectionModel, WlcmTableSelectionModel } from '../../models/table-selection-model';
|
3
|
+
import { WlcmTableRowSpacerComponent } from '../table-row-spacer/table-row-spacer.component';
|
3
4
|
import { WlcmTableRowInjectorPipe } from '../../pipes/table-row-injector.pipe';
|
4
5
|
import { WlcmTableHeadComponent } from '../table-head/table-head.component';
|
5
6
|
import { WlcmTableRowComponent } from '../table-row/table-row.component';
|
6
|
-
import {
|
7
|
+
import { WlcmTableErrorsUtils } from '../../utils/table-errors.utils';
|
8
|
+
import { WLCM_TABLE_CONFIG } from '../../constants/table.constants';
|
9
|
+
import { WlcmLoaderComponent } from '@wlcm/angular/core';
|
7
10
|
import { RxLet } from '@rx-angular/template/let';
|
8
11
|
import { CommonModule } from '@angular/common';
|
9
|
-
import { WlcmLoaderComponent } from '@wlcm/angular/core';
|
10
12
|
import * as i0 from "@angular/core";
|
11
13
|
import * as i1 from "../../models/table-selection-model";
|
12
14
|
import * as i2 from "@angular/common";
|
13
15
|
export class WlcmTableComponent {
|
14
|
-
constructor(selectionModel) {
|
16
|
+
constructor(selectionModel, config) {
|
15
17
|
this.selectionModel = selectionModel;
|
16
18
|
this.rows = input([]);
|
17
|
-
this.
|
18
|
-
this.headTemplate = input.required();
|
19
|
+
this.headTemplate = input();
|
19
20
|
this.rowTemplate = input.required();
|
20
|
-
this.selectId = input
|
21
|
+
this.selectId = input();
|
21
22
|
this.injector = inject(Injector);
|
22
|
-
effect(() =>
|
23
|
+
effect(() => {
|
24
|
+
if (config.selectable) {
|
25
|
+
if (!this.selectId())
|
26
|
+
WlcmTableErrorsUtils.throwNoSelectIdError();
|
27
|
+
this.selectionModel.updateCollection(this.rows().map(this.selectId()));
|
28
|
+
}
|
29
|
+
});
|
23
30
|
}
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableComponent, deps: [{ token: i1.WlcmTableSelectionModel }], target: i0.ɵɵFactoryTarget.Component }); }
|
25
|
-
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 },
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableComponent, deps: [{ token: i1.WlcmTableSelectionModel }, { token: WLCM_TABLE_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
32
|
+
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: false, transformFunction: null }, rowTemplate: { classPropertyName: "rowTemplate", publicName: "rowTemplate", isSignal: true, isRequired: true, transformFunction: null }, selectId: { classPropertyName: "selectId", publicName: "selectId", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "wlcm-table" }, providers: [{ provide: WlcmTableSelectionModel, useClass: DefaultWlcmTableSelectionModel }], ngImport: i0, template: "@if (headTemplate()) {\n <ng-container\n *ngTemplateOutlet=\"headTemplate()!; injector: injector\"\n ></ng-container>\n}\n\n<tbody>\n @for (\n row of rows();\n track row;\n let index = $index;\n let first = $first;\n let last = $last\n ) {\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</tbody>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.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"] }] }); }
|
26
33
|
}
|
27
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableComponent, decorators: [{
|
28
35
|
type: Component,
|
@@ -34,6 +41,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
34
41
|
WlcmTableRowSpacerComponent,
|
35
42
|
WlcmLoaderComponent,
|
36
43
|
RxLet,
|
37
|
-
], providers: [{ provide: WlcmTableSelectionModel, useClass: DefaultWlcmTableSelectionModel }], template: "@if (
|
38
|
-
}], ctorParameters: () => [{ type: i1.WlcmTableSelectionModel }
|
39
|
-
|
44
|
+
], providers: [{ provide: WlcmTableSelectionModel, useClass: DefaultWlcmTableSelectionModel }], template: "@if (headTemplate()) {\n <ng-container\n *ngTemplateOutlet=\"headTemplate()!; injector: injector\"\n ></ng-container>\n}\n\n<tbody>\n @for (\n row of rows();\n track row;\n let index = $index;\n let first = $first;\n let last = $last\n ) {\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</tbody>\n" }]
|
45
|
+
}], ctorParameters: () => [{ type: i1.WlcmTableSelectionModel }, { type: undefined, decorators: [{
|
46
|
+
type: Inject,
|
47
|
+
args: [WLCM_TABLE_CONFIG]
|
48
|
+
}] }] });
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUE0QixNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM3RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUU3RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBbUIvQyxNQUFNLE9BQU8sa0JBQWtCO0lBVzdCLFlBQ1UsY0FBdUMsRUFDcEIsTUFBdUI7UUFEMUMsbUJBQWMsR0FBZCxjQUFjLENBQXlCO1FBWGpELFNBQUksR0FBcUIsS0FBSyxDQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRXhDLGlCQUFZLEdBQStDLEtBQUssRUFBRSxDQUFDO1FBRW5FLGdCQUFXLEdBQXFELEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVqRixhQUFRLEdBQW9ELEtBQUssRUFBRSxDQUFDO1FBRXBFLGFBQVEsR0FBYSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFNcEMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtvQkFBRSxvQkFBb0IsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2dCQUVsRSxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRyxDQUFDLENBQUMsQ0FBQztZQUMxRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXRCVSxrQkFBa0IseURBYW5CLGlCQUFpQjtrR0FiaEIsa0JBQWtCLHluQkFKbEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsOEJBQThCLEVBQUUsQ0FBQywwQkMzQjdGLG14QkF1Q0EseUREcEJJLFlBQVksaU1BR1osd0JBQXdCLDZEQUN4QiwyQkFBMkIsa0VBRTNCLEtBQUs7OzJGQU1JLGtCQUFrQjtrQkFqQjlCLFNBQVM7K0JBQ0UsWUFBWSxRQUNoQixFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsY0FDakIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLHdCQUF3Qjt3QkFDeEIsMkJBQTJCO3dCQUMzQixtQkFBbUI7d0JBQ25CLEtBQUs7cUJBQ04sYUFDVSxDQUFDLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFFBQVEsRUFBRSw4QkFBOEIsRUFBRSxDQUFDOzswQkFpQnhGLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBJbnB1dFNpZ25hbCwgVGVtcGxhdGVSZWYsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVmYXVsdFdsY21UYWJsZVNlbGVjdGlvbk1vZGVsLCBXbGNtVGFibGVTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy90YWJsZS1zZWxlY3Rpb24tbW9kZWwnO1xuaW1wb3J0IHsgV2xjbVRhYmxlUm93U3BhY2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFibGUtcm93LXNwYWNlci90YWJsZS1yb3ctc3BhY2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXbGNtVGFibGVDb25maWcsIFdsY21UYWJsZVNlbGVjdElkRm4gfSBmcm9tICcuLi8uLi9tb2RlbHMvdGFibGUubW9kZWxzJztcbmltcG9ydCB7IFdsY21UYWJsZVJvd0luamVjdG9yUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3RhYmxlLXJvdy1pbmplY3Rvci5waXBlJztcbmltcG9ydCB7IFdsY21UYWJsZUhlYWRDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS1oZWFkL3RhYmxlLWhlYWQuY29tcG9uZW50JztcbmltcG9ydCB7IFdsY21UYWJsZVJvd0NvbXBvbmVudCB9IGZyb20gJy4uL3RhYmxlLXJvdy90YWJsZS1yb3cuY29tcG9uZW50JztcbmltcG9ydCB7IFdsY21UYWJsZUVycm9yc1V0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvdGFibGUtZXJyb3JzLnV0aWxzJztcbmltcG9ydCB7IFdMQ01fVEFCTEVfQ09ORklHIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3RhYmxlLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBXbGNtVGFibGVSb3dDb250ZXh0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RhYmxlLXJvdy5tb2RlbHMnO1xuaW1wb3J0IHsgV2xjbUxvYWRlckNvbXBvbmVudCB9IGZyb20gJ0B3bGNtL2FuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSeExldCB9IGZyb20gJ0ByeC1hbmd1bGFyL3RlbXBsYXRlL2xldCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3bGNtLXRhYmxlJyxcbiAgaG9zdDogeyBjbGFzczogJ3dsY20tdGFibGUnIH0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgV2xjbVRhYmxlSGVhZENvbXBvbmVudCxcbiAgICBXbGNtVGFibGVSb3dDb21wb25lbnQsXG4gICAgV2xjbVRhYmxlUm93SW5qZWN0b3JQaXBlLFxuICAgIFdsY21UYWJsZVJvd1NwYWNlckNvbXBvbmVudCxcbiAgICBXbGNtTG9hZGVyQ29tcG9uZW50LFxuICAgIFJ4TGV0LFxuICBdLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFdsY21UYWJsZVNlbGVjdGlvbk1vZGVsLCB1c2VDbGFzczogRGVmYXVsdFdsY21UYWJsZVNlbGVjdGlvbk1vZGVsIH1dLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vdGFibGUuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBXbGNtVGFibGVDb21wb25lbnQ8VCA9IHVua25vd24+IHtcbiAgcm93czogSW5wdXRTaWduYWw8VFtdPiA9IGlucHV0PFRbXT4oW10pO1xuXG4gIGhlYWRUZW1wbGF0ZTogSW5wdXRTaWduYWw8VGVtcGxhdGVSZWY8dm9pZD4gfCB1bmRlZmluZWQ+ID0gaW5wdXQoKTtcblxuICByb3dUZW1wbGF0ZTogSW5wdXRTaWduYWw8VGVtcGxhdGVSZWY8V2xjbVRhYmxlUm93Q29udGV4dDxUPj4+ID0gaW5wdXQucmVxdWlyZWQoKTtcblxuICBzZWxlY3RJZDogSW5wdXRTaWduYWw8V2xjbVRhYmxlU2VsZWN0SWRGbjxUPiB8IHVuZGVmaW5lZD4gPSBpbnB1dCgpO1xuXG4gIGluamVjdG9yOiBJbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZWxlY3Rpb25Nb2RlbDogV2xjbVRhYmxlU2VsZWN0aW9uTW9kZWwsXG4gICAgQEluamVjdChXTENNX1RBQkxFX0NPTkZJRykgY29uZmlnOiBXbGNtVGFibGVDb25maWcsXG4gICkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoY29uZmlnLnNlbGVjdGFibGUpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdElkKCkpIFdsY21UYWJsZUVycm9yc1V0aWxzLnRocm93Tm9TZWxlY3RJZEVycm9yKCk7XG5cbiAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC51cGRhdGVDb2xsZWN0aW9uKHRoaXMucm93cygpLm1hcCh0aGlzLnNlbGVjdElkKCkhKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIkBpZiAoaGVhZFRlbXBsYXRlKCkpIHtcbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZFRlbXBsYXRlKCkhOyBpbmplY3RvcjogaW5qZWN0b3JcIlxuICA+PC9uZy1jb250YWluZXI+XG59XG5cbjx0Ym9keT5cbiAgQGZvciAoXG4gICAgcm93IG9mIHJvd3MoKTtcbiAgICB0cmFjayByb3c7XG4gICAgbGV0IGluZGV4ID0gJGluZGV4O1xuICAgIGxldCBmaXJzdCA9ICRmaXJzdDtcbiAgICBsZXQgbGFzdCA9ICRsYXN0XG4gICkge1xuICAgIDx3bGNtLXRhYmxlLXJvdy1zcGFjZXI+PC93bGNtLXRhYmxlLXJvdy1zcGFjZXI+XG5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqcnhMZXQ9XCJcbiAgICAgICAge1xuICAgICAgICAgICRpbXBsaWNpdDogcm93LFxuICAgICAgICAgIHNlbGVjdElkOiBzZWxlY3RJZCgpLFxuICAgICAgICAgIGluZGV4OiBpbmRleCxcbiAgICAgICAgICBmaXJzdDogZmlyc3QsXG4gICAgICAgICAgbGFzdDogbGFzdFxuICAgICAgICB9O1xuICAgICAgICBsZXQgY29udGV4dFxuICAgICAgXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgcm93VGVtcGxhdGUoKTtcbiAgICAgICAgICBjb250ZXh0OiBjb250ZXh0O1xuICAgICAgICAgIGluamVjdG9yOiBjb250ZXh0IHwgd2xjbVRhYmxlUm93SW5qZWN0b3JcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICB9XG48L3Rib2R5PlxuIl19
|
@@ -23,8 +23,10 @@ let WlcmTableRowComponent = class WlcmTableRowComponent {
|
|
23
23
|
this.tableConfig = tableConfig;
|
24
24
|
this.rowContext = rowContext;
|
25
25
|
this.isSelected = signal(false);
|
26
|
-
|
27
|
-
|
26
|
+
if (tableConfig.selectable) {
|
27
|
+
this.rowId = this.rowContext.selectId(this.rowContext.$implicit);
|
28
|
+
this.handleSelectionChanges();
|
29
|
+
}
|
28
30
|
}
|
29
31
|
selectionChanged(isSelected) {
|
30
32
|
if (isSelected) {
|
@@ -73,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
73
75
|
type: HostBinding,
|
74
76
|
args: ['class.wlcm-table-row-last']
|
75
77
|
}] } });
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlLXJvdy90YWJsZS1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtcm93L3RhYmxlLXJvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBa0IsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBVzVCLElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXFCO0lBS2hDLElBQStDLEtBQUs7UUFDbEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBOEMsSUFBSTtRQUNoRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUNVLFVBQW1DLEVBQ25DLGNBQXVDLEVBQ1YsV0FBNEIsRUFDekIsVUFBa0M7UUFIbEUsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsbUJBQWMsR0FBZCxjQUFjLENBQXlCO1FBQ1YsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQ3pCLGVBQVUsR0FBVixVQUFVLENBQXdCO1FBZDVFLGVBQVUsR0FBNEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBZ0JsRCxJQUFJLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFakUsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCO2FBQ2pDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQXVCLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDbEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQW1CLEVBQUUsRUFBRSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQzthQUN2RSxTQUFTLENBQUMsQ0FBQyxVQUFtQixFQUFFLEVBQUU7WUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFaEMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7WUFDekUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztZQUM1RSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQWxEVSxxQkFBcUIsbUZBZ0J0QixpQkFBaUIsYUFDakIsc0JBQXNCO2tHQWpCckIscUJBQXFCLDROQ3BCbEMsMk9BT0EseUREU1ksWUFBWSxtSUFBRSw0QkFBNEI7O0FBSXpDLHFCQUFxQjtJQVRqQyxZQUFZLEVBQUU7cUNBdUJTLFVBQVU7UUFDTix1QkFBdUI7R0FmdEMscUJBQXFCLENBbURqQzs7MkZBbkRZLHFCQUFxQjtrQkFSakMsU0FBUzsrQkFDRSxnQkFBZ0IsUUFDcEIsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsY0FDckIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLDRCQUE0QixDQUFDOzswQkFvQmxELE1BQU07MkJBQUMsaUJBQWlCOzswQkFDeEIsTUFBTTsyQkFBQyxzQkFBc0I7eUNBWmUsS0FBSztzQkFBbkQsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBSUssSUFBSTtzQkFBakQsV0FBVzt1QkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbmplY3QsIFdyaXRhYmxlU2lnbmFsLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdsY21UYWJsZVJvd0FjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS1yb3ctYWN0aW9ucy90YWJsZS1yb3ctYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgV0xDTV9UQUJMRV9ST1dfQ09OVEVYVCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy90YWJsZS1yb3cuY29uc3RhbnRzJztcbmltcG9ydCB7IFdsY21UYWJsZVNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RhYmxlLXNlbGVjdGlvbi1tb2RlbCc7XG5pbXBvcnQgeyBXTENNX1RBQkxFX0NPTkZJRyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy90YWJsZS5jb25zdGFudHMnO1xuaW1wb3J0IHsgV2xjbVRhYmxlUm93Q29udGV4dCB9IGZyb20gJy4uLy4uL21vZGVscy90YWJsZS1yb3cubW9kZWxzJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgV2xjbVRhYmxlQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RhYmxlLm1vZGVscyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzJztcblxuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3bGNtLXRhYmxlLXJvdycsXG4gIGhvc3Q6IHsgY2xhc3M6ICd3bGNtLXRhYmxlLXJvdycgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgV2xjbVRhYmxlUm93QWN0aW9uc0NvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1yb3cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vdGFibGUtcm93LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgV2xjbVRhYmxlUm93Q29tcG9uZW50PFQgPSB1bmtub3duPiB7XG4gIHJvd0lkITogc3RyaW5nO1xuXG4gIGlzU2VsZWN0ZWQ6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLndsY20tdGFibGUtcm93LWZpcnN0JykgZ2V0IGZpcnN0KCkge1xuICAgIHJldHVybiB0aGlzLnJvd0NvbnRleHQuZmlyc3Q7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLndsY20tdGFibGUtcm93LWxhc3QnKSBnZXQgbGFzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5yb3dDb250ZXh0Lmxhc3Q7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgc2VsZWN0aW9uTW9kZWw6IFdsY21UYWJsZVNlbGVjdGlvbk1vZGVsLFxuICAgIEBJbmplY3QoV0xDTV9UQUJMRV9DT05GSUcpIHByb3RlY3RlZCB0YWJsZUNvbmZpZzogV2xjbVRhYmxlQ29uZmlnLFxuICAgIEBJbmplY3QoV0xDTV9UQUJMRV9ST1dfQ09OVEVYVCkgcHJpdmF0ZSByb3dDb250ZXh0OiBXbGNtVGFibGVSb3dDb250ZXh0PFQ+LFxuICApIHtcbiAgICBpZiAodGFibGVDb25maWcuc2VsZWN0YWJsZSkge1xuICAgICAgdGhpcy5yb3dJZCA9IHRoaXMucm93Q29udGV4dC5zZWxlY3RJZCh0aGlzLnJvd0NvbnRleHQuJGltcGxpY2l0KTtcblxuICAgICAgdGhpcy5oYW5kbGVTZWxlY3Rpb25DaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0aW9uQ2hhbmdlZChpc1NlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdE9uZSh0aGlzLnJvd0lkKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLmRlc2VsZWN0T25lKHRoaXMucm93SWQpO1xuXG4gICAgdGhpcy5pc1NlbGVjdGVkLnNldChpc1NlbGVjdGVkKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU2VsZWN0aW9uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbkNoYW5nZWRcbiAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnBpcGUobWFwKChjb2xsZWN0aW9uOiBTZXQ8c3RyaW5nPikgPT4gY29sbGVjdGlvbi5oYXModGhpcy5yb3dJZCkpKVxuICAgICAgLnBpcGUoZmlsdGVyKChpc1NlbGVjdGVkOiBib29sZWFuKSA9PiBpc1NlbGVjdGVkICE9PSB0aGlzLmlzU2VsZWN0ZWQoKSkpXG4gICAgICAuc3Vic2NyaWJlKChpc1NlbGVjdGVkOiBib29sZWFuKSA9PiB7XG4gICAgICAgIHRoaXMuaXNTZWxlY3RlZC5zZXQoaXNTZWxlY3RlZCk7XG5cbiAgICAgICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCd3bGNtLXRhYmxlLXJvdy1zZWxlY3RlZCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3dsY20tdGFibGUtcm93LXNlbGVjdGVkJyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iLCI8d2xjbS10YWJsZS1yb3ctYWN0aW9uc1xuICAqbmdJZj1cInRhYmxlQ29uZmlnLnNlbGVjdGFibGVcIlxuICBbaXNTZWxlY3RlZF09XCJpc1NlbGVjdGVkKClcIlxuICAoc2VsZWN0aW9uQ2hhbmdlZCk9XCJzZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIlxuPjwvd2xjbS10YWJsZS1yb3ctYWN0aW9ucz5cblxuPG5nLWNvbnRlbnQgc2VsZWN0PVwid2xjbS10YWJsZS1yb3ctZGF0YVwiPjwvbmctY29udGVudD5cbiJdfQ==
|
@@ -0,0 +1,6 @@
|
|
1
|
+
export class WlcmTableErrorsUtils {
|
2
|
+
static throwNoSelectIdError() {
|
3
|
+
throw new Error('wlcm-table: [selectId] method must be provided');
|
4
|
+
}
|
5
|
+
}
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZXJyb3JzLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy90YWJsZS9zcmMvbGliL3V0aWxzL3RhYmxlLWVycm9ycy51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLE1BQU0sQ0FBQyxvQkFBb0I7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBXbGNtVGFibGVFcnJvcnNVdGlscyB7XG4gIHN0YXRpYyB0aHJvd05vU2VsZWN0SWRFcnJvcigpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3dsY20tdGFibGU6IFtzZWxlY3RJZF0gbWV0aG9kIG11c3QgYmUgcHJvdmlkZWQnKTtcbiAgfVxufVxuIl19
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { InjectionToken, inject, Injector, Pipe,
|
2
|
+
import { Component, InjectionToken, inject, Injector, Pipe, Inject, input, output, signal, ElementRef, HostBinding, effect, NgZone, Directive, NgModule } from '@angular/core';
|
3
3
|
import * as i2$1 from '@angular/common';
|
4
4
|
import { CommonModule } from '@angular/common';
|
5
5
|
import { BehaviorSubject, map, filter, fromEvent, debounceTime } from 'rxjs';
|
@@ -9,8 +9,8 @@ import { WlcmFormsModule } from '@wlcm/angular/forms';
|
|
9
9
|
import * as i3 from '@angular/forms';
|
10
10
|
import { FormControl, ReactiveFormsModule, FormsModule } from '@angular/forms';
|
11
11
|
import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
|
12
|
-
import { RxLet } from '@rx-angular/template/let';
|
13
12
|
import { WlcmLoaderComponent } from '@wlcm/angular/core';
|
13
|
+
import { RxLet } from '@rx-angular/template/let';
|
14
14
|
|
15
15
|
class WlcmTableSelectionModel {
|
16
16
|
constructor() {
|
@@ -56,6 +56,15 @@ class DefaultWlcmTableSelectionModel extends WlcmTableSelectionModel {
|
|
56
56
|
}
|
57
57
|
}
|
58
58
|
|
59
|
+
class WlcmTableRowSpacerComponent {
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowSpacerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
61
|
+
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 }] }); }
|
62
|
+
}
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowSpacerComponent, decorators: [{
|
64
|
+
type: Component,
|
65
|
+
args: [{ selector: 'wlcm-table-row-spacer', host: { class: 'wlcm-table-row-spacer' }, standalone: true, imports: [CommonModule], template: "" }]
|
66
|
+
}] });
|
67
|
+
|
59
68
|
const WLCM_TABLE_ROW_CONTEXT = new InjectionToken('WLCM_TABLE_ROW_CONTEXT');
|
60
69
|
|
61
70
|
class WlcmTableRowInjectorPipe {
|
@@ -153,8 +162,10 @@ let WlcmTableRowComponent = class WlcmTableRowComponent {
|
|
153
162
|
this.tableConfig = tableConfig;
|
154
163
|
this.rowContext = rowContext;
|
155
164
|
this.isSelected = signal(false);
|
156
|
-
|
157
|
-
|
165
|
+
if (tableConfig.selectable) {
|
166
|
+
this.rowId = this.rowContext.selectId(this.rowContext.$implicit);
|
167
|
+
this.handleSelectionChanges();
|
168
|
+
}
|
158
169
|
}
|
159
170
|
selectionChanged(isSelected) {
|
160
171
|
if (isSelected) {
|
@@ -203,28 +214,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
203
214
|
args: ['class.wlcm-table-row-last']
|
204
215
|
}] } });
|
205
216
|
|
206
|
-
class
|
207
|
-
static
|
208
|
-
|
217
|
+
class WlcmTableErrorsUtils {
|
218
|
+
static throwNoSelectIdError() {
|
219
|
+
throw new Error('wlcm-table: [selectId] method must be provided');
|
220
|
+
}
|
209
221
|
}
|
210
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowSpacerComponent, decorators: [{
|
211
|
-
type: Component,
|
212
|
-
args: [{ selector: 'wlcm-table-row-spacer', host: { class: 'wlcm-table-row-spacer' }, standalone: true, imports: [CommonModule], template: "" }]
|
213
|
-
}] });
|
214
222
|
|
215
223
|
class WlcmTableComponent {
|
216
|
-
constructor(selectionModel) {
|
224
|
+
constructor(selectionModel, config) {
|
217
225
|
this.selectionModel = selectionModel;
|
218
226
|
this.rows = input([]);
|
219
|
-
this.
|
220
|
-
this.headTemplate = input.required();
|
227
|
+
this.headTemplate = input();
|
221
228
|
this.rowTemplate = input.required();
|
222
|
-
this.selectId = input
|
229
|
+
this.selectId = input();
|
223
230
|
this.injector = inject(Injector);
|
224
|
-
effect(() =>
|
231
|
+
effect(() => {
|
232
|
+
if (config.selectable) {
|
233
|
+
if (!this.selectId())
|
234
|
+
WlcmTableErrorsUtils.throwNoSelectIdError();
|
235
|
+
this.selectionModel.updateCollection(this.rows().map(this.selectId()));
|
236
|
+
}
|
237
|
+
});
|
225
238
|
}
|
226
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableComponent, deps: [{ token: WlcmTableSelectionModel }], target: i0.ɵɵFactoryTarget.Component }); }
|
227
|
-
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 },
|
239
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableComponent, deps: [{ token: WlcmTableSelectionModel }, { token: WLCM_TABLE_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
240
|
+
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: false, transformFunction: null }, rowTemplate: { classPropertyName: "rowTemplate", publicName: "rowTemplate", isSignal: true, isRequired: true, transformFunction: null }, selectId: { classPropertyName: "selectId", publicName: "selectId", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "wlcm-table" }, providers: [{ provide: WlcmTableSelectionModel, useClass: DefaultWlcmTableSelectionModel }], ngImport: i0, template: "@if (headTemplate()) {\n <ng-container\n *ngTemplateOutlet=\"headTemplate()!; injector: injector\"\n ></ng-container>\n}\n\n<tbody>\n @for (\n row of rows();\n track row;\n let index = $index;\n let first = $first;\n let last = $last\n ) {\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</tbody>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.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"] }] }); }
|
228
241
|
}
|
229
242
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableComponent, decorators: [{
|
230
243
|
type: Component,
|
@@ -236,8 +249,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
236
249
|
WlcmTableRowSpacerComponent,
|
237
250
|
WlcmLoaderComponent,
|
238
251
|
RxLet,
|
239
|
-
], providers: [{ provide: WlcmTableSelectionModel, useClass: DefaultWlcmTableSelectionModel }], template: "@if (
|
240
|
-
}], ctorParameters: () => [{ type: WlcmTableSelectionModel }
|
252
|
+
], providers: [{ provide: WlcmTableSelectionModel, useClass: DefaultWlcmTableSelectionModel }], template: "@if (headTemplate()) {\n <ng-container\n *ngTemplateOutlet=\"headTemplate()!; injector: injector\"\n ></ng-container>\n}\n\n<tbody>\n @for (\n row of rows();\n track row;\n let index = $index;\n let first = $first;\n let last = $last\n ) {\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</tbody>\n" }]
|
253
|
+
}], ctorParameters: () => [{ type: WlcmTableSelectionModel }, { type: undefined, decorators: [{
|
254
|
+
type: Inject,
|
255
|
+
args: [WLCM_TABLE_CONFIG]
|
256
|
+
}] }] });
|
241
257
|
|
242
258
|
class WlcmTableHeadDataComponent {
|
243
259
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableHeadDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
@@ -1 +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, InputSignal, OutputEmitterRef, input, output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { WlcmFormsModule } from '@wlcm/angular/forms';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-table-row-actions',\n host: { class: 'wlcm-table-row-actions' },\n standalone: true,\n imports: [CommonModule, WlcmFormsModule, FormsModule],\n templateUrl: './table-row-actions.component.html',\n styleUrl: './table-row-actions.component.scss',\n})\nexport class WlcmTableRowActionsComponent<T = unknown> {\n isSelected: InputSignal<boolean> = input.required();\n\n selectionChanged: OutputEmitterRef<boolean> = output();\n}\n","<wlcm-checkbox\n [ngModel]=\"isSelected()\"\n (changed)=\"selectionChanged.emit($event)\"\n></wlcm-checkbox>\n","import { Component, ElementRef, HostBinding, Inject, WritableSignal, signal } from '@angular/core';\nimport { WlcmTableRowActionsComponent } from '../table-row-actions/table-row-actions.component';\nimport { WLCM_TABLE_ROW_CONTEXT } from '../../constants/table-row.constants';\nimport { WlcmTableSelectionModel } from '../../models/table-selection-model';\nimport { WLCM_TABLE_CONFIG } from '../../constants/table.constants';\nimport { WlcmTableRowContext } from '../../models/table-row.models';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { WlcmTableConfig } from '../../models/table.models';\nimport { CommonModule } from '@angular/common';\nimport { filter, map } from 'rxjs';\n\n@UntilDestroy()\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 rowId!: string;\n\n isSelected: WritableSignal<boolean> = signal(false);\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 private elementRef: ElementRef<HTMLElement>,\n private selectionModel: WlcmTableSelectionModel,\n @Inject(WLCM_TABLE_CONFIG) protected tableConfig: WlcmTableConfig,\n @Inject(WLCM_TABLE_ROW_CONTEXT) private rowContext: WlcmTableRowContext<T>\n ) {\n this.rowId = this.rowContext.selectId(this.rowContext.$implicit);\n\n this.handleSelectionChanges();\n }\n\n selectionChanged(isSelected: boolean): void {\n if (isSelected) {\n return this.selectionModel.selectOne(this.rowId);\n }\n\n this.selectionModel.deselectOne(this.rowId);\n\n this.isSelected.set(isSelected);\n }\n\n private handleSelectionChanges(): void {\n this.selectionModel.selectionChanged\n .pipe(untilDestroyed(this))\n .pipe(map((collection: Set<string>) => collection.has(this.rowId)))\n .pipe(filter((isSelected: boolean) => isSelected !== this.isSelected()))\n .subscribe((isSelected: boolean) => {\n this.isSelected.set(isSelected);\n\n if (isSelected) {\n this.elementRef.nativeElement.classList.add('wlcm-table-row-selected');\n } else {\n this.elementRef.nativeElement.classList.remove('wlcm-table-row-selected');\n }\n });\n }\n}\n","<wlcm-table-row-actions\n *ngIf=\"tableConfig.selectable\"\n [isSelected]=\"isSelected()\"\n (selectionChanged)=\"selectionChanged($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';\nimport { WlcmLoaderComponent } from '@wlcm/angular/core';\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 WlcmLoaderComponent,\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 hasHeader: InputSignal<boolean> = input(true);\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","@if (hasHeader()) {\n <ng-container\n *ngTemplateOutlet=\"headTemplate(); injector: injector\"\n ></ng-container>\n}\n\n<tbody>\n @for (\n row of rows();\n track row;\n let index = $index;\n let first = $first;\n let last = $last\n ) {\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</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, ElementRef, InputSignal, NgZone, OutputEmitterRef, input, output } from '@angular/core';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { debounceTime, fromEvent } from 'rxjs';\n\n@UntilDestroy()\n@Directive({\n selector: '[wlcmScrollableTableContainer]',\n host: { class: 'wlcm-scrollable-table-container' },\n standalone: true,\n})\nexport class WlcmScrollableTableContainerDirective {\n scrollDownOffsetPercent: InputSignal<number> = input(0.8);\n\n scrolledDown: OutputEmitterRef<void> = output();\n\n constructor(private zone: NgZone, private elementRef: ElementRef<HTMLElement>) {\n this.handleScrolling();\n }\n\n private get element(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n private handleScrolling(): void {\n this.zone.runOutsideAngular(() => {\n fromEvent(this.element, 'scroll')\n .pipe(debounceTime(50))\n .pipe(untilDestroyed(this))\n .subscribe(() => {\n if (\n this.element.scrollHeight * this.scrollDownOffsetPercent() <=\n this.element.scrollTop + this.element.clientHeight\n ) {\n this.zone.run(() => this.scrolledDown.emit());\n }\n });\n });\n }\n}\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","i2"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"wlcm-angular-table.mjs","sources":["../../../../modules/table/src/lib/models/table-selection-model.ts","../../../../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/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/utils/table-errors.utils.ts","../../../../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 { 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 { 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, InputSignal, OutputEmitterRef, input, output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { WlcmFormsModule } from '@wlcm/angular/forms';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'wlcm-table-row-actions',\n host: { class: 'wlcm-table-row-actions' },\n standalone: true,\n imports: [CommonModule, WlcmFormsModule, FormsModule],\n templateUrl: './table-row-actions.component.html',\n styleUrl: './table-row-actions.component.scss',\n})\nexport class WlcmTableRowActionsComponent<T = unknown> {\n isSelected: InputSignal<boolean> = input.required();\n\n selectionChanged: OutputEmitterRef<boolean> = output();\n}\n","<wlcm-checkbox\n [ngModel]=\"isSelected()\"\n (changed)=\"selectionChanged.emit($event)\"\n></wlcm-checkbox>\n","import { Component, ElementRef, HostBinding, Inject, WritableSignal, signal } from '@angular/core';\nimport { WlcmTableRowActionsComponent } from '../table-row-actions/table-row-actions.component';\nimport { WLCM_TABLE_ROW_CONTEXT } from '../../constants/table-row.constants';\nimport { WlcmTableSelectionModel } from '../../models/table-selection-model';\nimport { WLCM_TABLE_CONFIG } from '../../constants/table.constants';\nimport { WlcmTableRowContext } from '../../models/table-row.models';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { WlcmTableConfig } from '../../models/table.models';\nimport { CommonModule } from '@angular/common';\nimport { filter, map } from 'rxjs';\n\n@UntilDestroy()\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 rowId!: string;\n\n isSelected: WritableSignal<boolean> = signal(false);\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 private elementRef: ElementRef<HTMLElement>,\n private selectionModel: WlcmTableSelectionModel,\n @Inject(WLCM_TABLE_CONFIG) protected tableConfig: WlcmTableConfig,\n @Inject(WLCM_TABLE_ROW_CONTEXT) private rowContext: WlcmTableRowContext<T>,\n ) {\n if (tableConfig.selectable) {\n this.rowId = this.rowContext.selectId(this.rowContext.$implicit);\n\n this.handleSelectionChanges();\n }\n }\n\n selectionChanged(isSelected: boolean): void {\n if (isSelected) {\n return this.selectionModel.selectOne(this.rowId);\n }\n\n this.selectionModel.deselectOne(this.rowId);\n\n this.isSelected.set(isSelected);\n }\n\n private handleSelectionChanges(): void {\n this.selectionModel.selectionChanged\n .pipe(untilDestroyed(this))\n .pipe(map((collection: Set<string>) => collection.has(this.rowId)))\n .pipe(filter((isSelected: boolean) => isSelected !== this.isSelected()))\n .subscribe((isSelected: boolean) => {\n this.isSelected.set(isSelected);\n\n if (isSelected) {\n this.elementRef.nativeElement.classList.add('wlcm-table-row-selected');\n } else {\n this.elementRef.nativeElement.classList.remove('wlcm-table-row-selected');\n }\n });\n }\n}\n","<wlcm-table-row-actions\n *ngIf=\"tableConfig.selectable\"\n [isSelected]=\"isSelected()\"\n (selectionChanged)=\"selectionChanged($event)\"\n></wlcm-table-row-actions>\n\n<ng-content select=\"wlcm-table-row-data\"></ng-content>\n","export class WlcmTableErrorsUtils {\n static throwNoSelectIdError(): void {\n throw new Error('wlcm-table: [selectId] method must be provided');\n }\n}\n","import { Component, Inject, Injector, InputSignal, TemplateRef, effect, inject, input } from '@angular/core';\nimport { DefaultWlcmTableSelectionModel, WlcmTableSelectionModel } from '../../models/table-selection-model';\nimport { WlcmTableRowSpacerComponent } from '../table-row-spacer/table-row-spacer.component';\nimport { WlcmTableConfig, WlcmTableSelectIdFn } from '../../models/table.models';\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 { WlcmTableErrorsUtils } from '../../utils/table-errors.utils';\nimport { WLCM_TABLE_CONFIG } from '../../constants/table.constants';\nimport { WlcmTableRowContext } from '../../models/table-row.models';\nimport { WlcmLoaderComponent } from '@wlcm/angular/core';\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 WlcmLoaderComponent,\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> | undefined> = input();\n\n rowTemplate: InputSignal<TemplateRef<WlcmTableRowContext<T>>> = input.required();\n\n selectId: InputSignal<WlcmTableSelectIdFn<T> | undefined> = input();\n\n injector: Injector = inject(Injector);\n\n constructor(\n private selectionModel: WlcmTableSelectionModel,\n @Inject(WLCM_TABLE_CONFIG) config: WlcmTableConfig,\n ) {\n effect(() => {\n if (config.selectable) {\n if (!this.selectId()) WlcmTableErrorsUtils.throwNoSelectIdError();\n\n this.selectionModel.updateCollection(this.rows().map(this.selectId()!));\n }\n });\n }\n}\n","@if (headTemplate()) {\n <ng-container\n *ngTemplateOutlet=\"headTemplate()!; injector: injector\"\n ></ng-container>\n}\n\n<tbody>\n @for (\n row of rows();\n track row;\n let index = $index;\n let first = $first;\n let last = $last\n ) {\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</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, ElementRef, InputSignal, NgZone, OutputEmitterRef, input, output } from '@angular/core';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { debounceTime, fromEvent } from 'rxjs';\n\n@UntilDestroy()\n@Directive({\n selector: '[wlcmScrollableTableContainer]',\n host: { class: 'wlcm-scrollable-table-container' },\n standalone: true,\n})\nexport class WlcmScrollableTableContainerDirective {\n scrollDownOffsetPercent: InputSignal<number> = input(0.8);\n\n scrolledDown: OutputEmitterRef<void> = output();\n\n constructor(private zone: NgZone, private elementRef: ElementRef<HTMLElement>) {\n this.handleScrolling();\n }\n\n private get element(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n private handleScrolling(): void {\n this.zone.runOutsideAngular(() => {\n fromEvent(this.element, 'scroll')\n .pipe(debounceTime(50))\n .pipe(untilDestroyed(this))\n .subscribe(() => {\n if (\n this.element.scrollHeight * this.scrollDownOffsetPercent() <=\n this.element.scrollTop + this.element.clientHeight\n ) {\n this.zone.run(() => this.scrolledDown.emit());\n }\n });\n });\n }\n}\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","i2"],"mappings":"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"}
|
@@ -1,17 +1,16 @@
|
|
1
1
|
import { Injector, InputSignal, TemplateRef } from '@angular/core';
|
2
2
|
import { WlcmTableSelectionModel } from '../../models/table-selection-model';
|
3
|
+
import { WlcmTableConfig, WlcmTableSelectIdFn } from '../../models/table.models';
|
3
4
|
import { WlcmTableRowContext } from '../../models/table-row.models';
|
4
|
-
import { WlcmTableSelectIdFn } from '../../models/table.models';
|
5
5
|
import * as i0 from "@angular/core";
|
6
6
|
export declare class WlcmTableComponent<T = unknown> {
|
7
7
|
private selectionModel;
|
8
8
|
rows: InputSignal<T[]>;
|
9
|
-
|
10
|
-
headTemplate: InputSignal<TemplateRef<void>>;
|
9
|
+
headTemplate: InputSignal<TemplateRef<void> | undefined>;
|
11
10
|
rowTemplate: InputSignal<TemplateRef<WlcmTableRowContext<T>>>;
|
12
|
-
selectId: InputSignal<WlcmTableSelectIdFn<T
|
11
|
+
selectId: InputSignal<WlcmTableSelectIdFn<T> | undefined>;
|
13
12
|
injector: Injector;
|
14
|
-
constructor(selectionModel: WlcmTableSelectionModel);
|
13
|
+
constructor(selectionModel: WlcmTableSelectionModel, config: WlcmTableConfig);
|
15
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmTableComponent<any>, never>;
|
16
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<WlcmTableComponent<any>, "wlcm-table", never, { "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WlcmTableComponent<any>, "wlcm-table", never, { "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "headTemplate": { "alias": "headTemplate"; "required": false; "isSignal": true; }; "rowTemplate": { "alias": "rowTemplate"; "required": true; "isSignal": true; }; "selectId": { "alias": "selectId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
17
16
|
}
|