@wlcm/angular 18.2.13 → 18.2.16
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/autocomplete/autocomplete.component.mjs +18 -2
- package/forms/esm2022/lib/forms/components/select/select.component.mjs +5 -5
- package/forms/fesm2022/wlcm-angular-forms.mjs +21 -5
- package/forms/fesm2022/wlcm-angular-forms.mjs.map +1 -1
- package/forms/lib/forms/components/autocomplete/autocomplete.component.d.ts +5 -1
- package/package.json +1 -1
- package/table/esm2022/lib/components/table/table.component.mjs +26 -23
- package/table/esm2022/lib/components/table-row/table-row.component.mjs +10 -5
- package/table/esm2022/lib/components/table-row-actions/table-row-actions.component.mjs +4 -12
- package/table/esm2022/lib/models/table-row.models.mjs +1 -1
- package/table/fesm2022/wlcm-angular-table.mjs +73 -73
- package/table/fesm2022/wlcm-angular-table.mjs.map +1 -1
- package/table/lib/components/table/table.component.d.ts +8 -4
- package/table/lib/components/table-row/table-row.component.d.ts +1 -0
- package/table/lib/components/table-row-actions/table-row-actions.component.d.ts +3 -6
- package/table/lib/models/table-row.models.d.ts +3 -1
package/package.json
CHANGED
@@ -1,50 +1,53 @@
|
|
1
|
-
import {
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
2
|
+
import { Component, Inject, Injector, inject, input, } from '@angular/core';
|
2
3
|
import { DefaultWlcmTableSelectionModel, WlcmTableSelectionModel } from '../../models/table-selection-model';
|
3
4
|
import { WlcmTableRowSpacerComponent } from '../table-row-spacer/table-row-spacer.component';
|
4
5
|
import { WlcmTableRowInjectorPipe } from '../../pipes/table-row-injector.pipe';
|
5
|
-
import { WlcmTableHeadComponent } from '../table-head/table-head.component';
|
6
|
-
import { WlcmTableRowComponent } from '../table-row/table-row.component';
|
7
6
|
import { WlcmTableErrorsUtils } from '../../utils/table-errors.utils';
|
7
|
+
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
8
8
|
import { WLCM_TABLE_CONFIG } from '../../constants/table.constants';
|
9
|
-
import {
|
9
|
+
import { toObservable } from '@angular/core/rxjs-interop';
|
10
10
|
import { RxLet } from '@rx-angular/template/let';
|
11
11
|
import { CommonModule } from '@angular/common';
|
12
12
|
import * as i0 from "@angular/core";
|
13
13
|
import * as i1 from "../../models/table-selection-model";
|
14
14
|
import * as i2 from "@angular/common";
|
15
|
-
|
15
|
+
let WlcmTableComponent = class WlcmTableComponent {
|
16
|
+
#streamOfRows;
|
16
17
|
constructor(selectionModel, config) {
|
17
18
|
this.selectionModel = selectionModel;
|
19
|
+
this.config = config;
|
18
20
|
this.rows = input([]);
|
19
21
|
this.headTemplate = input();
|
20
22
|
this.rowTemplate = input.required();
|
23
|
+
this.isRowSelectable = input(() => true);
|
21
24
|
this.selectId = input();
|
22
25
|
this.trackBy = input((_, row) => row);
|
23
26
|
this.injector = inject(Injector);
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
27
|
+
this.#streamOfRows = toObservable(this.rows);
|
28
|
+
}
|
29
|
+
ngOnInit() {
|
30
|
+
if (this.config.selectable) {
|
31
|
+
if (!this.selectId())
|
32
|
+
WlcmTableErrorsUtils.throwNoSelectIdError();
|
33
|
+
}
|
34
|
+
this.#streamOfRows.pipe(untilDestroyed(this)).subscribe((rows) => {
|
35
|
+
this.selectionModel.updateCollection(rows.filter(this.isRowSelectable()).map(this.selectId()));
|
30
36
|
});
|
31
37
|
}
|
32
38
|
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 }); }
|
33
|
-
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 }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", 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 <ng-container\n *ngFor=\"\n let row of rows();\n trackBy: trackBy();\n let index = index;\n let first = first;\n let last = last\n \"\n >\n @if ((first && headTemplate()) || !first) {\n <wlcm-table-row-spacer></wlcm-table-row-spacer>\n }\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 </ng-container>\n</tbody>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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"] }] }); }
|
34
|
-
}
|
39
|
+
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 }, isRowSelectable: { classPropertyName: "isRowSelectable", publicName: "isRowSelectable", isSignal: true, isRequired: false, transformFunction: null }, selectId: { classPropertyName: "selectId", publicName: "selectId", isSignal: true, isRequired: false, transformFunction: null }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", 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 <ng-container\n *ngFor=\"\n let row of rows();\n trackBy: trackBy();\n let index = index;\n let first = first;\n let last = last\n \"\n >\n @if ((first && headTemplate()) || !first) {\n <wlcm-table-row-spacer></wlcm-table-row-spacer>\n }\n\n <ng-container\n *rxLet=\"\n {\n $implicit: row,\n selectId: selectId(),\n isRowSelectable: isRowSelectable(),\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 </ng-container>\n</tbody>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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"] }] }); }
|
40
|
+
};
|
41
|
+
WlcmTableComponent = __decorate([
|
42
|
+
UntilDestroy(),
|
43
|
+
__metadata("design:paramtypes", [WlcmTableSelectionModel, Object])
|
44
|
+
], WlcmTableComponent);
|
45
|
+
export { WlcmTableComponent };
|
35
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableComponent, decorators: [{
|
36
47
|
type: Component,
|
37
|
-
args: [{ selector: 'wlcm-table', host: { class: 'wlcm-table' }, standalone: true, imports: [
|
38
|
-
CommonModule,
|
39
|
-
WlcmTableHeadComponent,
|
40
|
-
WlcmTableRowComponent,
|
41
|
-
WlcmTableRowInjectorPipe,
|
42
|
-
WlcmTableRowSpacerComponent,
|
43
|
-
WlcmLoaderComponent,
|
44
|
-
RxLet,
|
45
|
-
], providers: [{ provide: WlcmTableSelectionModel, useClass: DefaultWlcmTableSelectionModel }], template: "@if (headTemplate()) {\n <ng-container\n *ngTemplateOutlet=\"headTemplate()!; injector: injector\"\n ></ng-container>\n}\n\n<tbody>\n <ng-container\n *ngFor=\"\n let row of rows();\n trackBy: trackBy();\n let index = index;\n let first = first;\n let last = last\n \"\n >\n @if ((first && headTemplate()) || !first) {\n <wlcm-table-row-spacer></wlcm-table-row-spacer>\n }\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 </ng-container>\n</tbody>\n" }]
|
48
|
+
args: [{ selector: 'wlcm-table', host: { class: 'wlcm-table' }, standalone: true, imports: [CommonModule, WlcmTableRowInjectorPipe, WlcmTableRowSpacerComponent, RxLet], providers: [{ provide: WlcmTableSelectionModel, useClass: DefaultWlcmTableSelectionModel }], template: "@if (headTemplate()) {\n <ng-container\n *ngTemplateOutlet=\"headTemplate()!; injector: injector\"\n ></ng-container>\n}\n\n<tbody>\n <ng-container\n *ngFor=\"\n let row of rows();\n trackBy: trackBy();\n let index = index;\n let first = first;\n let last = last\n \"\n >\n @if ((first && headTemplate()) || !first) {\n <wlcm-table-row-spacer></wlcm-table-row-spacer>\n }\n\n <ng-container\n *rxLet=\"\n {\n $implicit: row,\n selectId: selectId(),\n isRowSelectable: isRowSelectable(),\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 </ng-container>\n</tbody>\n" }]
|
46
49
|
}], ctorParameters: () => [{ type: i1.WlcmTableSelectionModel }, { type: undefined, decorators: [{
|
47
50
|
type: Inject,
|
48
51
|
args: [WLCM_TABLE_CONFIG]
|
49
52
|
}] }] });
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFFBQVEsRUFLUixNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzdHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRzdGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFheEMsSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBa0I7SUFlN0IsYUFBYSxDQUE0QztJQUV6RCxZQUNTLGNBQXVDLEVBQ1gsTUFBdUI7UUFEbkQsbUJBQWMsR0FBZCxjQUFjLENBQXlCO1FBQ1gsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFsQjVELFNBQUksR0FBcUIsS0FBSyxDQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRXhDLGlCQUFZLEdBQStDLEtBQUssRUFBRSxDQUFDO1FBRW5FLGdCQUFXLEdBQXFELEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVqRixvQkFBZSxHQUEwQyxLQUFLLENBQTJCLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJHLGFBQVEsR0FBb0QsS0FBSyxFQUFFLENBQUM7UUFFcEUsWUFBTyxHQUFvQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVyRSxhQUFRLEdBQWEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXRDLGtCQUFhLEdBQW9CLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFLdEQsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQUUsb0JBQW9CLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNwRSxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDcEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2xHLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E5QlUsa0JBQWtCLHlEQW1CbkIsaUJBQWlCO2tHQW5CaEIsa0JBQWtCLDY0QkFKbEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsOEJBQThCLEVBQUUsQ0FBQywwQkM5QjdGLDA3QkE0Q0EseUREZlksWUFBWSw4VEFBRSx3QkFBd0IsNkRBQUUsMkJBQTJCLGtFQUFFLEtBQUs7O0FBS3pFLGtCQUFrQjtJQVY5QixZQUFZLEVBQUU7cUNBNEJZLHVCQUF1QjtHQWxCckMsa0JBQWtCLENBK0I5Qjs7MkZBL0JZLGtCQUFrQjtrQkFUOUIsU0FBUzsrQkFDRSxZQUFZLFFBQ2hCLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxjQUNqQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsd0JBQXdCLEVBQUUsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLGFBQzFFLENBQUMsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLDhCQUE4QixFQUFFLENBQUM7OzBCQXVCeEYsTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEluamVjdCxcbiAgSW5qZWN0b3IsXG4gIElucHV0U2lnbmFsLFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIGluamVjdCxcbiAgaW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVmYXVsdFdsY21UYWJsZVNlbGVjdGlvbk1vZGVsLCBXbGNtVGFibGVTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy90YWJsZS1zZWxlY3Rpb24tbW9kZWwnO1xuaW1wb3J0IHsgV2xjbVRhYmxlUm93U3BhY2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFibGUtcm93LXNwYWNlci90YWJsZS1yb3ctc3BhY2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXbGNtSXNSb3dTZWxlY3RhYmxlRm4sIFdsY21UYWJsZVJvd0NvbnRleHQgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGFibGUtcm93Lm1vZGVscyc7XG5pbXBvcnQgeyBXbGNtVGFibGVDb25maWcsIFdsY21UYWJsZVNlbGVjdElkRm4gfSBmcm9tICcuLi8uLi9tb2RlbHMvdGFibGUubW9kZWxzJztcbmltcG9ydCB7IFdsY21UYWJsZVJvd0luamVjdG9yUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3RhYmxlLXJvdy1pbmplY3Rvci5waXBlJztcbmltcG9ydCB7IFdsY21UYWJsZUVycm9yc1V0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvdGFibGUtZXJyb3JzLnV0aWxzJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgV0xDTV9UQUJMRV9DT05GSUcgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvdGFibGUuY29uc3RhbnRzJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFJ4TGV0IH0gZnJvbSAnQHJ4LWFuZ3VsYXIvdGVtcGxhdGUvbGV0JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2xjbS10YWJsZScsXG4gIGhvc3Q6IHsgY2xhc3M6ICd3bGNtLXRhYmxlJyB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBXbGNtVGFibGVSb3dJbmplY3RvclBpcGUsIFdsY21UYWJsZVJvd1NwYWNlckNvbXBvbmVudCwgUnhMZXRdLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFdsY21UYWJsZVNlbGVjdGlvbk1vZGVsLCB1c2VDbGFzczogRGVmYXVsdFdsY21UYWJsZVNlbGVjdGlvbk1vZGVsIH1dLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vdGFibGUuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBXbGNtVGFibGVDb21wb25lbnQ8VCA9IHVua25vd24+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcm93czogSW5wdXRTaWduYWw8VFtdPiA9IGlucHV0PFRbXT4oW10pO1xuXG4gIGhlYWRUZW1wbGF0ZTogSW5wdXRTaWduYWw8VGVtcGxhdGVSZWY8dm9pZD4gfCB1bmRlZmluZWQ+ID0gaW5wdXQoKTtcblxuICByb3dUZW1wbGF0ZTogSW5wdXRTaWduYWw8VGVtcGxhdGVSZWY8V2xjbVRhYmxlUm93Q29udGV4dDxUPj4+ID0gaW5wdXQucmVxdWlyZWQoKTtcblxuICBpc1Jvd1NlbGVjdGFibGU6IElucHV0U2lnbmFsPFdsY21Jc1Jvd1NlbGVjdGFibGVGbjxUPj4gPSBpbnB1dDxXbGNtSXNSb3dTZWxlY3RhYmxlRm48VD4+KCgpID0+IHRydWUpO1xuXG4gIHNlbGVjdElkOiBJbnB1dFNpZ25hbDxXbGNtVGFibGVTZWxlY3RJZEZuPFQ+IHwgdW5kZWZpbmVkPiA9IGlucHV0KCk7XG5cbiAgdHJhY2tCeTogSW5wdXRTaWduYWw8VHJhY2tCeUZ1bmN0aW9uPFQ+PiA9IGlucHV0KChfLCByb3c6IFQpID0+IHJvdyk7XG5cbiAgaW5qZWN0b3I6IEluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICAjc3RyZWFtT2ZSb3dzOiBPYnNlcnZhYmxlPFRbXT4gPSB0b09ic2VydmFibGUodGhpcy5yb3dzKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgc2VsZWN0aW9uTW9kZWw6IFdsY21UYWJsZVNlbGVjdGlvbk1vZGVsLFxuICAgIEBJbmplY3QoV0xDTV9UQUJMRV9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBXbGNtVGFibGVDb25maWcsXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWcuc2VsZWN0YWJsZSkge1xuICAgICAgaWYgKCF0aGlzLnNlbGVjdElkKCkpIFdsY21UYWJsZUVycm9yc1V0aWxzLnRocm93Tm9TZWxlY3RJZEVycm9yKCk7XG4gICAgfVxuXG4gICAgdGhpcy4jc3RyZWFtT2ZSb3dzLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgocm93czogVFtdKSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnVwZGF0ZUNvbGxlY3Rpb24ocm93cy5maWx0ZXIodGhpcy5pc1Jvd1NlbGVjdGFibGUoKSkubWFwKHRoaXMuc2VsZWN0SWQoKSEpKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiQGlmIChoZWFkVGVtcGxhdGUoKSkge1xuICA8bmctY29udGFpbmVyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkVGVtcGxhdGUoKSE7IGluamVjdG9yOiBpbmplY3RvclwiXG4gID48L25nLWNvbnRhaW5lcj5cbn1cblxuPHRib2R5PlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nRm9yPVwiXG4gICAgICBsZXQgcm93IG9mIHJvd3MoKTtcbiAgICAgIHRyYWNrQnk6IHRyYWNrQnkoKTtcbiAgICAgIGxldCBpbmRleCA9IGluZGV4O1xuICAgICAgbGV0IGZpcnN0ID0gZmlyc3Q7XG4gICAgICBsZXQgbGFzdCA9IGxhc3RcbiAgICBcIlxuICA+XG4gICAgQGlmICgoZmlyc3QgJiYgaGVhZFRlbXBsYXRlKCkpIHx8ICFmaXJzdCkge1xuICAgICAgPHdsY20tdGFibGUtcm93LXNwYWNlcj48L3dsY20tdGFibGUtcm93LXNwYWNlcj5cbiAgICB9XG5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqcnhMZXQ9XCJcbiAgICAgICAge1xuICAgICAgICAgICRpbXBsaWNpdDogcm93LFxuICAgICAgICAgIHNlbGVjdElkOiBzZWxlY3RJZCgpLFxuICAgICAgICAgIGlzUm93U2VsZWN0YWJsZTogaXNSb3dTZWxlY3RhYmxlKCksXG4gICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgIGZpcnN0OiBmaXJzdCxcbiAgICAgICAgICBsYXN0OiBsYXN0XG4gICAgICAgIH07XG4gICAgICAgIGxldCBjb250ZXh0XG4gICAgICBcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICByb3dUZW1wbGF0ZSgpO1xuICAgICAgICAgIGNvbnRleHQ6IGNvbnRleHQ7XG4gICAgICAgICAgaW5qZWN0b3I6IGNvbnRleHQgfCB3bGNtVGFibGVSb3dJbmplY3RvclxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC90Ym9keT5cbiJdfQ==
|
@@ -5,11 +5,14 @@ import { WLCM_TABLE_ROW_CONTEXT } from '../../constants/table-row.constants';
|
|
5
5
|
import { WlcmTableSelectionModel } from '../../models/table-selection-model';
|
6
6
|
import { WLCM_TABLE_CONFIG } from '../../constants/table.constants';
|
7
7
|
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
8
|
+
import { WlcmFormsModule } from '@wlcm/angular/forms';
|
8
9
|
import { CommonModule } from '@angular/common';
|
10
|
+
import { FormsModule } from '@angular/forms';
|
9
11
|
import { filter, map } from 'rxjs';
|
10
12
|
import * as i0 from "@angular/core";
|
11
13
|
import * as i1 from "../../models/table-selection-model";
|
12
|
-
import * as i2 from "@angular/
|
14
|
+
import * as i2 from "@wlcm/angular/forms";
|
15
|
+
import * as i3 from "@angular/forms";
|
13
16
|
let WlcmTableRowComponent = class WlcmTableRowComponent {
|
14
17
|
get first() {
|
15
18
|
return this.rowContext.first;
|
@@ -23,7 +26,9 @@ let WlcmTableRowComponent = class WlcmTableRowComponent {
|
|
23
26
|
this.tableConfig = tableConfig;
|
24
27
|
this.rowContext = rowContext;
|
25
28
|
this.isSelected = signal(false);
|
26
|
-
|
29
|
+
this.isSelectable = signal(false);
|
30
|
+
this.isSelectable.update(() => tableConfig.selectable && this.rowContext.isRowSelectable(rowContext.$implicit));
|
31
|
+
if (this.isSelectable()) {
|
27
32
|
this.rowId = this.rowContext.selectId(this.rowContext.$implicit);
|
28
33
|
this.handleSelectionChanges();
|
29
34
|
}
|
@@ -51,7 +56,7 @@ let WlcmTableRowComponent = class WlcmTableRowComponent {
|
|
51
56
|
});
|
52
57
|
}
|
53
58
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowComponent, deps: [{ token: i0.ElementRef }, { token: i1.WlcmTableSelectionModel }, { token: WLCM_TABLE_CONFIG }, { token: WLCM_TABLE_ROW_CONTEXT }], target: i0.ɵɵFactoryTarget.Component }); }
|
54
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
59
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: WlcmTableRowComponent, isStandalone: true, selector: "wlcm-table-row", host: { properties: { "class.wlcm-table-row-first": "this.first", "class.wlcm-table-row-last": "this.last" }, classAttribute: "wlcm-table-row" }, ngImport: i0, template: "@if (tableConfig.selectable) {\n <wlcm-table-row-actions>\n @if (isSelectable()) {\n <wlcm-checkbox\n [ngModel]=\"isSelected()\"\n (changed)=\"selectionChanged($event)\"\n ></wlcm-checkbox>\n }\n </wlcm-table-row-actions>\n}\n\n<ng-content select=\"wlcm-table-row-data\"></ng-content>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: WlcmTableRowActionsComponent, selector: "wlcm-table-row-actions" }, { kind: "ngmodule", type: WlcmFormsModule }, { kind: "component", type: i2.WlcmCheckboxComponent, selector: "wlcm-checkbox", inputs: ["value"], outputs: ["changed"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
55
60
|
};
|
56
61
|
WlcmTableRowComponent = __decorate([
|
57
62
|
UntilDestroy(),
|
@@ -61,7 +66,7 @@ WlcmTableRowComponent = __decorate([
|
|
61
66
|
export { WlcmTableRowComponent };
|
62
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowComponent, decorators: [{
|
63
68
|
type: Component,
|
64
|
-
args: [{ selector: 'wlcm-table-row', host: { class: 'wlcm-table-row' }, standalone: true, imports: [CommonModule, WlcmTableRowActionsComponent], template: "<wlcm-table-row-actions\n
|
69
|
+
args: [{ selector: 'wlcm-table-row', host: { class: 'wlcm-table-row' }, standalone: true, imports: [CommonModule, WlcmTableRowActionsComponent, WlcmFormsModule, FormsModule], template: "@if (tableConfig.selectable) {\n <wlcm-table-row-actions>\n @if (isSelectable()) {\n <wlcm-checkbox\n [ngModel]=\"isSelected()\"\n (changed)=\"selectionChanged($event)\"\n ></wlcm-checkbox>\n }\n </wlcm-table-row-actions>\n}\n\n<ng-content select=\"wlcm-table-row-data\"></ng-content>\n" }]
|
65
70
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.WlcmTableSelectionModel }, { type: undefined, decorators: [{
|
66
71
|
type: Inject,
|
67
72
|
args: [WLCM_TABLE_CONFIG]
|
@@ -75,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
75
80
|
type: HostBinding,
|
76
81
|
args: ['class.wlcm-table-row-last']
|
77
82
|
}] } });
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlLXJvdy90YWJsZS1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtcm93L3RhYmxlLXJvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBa0IsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBVzVCLElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXFCO0lBT2hDLElBQStDLEtBQUs7UUFDbEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBOEMsSUFBSTtRQUNoRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUNVLFVBQW1DLEVBQ25DLGNBQXVDLEVBQ1YsV0FBNEIsRUFDekIsVUFBa0M7UUFIbEUsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsbUJBQWMsR0FBZCxjQUFjLENBQXlCO1FBQ1YsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQ3pCLGVBQVUsR0FBVixVQUFVLENBQXdCO1FBaEI1RSxlQUFVLEdBQTRCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwRCxpQkFBWSxHQUE0QixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFnQnBELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFFaEgsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFbEUsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCO2FBQ2pDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQXVCLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDbEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQW1CLEVBQUUsRUFBRSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQzthQUN2RSxTQUFTLENBQUMsQ0FBQyxVQUFtQixFQUFFLEVBQUU7WUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFaEMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7WUFDekUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztZQUM1RSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQXREVSxxQkFBcUIsbUZBa0J0QixpQkFBaUIsYUFDakIsc0JBQXNCO2tHQW5CckIscUJBQXFCLDROQ3RCbEMsZ1VBWUEseURETVksWUFBWSwrQkFBRSw0QkFBNEIsa0VBQUUsZUFBZSx5SkFBRSxXQUFXOztBQUl2RSxxQkFBcUI7SUFUakMsWUFBWSxFQUFFO3FDQXlCUyxVQUFVO1FBQ04sdUJBQXVCO0dBakJ0QyxxQkFBcUIsQ0F1RGpDOzsyRkF2RFkscUJBQXFCO2tCQVJqQyxTQUFTOytCQUNFLGdCQUFnQixRQUNwQixFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxjQUNyQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsNEJBQTRCLEVBQUUsZUFBZSxFQUFFLFdBQVcsQ0FBQzs7MEJBc0JoRixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsc0JBQXNCO3lDQVplLEtBQUs7c0JBQW5ELFdBQVc7dUJBQUMsNEJBQTRCO2dCQUlLLElBQUk7c0JBQWpELFdBQVc7dUJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5qZWN0LCBXcml0YWJsZVNpZ25hbCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXbGNtVGFibGVSb3dBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFibGUtcm93LWFjdGlvbnMvdGFibGUtcm93LWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IFdMQ01fVEFCTEVfUk9XX0NPTlRFWFQgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvdGFibGUtcm93LmNvbnN0YW50cyc7XG5pbXBvcnQgeyBXbGNtVGFibGVTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy90YWJsZS1zZWxlY3Rpb24tbW9kZWwnO1xuaW1wb3J0IHsgV0xDTV9UQUJMRV9DT05GSUcgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvdGFibGUuY29uc3RhbnRzJztcbmltcG9ydCB7IFdsY21UYWJsZVJvd0NvbnRleHQgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGFibGUtcm93Lm1vZGVscyc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IFdsY21UYWJsZUNvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy90YWJsZS5tb2RlbHMnO1xuaW1wb3J0IHsgV2xjbUZvcm1zTW9kdWxlIH0gZnJvbSAnQHdsY20vYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMnO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dsY20tdGFibGUtcm93JyxcbiAgaG9zdDogeyBjbGFzczogJ3dsY20tdGFibGUtcm93JyB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBXbGNtVGFibGVSb3dBY3Rpb25zQ29tcG9uZW50LCBXbGNtRm9ybXNNb2R1bGUsIEZvcm1zTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLXJvdy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi90YWJsZS1yb3cuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBXbGNtVGFibGVSb3dDb21wb25lbnQ8VCA9IHVua25vd24+IHtcbiAgcm93SWQhOiBzdHJpbmc7XG5cbiAgaXNTZWxlY3RlZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIGlzU2VsZWN0YWJsZTogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Mud2xjbS10YWJsZS1yb3ctZmlyc3QnKSBnZXQgZmlyc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMucm93Q29udGV4dC5maXJzdDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Mud2xjbS10YWJsZS1yb3ctbGFzdCcpIGdldCBsYXN0KCkge1xuICAgIHJldHVybiB0aGlzLnJvd0NvbnRleHQubGFzdDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBzZWxlY3Rpb25Nb2RlbDogV2xjbVRhYmxlU2VsZWN0aW9uTW9kZWwsXG4gICAgQEluamVjdChXTENNX1RBQkxFX0NPTkZJRykgcHJvdGVjdGVkIHRhYmxlQ29uZmlnOiBXbGNtVGFibGVDb25maWcsXG4gICAgQEluamVjdChXTENNX1RBQkxFX1JPV19DT05URVhUKSBwcml2YXRlIHJvd0NvbnRleHQ6IFdsY21UYWJsZVJvd0NvbnRleHQ8VD4sXG4gICkge1xuICAgIHRoaXMuaXNTZWxlY3RhYmxlLnVwZGF0ZSgoKSA9PiB0YWJsZUNvbmZpZy5zZWxlY3RhYmxlICYmIHRoaXMucm93Q29udGV4dC5pc1Jvd1NlbGVjdGFibGUocm93Q29udGV4dC4kaW1wbGljaXQpKTtcblxuICAgIGlmICh0aGlzLmlzU2VsZWN0YWJsZSgpKSB7XG4gICAgICB0aGlzLnJvd0lkID0gdGhpcy5yb3dDb250ZXh0LnNlbGVjdElkISh0aGlzLnJvd0NvbnRleHQuJGltcGxpY2l0KTtcblxuICAgICAgdGhpcy5oYW5kbGVTZWxlY3Rpb25DaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0aW9uQ2hhbmdlZChpc1NlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdE9uZSh0aGlzLnJvd0lkKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLmRlc2VsZWN0T25lKHRoaXMucm93SWQpO1xuXG4gICAgdGhpcy5pc1NlbGVjdGVkLnNldChpc1NlbGVjdGVkKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU2VsZWN0aW9uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbkNoYW5nZWRcbiAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnBpcGUobWFwKChjb2xsZWN0aW9uOiBTZXQ8c3RyaW5nPikgPT4gY29sbGVjdGlvbi5oYXModGhpcy5yb3dJZCkpKVxuICAgICAgLnBpcGUoZmlsdGVyKChpc1NlbGVjdGVkOiBib29sZWFuKSA9PiBpc1NlbGVjdGVkICE9PSB0aGlzLmlzU2VsZWN0ZWQoKSkpXG4gICAgICAuc3Vic2NyaWJlKChpc1NlbGVjdGVkOiBib29sZWFuKSA9PiB7XG4gICAgICAgIHRoaXMuaXNTZWxlY3RlZC5zZXQoaXNTZWxlY3RlZCk7XG5cbiAgICAgICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCd3bGNtLXRhYmxlLXJvdy1zZWxlY3RlZCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3dsY20tdGFibGUtcm93LXNlbGVjdGVkJyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iLCJAaWYgKHRhYmxlQ29uZmlnLnNlbGVjdGFibGUpIHtcbiAgPHdsY20tdGFibGUtcm93LWFjdGlvbnM+XG4gICAgQGlmIChpc1NlbGVjdGFibGUoKSkge1xuICAgICAgPHdsY20tY2hlY2tib3hcbiAgICAgICAgW25nTW9kZWxdPVwiaXNTZWxlY3RlZCgpXCJcbiAgICAgICAgKGNoYW5nZWQpPVwic2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgID48L3dsY20tY2hlY2tib3g+XG4gICAgfVxuICA8L3dsY20tdGFibGUtcm93LWFjdGlvbnM+XG59XG5cbjxuZy1jb250ZW50IHNlbGVjdD1cIndsY20tdGFibGUtcm93LWRhdGFcIj48L25nLWNvbnRlbnQ+XG4iXX0=
|
@@ -1,20 +1,12 @@
|
|
1
|
-
import { Component
|
2
|
-
import { FormsModule } from '@angular/forms';
|
3
|
-
import { WlcmFormsModule } from '@wlcm/angular/forms';
|
1
|
+
import { Component } from '@angular/core';
|
4
2
|
import { CommonModule } from '@angular/common';
|
5
3
|
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "@wlcm/angular/forms";
|
7
|
-
import * as i2 from "@angular/forms";
|
8
4
|
export class WlcmTableRowActionsComponent {
|
9
|
-
constructor() {
|
10
|
-
this.isSelected = input.required();
|
11
|
-
this.selectionChanged = output();
|
12
|
-
}
|
13
5
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: WlcmTableRowActionsComponent, isStandalone: true, selector: "wlcm-table-row-actions", host: { classAttribute: "wlcm-table-row-actions" }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
15
7
|
}
|
16
8
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowActionsComponent, decorators: [{
|
17
9
|
type: Component,
|
18
|
-
args: [{ selector: 'wlcm-table-row-actions', host: { class: 'wlcm-table-row-actions' }, standalone: true, imports: [CommonModule
|
10
|
+
args: [{ selector: 'wlcm-table-row-actions', host: { class: 'wlcm-table-row-actions' }, standalone: true, imports: [CommonModule], template: "<ng-content></ng-content>\n" }]
|
19
11
|
}] });
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcm93LWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtcm93LWFjdGlvbnMvdGFibGUtcm93LWFjdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy90YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtcm93LWFjdGlvbnMvdGFibGUtcm93LWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBVS9DLE1BQU0sT0FBTyw0QkFBNEI7OEdBQTVCLDRCQUE0QjtrR0FBNUIsNEJBQTRCLHNJQ1h6Qyw2QkFDQSx5RERNWSxZQUFZOzsyRkFJWCw0QkFBNEI7a0JBUnhDLFNBQVM7K0JBQ0Usd0JBQXdCLFFBQzVCLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixFQUFFLGNBQzdCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2xjbS10YWJsZS1yb3ctYWN0aW9ucycsXG4gIGhvc3Q6IHsgY2xhc3M6ICd3bGNtLXRhYmxlLXJvdy1hY3Rpb25zJyB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLXJvdy1hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3RhYmxlLXJvdy1hY3Rpb25zLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgV2xjbVRhYmxlUm93QWN0aW9uc0NvbXBvbmVudCB7fVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcm93Lm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvdGFibGUvc3JjL2xpYi9tb2RlbHMvdGFibGUtcm93Lm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV2xjbVRhYmxlU2VsZWN0SWRGbiB9IGZyb20gJy4vdGFibGUubW9kZWxzJztcblxuZXhwb3J0IHR5cGUgV2xjbUlzUm93U2VsZWN0YWJsZUZuPFQgPSB1bmtub3duPiA9IChyb3c6IFQpID0+IGJvb2xlYW47XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2xjbVRhYmxlUm93Q29udGV4dDxUPiB7XG4gICRpbXBsaWNpdDogVDtcblxuICBzZWxlY3RJZD86IFdsY21UYWJsZVNlbGVjdElkRm48VD47XG5cbiAgaXNSb3dTZWxlY3RhYmxlOiBXbGNtSXNSb3dTZWxlY3RhYmxlRm48VD47XG5cbiAgaW5kZXg6IG51bWJlcjtcblxuICBmaXJzdDogYm9vbGVhbjtcblxuICBsYXN0OiBib29sZWFuO1xufVxuIl19
|
@@ -1,16 +1,16 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { Component, InjectionToken, inject, Injector, Pipe,
|
3
|
-
import * as i2
|
2
|
+
import { Component, InjectionToken, inject, Injector, Pipe, input, Inject, signal, ElementRef, HostBinding, output, NgZone, Directive, NgModule } from '@angular/core';
|
3
|
+
import * as i2 from '@angular/common';
|
4
4
|
import { CommonModule } from '@angular/common';
|
5
|
-
import { BehaviorSubject, map, filter, fromEvent, debounceTime } from 'rxjs';
|
6
5
|
import { __decorate, __metadata } from 'tslib';
|
7
|
-
import
|
6
|
+
import { BehaviorSubject, map, filter, fromEvent, debounceTime } from 'rxjs';
|
7
|
+
import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
|
8
|
+
import { toObservable } from '@angular/core/rxjs-interop';
|
9
|
+
import { RxLet } from '@rx-angular/template/let';
|
10
|
+
import * as i2$1 from '@wlcm/angular/forms';
|
8
11
|
import { WlcmFormsModule } from '@wlcm/angular/forms';
|
9
12
|
import * as i3 from '@angular/forms';
|
10
13
|
import { FormControl, ReactiveFormsModule, FormsModule } from '@angular/forms';
|
11
|
-
import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
|
12
|
-
import { WlcmLoaderComponent } from '@wlcm/angular/core';
|
13
|
-
import { RxLet } from '@rx-angular/template/let';
|
14
14
|
|
15
15
|
class WlcmTableSelectionModel {
|
16
16
|
constructor() {
|
@@ -91,6 +91,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
91
91
|
}]
|
92
92
|
}] });
|
93
93
|
|
94
|
+
class WlcmTableErrorsUtils {
|
95
|
+
static throwNoSelectIdError() {
|
96
|
+
throw new Error('wlcm-table: [selectId] method must be provided');
|
97
|
+
}
|
98
|
+
}
|
99
|
+
|
100
|
+
const WLCM_TABLE_CONFIG = new InjectionToken('WLCM_TABLE_CONFIG', {
|
101
|
+
factory: () => ({ selectable: false }),
|
102
|
+
});
|
103
|
+
|
104
|
+
let WlcmTableComponent = class WlcmTableComponent {
|
105
|
+
#streamOfRows;
|
106
|
+
constructor(selectionModel, config) {
|
107
|
+
this.selectionModel = selectionModel;
|
108
|
+
this.config = config;
|
109
|
+
this.rows = input([]);
|
110
|
+
this.headTemplate = input();
|
111
|
+
this.rowTemplate = input.required();
|
112
|
+
this.isRowSelectable = input(() => true);
|
113
|
+
this.selectId = input();
|
114
|
+
this.trackBy = input((_, row) => row);
|
115
|
+
this.injector = inject(Injector);
|
116
|
+
this.#streamOfRows = toObservable(this.rows);
|
117
|
+
}
|
118
|
+
ngOnInit() {
|
119
|
+
if (this.config.selectable) {
|
120
|
+
if (!this.selectId())
|
121
|
+
WlcmTableErrorsUtils.throwNoSelectIdError();
|
122
|
+
}
|
123
|
+
this.#streamOfRows.pipe(untilDestroyed(this)).subscribe((rows) => {
|
124
|
+
this.selectionModel.updateCollection(rows.filter(this.isRowSelectable()).map(this.selectId()));
|
125
|
+
});
|
126
|
+
}
|
127
|
+
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 }); }
|
128
|
+
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 }, isRowSelectable: { classPropertyName: "isRowSelectable", publicName: "isRowSelectable", isSignal: true, isRequired: false, transformFunction: null }, selectId: { classPropertyName: "selectId", publicName: "selectId", isSignal: true, isRequired: false, transformFunction: null }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", 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 <ng-container\n *ngFor=\"\n let row of rows();\n trackBy: trackBy();\n let index = index;\n let first = first;\n let last = last\n \"\n >\n @if ((first && headTemplate()) || !first) {\n <wlcm-table-row-spacer></wlcm-table-row-spacer>\n }\n\n <ng-container\n *rxLet=\"\n {\n $implicit: row,\n selectId: selectId(),\n isRowSelectable: isRowSelectable(),\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 </ng-container>\n</tbody>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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"] }] }); }
|
129
|
+
};
|
130
|
+
WlcmTableComponent = __decorate([
|
131
|
+
UntilDestroy(),
|
132
|
+
__metadata("design:paramtypes", [WlcmTableSelectionModel, Object])
|
133
|
+
], WlcmTableComponent);
|
134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableComponent, decorators: [{
|
135
|
+
type: Component,
|
136
|
+
args: [{ selector: 'wlcm-table', host: { class: 'wlcm-table' }, standalone: true, imports: [CommonModule, WlcmTableRowInjectorPipe, WlcmTableRowSpacerComponent, RxLet], providers: [{ provide: WlcmTableSelectionModel, useClass: DefaultWlcmTableSelectionModel }], template: "@if (headTemplate()) {\n <ng-container\n *ngTemplateOutlet=\"headTemplate()!; injector: injector\"\n ></ng-container>\n}\n\n<tbody>\n <ng-container\n *ngFor=\"\n let row of rows();\n trackBy: trackBy();\n let index = index;\n let first = first;\n let last = last\n \"\n >\n @if ((first && headTemplate()) || !first) {\n <wlcm-table-row-spacer></wlcm-table-row-spacer>\n }\n\n <ng-container\n *rxLet=\"\n {\n $implicit: row,\n selectId: selectId(),\n isRowSelectable: isRowSelectable(),\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 </ng-container>\n</tbody>\n" }]
|
137
|
+
}], ctorParameters: () => [{ type: WlcmTableSelectionModel }, { type: undefined, decorators: [{
|
138
|
+
type: Inject,
|
139
|
+
args: [WLCM_TABLE_CONFIG]
|
140
|
+
}] }] });
|
141
|
+
|
94
142
|
let WlcmTableHeadActionsComponent = class WlcmTableHeadActionsComponent {
|
95
143
|
constructor(selectionModel) {
|
96
144
|
this.selectionModel = selectionModel;
|
@@ -109,7 +157,7 @@ let WlcmTableHeadActionsComponent = class WlcmTableHeadActionsComponent {
|
|
109
157
|
.subscribe((isSelected) => this.control.setValue(isSelected));
|
110
158
|
}
|
111
159
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableHeadActionsComponent, deps: [{ token: WlcmTableSelectionModel }], target: i0.ɵɵFactoryTarget.Component }); }
|
112
|
-
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", inputs: ["value"], 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"] }] }); }
|
160
|
+
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$1.WlcmCheckboxComponent, selector: "wlcm-checkbox", inputs: ["value"], 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"] }] }); }
|
113
161
|
};
|
114
162
|
WlcmTableHeadActionsComponent = __decorate([
|
115
163
|
UntilDestroy(),
|
@@ -120,16 +168,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
120
168
|
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" }]
|
121
169
|
}], ctorParameters: () => [{ type: WlcmTableSelectionModel }] });
|
122
170
|
|
123
|
-
const WLCM_TABLE_CONFIG = new InjectionToken('WLCM_TABLE_CONFIG', {
|
124
|
-
factory: () => ({ selectable: false }),
|
125
|
-
});
|
126
|
-
|
127
171
|
class WlcmTableHeadComponent {
|
128
172
|
constructor(tableConfig) {
|
129
173
|
this.tableConfig = tableConfig;
|
130
174
|
}
|
131
175
|
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 }); }
|
132
|
-
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: i2
|
176
|
+
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: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: WlcmTableHeadActionsComponent, selector: "wlcm-table-head-actions" }] }); }
|
133
177
|
}
|
134
178
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableHeadComponent, decorators: [{
|
135
179
|
type: Component,
|
@@ -139,17 +183,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
139
183
|
args: [WLCM_TABLE_CONFIG]
|
140
184
|
}] }] });
|
141
185
|
|
186
|
+
class WlcmTableHeadDataComponent {
|
187
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableHeadDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
188
|
+
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 }] }); }
|
189
|
+
}
|
190
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableHeadDataComponent, decorators: [{
|
191
|
+
type: Component,
|
192
|
+
args: [{ selector: 'wlcm-table-head-data', host: { class: 'wlcm-table-head-data' }, standalone: true, imports: [CommonModule], template: "<ng-content></ng-content>\n" }]
|
193
|
+
}] });
|
194
|
+
|
142
195
|
class WlcmTableRowActionsComponent {
|
143
|
-
constructor() {
|
144
|
-
this.isSelected = input.required();
|
145
|
-
this.selectionChanged = output();
|
146
|
-
}
|
147
196
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
148
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
197
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: WlcmTableRowActionsComponent, isStandalone: true, selector: "wlcm-table-row-actions", host: { classAttribute: "wlcm-table-row-actions" }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
149
198
|
}
|
150
199
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowActionsComponent, decorators: [{
|
151
200
|
type: Component,
|
152
|
-
args: [{ selector: 'wlcm-table-row-actions', host: { class: 'wlcm-table-row-actions' }, standalone: true, imports: [CommonModule
|
201
|
+
args: [{ selector: 'wlcm-table-row-actions', host: { class: 'wlcm-table-row-actions' }, standalone: true, imports: [CommonModule], template: "<ng-content></ng-content>\n" }]
|
153
202
|
}] });
|
154
203
|
|
155
204
|
let WlcmTableRowComponent = class WlcmTableRowComponent {
|
@@ -165,7 +214,9 @@ let WlcmTableRowComponent = class WlcmTableRowComponent {
|
|
165
214
|
this.tableConfig = tableConfig;
|
166
215
|
this.rowContext = rowContext;
|
167
216
|
this.isSelected = signal(false);
|
168
|
-
|
217
|
+
this.isSelectable = signal(false);
|
218
|
+
this.isSelectable.update(() => tableConfig.selectable && this.rowContext.isRowSelectable(rowContext.$implicit));
|
219
|
+
if (this.isSelectable()) {
|
169
220
|
this.rowId = this.rowContext.selectId(this.rowContext.$implicit);
|
170
221
|
this.handleSelectionChanges();
|
171
222
|
}
|
@@ -193,7 +244,7 @@ let WlcmTableRowComponent = class WlcmTableRowComponent {
|
|
193
244
|
});
|
194
245
|
}
|
195
246
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowComponent, deps: [{ token: i0.ElementRef }, { token: WlcmTableSelectionModel }, { token: WLCM_TABLE_CONFIG }, { token: WLCM_TABLE_ROW_CONTEXT }], target: i0.ɵɵFactoryTarget.Component }); }
|
196
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
247
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: WlcmTableRowComponent, isStandalone: true, selector: "wlcm-table-row", host: { properties: { "class.wlcm-table-row-first": "this.first", "class.wlcm-table-row-last": "this.last" }, classAttribute: "wlcm-table-row" }, ngImport: i0, template: "@if (tableConfig.selectable) {\n <wlcm-table-row-actions>\n @if (isSelectable()) {\n <wlcm-checkbox\n [ngModel]=\"isSelected()\"\n (changed)=\"selectionChanged($event)\"\n ></wlcm-checkbox>\n }\n </wlcm-table-row-actions>\n}\n\n<ng-content select=\"wlcm-table-row-data\"></ng-content>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: WlcmTableRowActionsComponent, selector: "wlcm-table-row-actions" }, { kind: "ngmodule", type: WlcmFormsModule }, { kind: "component", type: i2$1.WlcmCheckboxComponent, selector: "wlcm-checkbox", inputs: ["value"], outputs: ["changed"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
197
248
|
};
|
198
249
|
WlcmTableRowComponent = __decorate([
|
199
250
|
UntilDestroy(),
|
@@ -202,7 +253,7 @@ WlcmTableRowComponent = __decorate([
|
|
202
253
|
], WlcmTableRowComponent);
|
203
254
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowComponent, decorators: [{
|
204
255
|
type: Component,
|
205
|
-
args: [{ selector: 'wlcm-table-row', host: { class: 'wlcm-table-row' }, standalone: true, imports: [CommonModule, WlcmTableRowActionsComponent], template: "<wlcm-table-row-actions\n
|
256
|
+
args: [{ selector: 'wlcm-table-row', host: { class: 'wlcm-table-row' }, standalone: true, imports: [CommonModule, WlcmTableRowActionsComponent, WlcmFormsModule, FormsModule], template: "@if (tableConfig.selectable) {\n <wlcm-table-row-actions>\n @if (isSelectable()) {\n <wlcm-checkbox\n [ngModel]=\"isSelected()\"\n (changed)=\"selectionChanged($event)\"\n ></wlcm-checkbox>\n }\n </wlcm-table-row-actions>\n}\n\n<ng-content select=\"wlcm-table-row-data\"></ng-content>\n" }]
|
206
257
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: WlcmTableSelectionModel }, { type: undefined, decorators: [{
|
207
258
|
type: Inject,
|
208
259
|
args: [WLCM_TABLE_CONFIG]
|
@@ -217,57 +268,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
217
268
|
args: ['class.wlcm-table-row-last']
|
218
269
|
}] } });
|
219
270
|
|
220
|
-
class WlcmTableErrorsUtils {
|
221
|
-
static throwNoSelectIdError() {
|
222
|
-
throw new Error('wlcm-table: [selectId] method must be provided');
|
223
|
-
}
|
224
|
-
}
|
225
|
-
|
226
|
-
class WlcmTableComponent {
|
227
|
-
constructor(selectionModel, config) {
|
228
|
-
this.selectionModel = selectionModel;
|
229
|
-
this.rows = input([]);
|
230
|
-
this.headTemplate = input();
|
231
|
-
this.rowTemplate = input.required();
|
232
|
-
this.selectId = input();
|
233
|
-
this.trackBy = input((_, row) => row);
|
234
|
-
this.injector = inject(Injector);
|
235
|
-
effect(() => {
|
236
|
-
if (config.selectable) {
|
237
|
-
if (!this.selectId())
|
238
|
-
WlcmTableErrorsUtils.throwNoSelectIdError();
|
239
|
-
this.selectionModel.updateCollection(this.rows().map(this.selectId()));
|
240
|
-
}
|
241
|
-
});
|
242
|
-
}
|
243
|
-
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 }); }
|
244
|
-
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 }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", 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 <ng-container\n *ngFor=\"\n let row of rows();\n trackBy: trackBy();\n let index = index;\n let first = first;\n let last = last\n \"\n >\n @if ((first && headTemplate()) || !first) {\n <wlcm-table-row-spacer></wlcm-table-row-spacer>\n }\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 </ng-container>\n</tbody>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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"] }] }); }
|
245
|
-
}
|
246
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableComponent, decorators: [{
|
247
|
-
type: Component,
|
248
|
-
args: [{ selector: 'wlcm-table', host: { class: 'wlcm-table' }, standalone: true, imports: [
|
249
|
-
CommonModule,
|
250
|
-
WlcmTableHeadComponent,
|
251
|
-
WlcmTableRowComponent,
|
252
|
-
WlcmTableRowInjectorPipe,
|
253
|
-
WlcmTableRowSpacerComponent,
|
254
|
-
WlcmLoaderComponent,
|
255
|
-
RxLet,
|
256
|
-
], providers: [{ provide: WlcmTableSelectionModel, useClass: DefaultWlcmTableSelectionModel }], template: "@if (headTemplate()) {\n <ng-container\n *ngTemplateOutlet=\"headTemplate()!; injector: injector\"\n ></ng-container>\n}\n\n<tbody>\n <ng-container\n *ngFor=\"\n let row of rows();\n trackBy: trackBy();\n let index = index;\n let first = first;\n let last = last\n \"\n >\n @if ((first && headTemplate()) || !first) {\n <wlcm-table-row-spacer></wlcm-table-row-spacer>\n }\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 </ng-container>\n</tbody>\n" }]
|
257
|
-
}], ctorParameters: () => [{ type: WlcmTableSelectionModel }, { type: undefined, decorators: [{
|
258
|
-
type: Inject,
|
259
|
-
args: [WLCM_TABLE_CONFIG]
|
260
|
-
}] }] });
|
261
|
-
|
262
|
-
class WlcmTableHeadDataComponent {
|
263
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableHeadDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
264
|
-
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 }] }); }
|
265
|
-
}
|
266
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableHeadDataComponent, decorators: [{
|
267
|
-
type: Component,
|
268
|
-
args: [{ selector: 'wlcm-table-head-data', host: { class: 'wlcm-table-head-data' }, standalone: true, imports: [CommonModule], template: "<ng-content></ng-content>\n" }]
|
269
|
-
}] });
|
270
|
-
|
271
271
|
class WlcmTableRowDataComponent {
|
272
272
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmTableRowDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
273
273
|
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 }] }); }
|