@quadrel-enterprise-ui/framework 18.29.5 → 18.30.0

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/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## [18.30.0](https://github.com/BAZG-Quadrel/quadrel-framework/compare/v18.29.5...v18.30.0) (2025-12-30)
2
+
3
+ ### Bug Fixes
4
+
5
+ * table should not propagate click event for selection ([bfc961f](https://github.com/BAZG-Quadrel/quadrel-framework/commit/bfc961fca0aa8ce6d839e3429acd0364a50554b6))
1
6
  ## [18.29.5](https://github.com/BAZG-Quadrel/quadrel-framework/compare/v18.29.4...v18.29.5) (2025-12-15)
2
7
  ## [18.29.4](https://github.com/BAZG-Quadrel/quadrel-framework/compare/v18.29.2...v18.29.4) (2025-12-15)
3
8
 
@@ -23,6 +23,9 @@ export class QdTableRowSelectionComponent {
23
23
  isRowSelected$() {
24
24
  return this.rowSelectionService.isRowSelected$(this.rowIndex);
25
25
  }
26
+ stopPropagation(event) {
27
+ event.stopPropagation();
28
+ }
26
29
  handleChange(event) {
27
30
  if (event.target.checked) {
28
31
  this.rowSelectionService.setRowSelected(this.rowIndex);
@@ -32,11 +35,11 @@ export class QdTableRowSelectionComponent {
32
35
  }
33
36
  }
34
37
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: QdTableRowSelectionComponent, deps: [{ token: i1.QdTableRowSelectionService }], target: i0.ɵɵFactoryTarget.Component });
35
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: QdTableRowSelectionComponent, selector: "[qd-table-row-selection]", inputs: { rowIndex: "rowIndex", testId: ["data-test-id", "testId"] }, host: { properties: { "attr.data-test-id": "this.dataTestId" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"selectionType\">\n <ng-container *ngSwitchCase=\"'singleSelect'\">\n <input\n type=\"radio\"\n [name]=\"'qd-table-selection__' + tableId\"\n [checked]=\"isRowSelected$() | async\"\n (change)=\"handleChange($event)\"\n [attr.data-test-id]=\"testId + '-radio'\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"'multiSelect'\">\n <input\n type=\"checkbox\"\n [name]=\"'qd-table-selection__' + tableId\"\n [checked]=\"isRowSelected$() | async\"\n (change)=\"handleChange($event)\"\n [attr.data-test-id]=\"testId + '-checkbox'\"\n />\n </ng-container>\n</ng-container>\n", styles: ["input{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: QdTableRowSelectionComponent, selector: "[qd-table-row-selection]", inputs: { rowIndex: "rowIndex", testId: ["data-test-id", "testId"] }, host: { properties: { "attr.data-test-id": "this.dataTestId" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"selectionType\">\n <ng-container *ngSwitchCase=\"'singleSelect'\">\n <input\n type=\"radio\"\n [name]=\"'qd-table-selection__' + tableId\"\n [checked]=\"isRowSelected$() | async\"\n (click)=\"stopPropagation($event)\"\n (change)=\"handleChange($event)\"\n [attr.data-test-id]=\"testId + '-radio'\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"'multiSelect'\">\n <input\n type=\"checkbox\"\n [name]=\"'qd-table-selection__' + tableId\"\n [checked]=\"isRowSelected$() | async\"\n (click)=\"stopPropagation($event)\"\n (change)=\"handleChange($event)\"\n [attr.data-test-id]=\"testId + '-checkbox'\"\n />\n </ng-container>\n</ng-container>\n", styles: ["input{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
39
  }
37
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: QdTableRowSelectionComponent, decorators: [{
38
41
  type: Component,
39
- args: [{ selector: '[qd-table-row-selection]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"selectionType\">\n <ng-container *ngSwitchCase=\"'singleSelect'\">\n <input\n type=\"radio\"\n [name]=\"'qd-table-selection__' + tableId\"\n [checked]=\"isRowSelected$() | async\"\n (change)=\"handleChange($event)\"\n [attr.data-test-id]=\"testId + '-radio'\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"'multiSelect'\">\n <input\n type=\"checkbox\"\n [name]=\"'qd-table-selection__' + tableId\"\n [checked]=\"isRowSelected$() | async\"\n (change)=\"handleChange($event)\"\n [attr.data-test-id]=\"testId + '-checkbox'\"\n />\n </ng-container>\n</ng-container>\n", styles: ["input{cursor:pointer}\n"] }]
42
+ args: [{ selector: '[qd-table-row-selection]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"selectionType\">\n <ng-container *ngSwitchCase=\"'singleSelect'\">\n <input\n type=\"radio\"\n [name]=\"'qd-table-selection__' + tableId\"\n [checked]=\"isRowSelected$() | async\"\n (click)=\"stopPropagation($event)\"\n (change)=\"handleChange($event)\"\n [attr.data-test-id]=\"testId + '-radio'\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"'multiSelect'\">\n <input\n type=\"checkbox\"\n [name]=\"'qd-table-selection__' + tableId\"\n [checked]=\"isRowSelected$() | async\"\n (click)=\"stopPropagation($event)\"\n (change)=\"handleChange($event)\"\n [attr.data-test-id]=\"testId + '-checkbox'\"\n />\n </ng-container>\n</ng-container>\n", styles: ["input{cursor:pointer}\n"] }]
40
43
  }], ctorParameters: () => [{ type: i1.QdTableRowSelectionService }], propDecorators: { rowIndex: [{
41
44
  type: Input
42
45
  }], testId: [{
@@ -46,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
46
49
  type: HostBinding,
47
50
  args: ['attr.data-test-id']
48
51
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcm93LXNlbGVjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3FkLXVpL3NyYy9saWIvdGFibGUvcm93L3NlbGVjdGlvbi90YWJsZS1yb3ctc2VsZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi90YWJsZS9yb3cvc2VsZWN0aW9uL3RhYmxlLXJvdy1zZWxlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBQ3BCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQVFsRixNQUFNLE9BQU8sNEJBQTRCO0lBUW5CO0lBUFgsUUFBUSxDQUFrQjtJQUNaLE1BQU0sQ0FBUztJQUV0QyxJQUFzQyxVQUFVO1FBQzlDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsWUFBb0IsbUJBQWtEO1FBQWxELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBK0I7SUFBRyxDQUFDO0lBRTFFLElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDO0lBQzFDLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVk7UUFDdkIsSUFBSyxLQUFLLENBQUMsTUFBMkIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6RCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0QsQ0FBQztJQUNILENBQUM7dUdBNUJVLDRCQUE0QjsyRkFBNUIsNEJBQTRCLHdNQ1p6QywycEJBb0JBOzsyRkRSYSw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0UsMEJBQTBCLG1CQUduQix1QkFBdUIsQ0FBQyxNQUFNOytGQUd0QyxRQUFRO3NCQUFoQixLQUFLO2dCQUNpQixNQUFNO3NCQUE1QixLQUFLO3VCQUFDLGNBQWM7Z0JBRWlCLFVBQVU7c0JBQS9DLFdBQVc7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLXN0cmljdC1pZ25vcmVcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUWRUYWJsZVJvd0luZGV4IH0gZnJvbSAnLi4vLi4vbW9kZWwvdGFibGUtZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUWRUYWJsZVJvd1NlbGVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yb3ctc2VsZWN0aW9uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdbcWQtdGFibGUtcm93LXNlbGVjdGlvbl0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtcm93LXNlbGVjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLXJvdy1zZWxlY3Rpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUWRUYWJsZVJvd1NlbGVjdGlvbkNvbXBvbmVudDxUIGV4dGVuZHMgc3RyaW5nPiB7XG4gIEBJbnB1dCgpIHJvd0luZGV4OiBRZFRhYmxlUm93SW5kZXg7XG4gIEBJbnB1dCgnZGF0YS10ZXN0LWlkJykgdGVzdElkOiBzdHJpbmc7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdGVzdC1pZCcpIGdldCBkYXRhVGVzdElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGVzdElkO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3dTZWxlY3Rpb25TZXJ2aWNlOiBRZFRhYmxlUm93U2VsZWN0aW9uU2VydmljZTxUPikge31cblxuICBnZXQgc2VsZWN0aW9uVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJvd1NlbGVjdGlvblNlcnZpY2Uuc2VsZWN0aW9uVHlwZTtcbiAgfVxuXG4gIGdldCB0YWJsZUlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucm93U2VsZWN0aW9uU2VydmljZS50YWJsZUlkO1xuICB9XG5cbiAgaXNSb3dTZWxlY3RlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucm93U2VsZWN0aW9uU2VydmljZS5pc1Jvd1NlbGVjdGVkJCh0aGlzLnJvd0luZGV4KTtcbiAgfVxuXG4gIGhhbmRsZUNoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5jaGVja2VkKSB7XG4gICAgICB0aGlzLnJvd1NlbGVjdGlvblNlcnZpY2Uuc2V0Um93U2VsZWN0ZWQodGhpcy5yb3dJbmRleCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucm93U2VsZWN0aW9uU2VydmljZS5zZXRSb3dVbnNlbGVjdGVkKHRoaXMucm93SW5kZXgpO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwic2VsZWN0aW9uVHlwZVwiPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2luZ2xlU2VsZWN0J1wiPlxuICAgIDxpbnB1dFxuICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgIFtuYW1lXT1cIidxZC10YWJsZS1zZWxlY3Rpb25fXycgKyB0YWJsZUlkXCJcbiAgICAgIFtjaGVja2VkXT1cImlzUm93U2VsZWN0ZWQkKCkgfCBhc3luY1wiXG4gICAgICAoY2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIFthdHRyLmRhdGEtdGVzdC1pZF09XCJ0ZXN0SWQgKyAnLXJhZGlvJ1wiXG4gICAgLz5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtdWx0aVNlbGVjdCdcIj5cbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICBbbmFtZV09XCIncWQtdGFibGUtc2VsZWN0aW9uX18nICsgdGFibGVJZFwiXG4gICAgICBbY2hlY2tlZF09XCJpc1Jvd1NlbGVjdGVkJCgpIHwgYXN5bmNcIlxuICAgICAgKGNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbYXR0ci5kYXRhLXRlc3QtaWRdPVwidGVzdElkICsgJy1jaGVja2JveCdcIlxuICAgIC8+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcm93LXNlbGVjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3FkLXVpL3NyYy9saWIvdGFibGUvcm93L3NlbGVjdGlvbi90YWJsZS1yb3ctc2VsZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi90YWJsZS9yb3cvc2VsZWN0aW9uL3RhYmxlLXJvdy1zZWxlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBQ3BCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQVFsRixNQUFNLE9BQU8sNEJBQTRCO0lBUW5CO0lBUFgsUUFBUSxDQUFrQjtJQUNaLE1BQU0sQ0FBUztJQUV0QyxJQUFzQyxVQUFVO1FBQzlDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsWUFBb0IsbUJBQWtEO1FBQWxELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBK0I7SUFBRyxDQUFDO0lBRTFFLElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDO0lBQzFDLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQVk7UUFDMUIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBWTtRQUN2QixJQUFLLEtBQUssQ0FBQyxNQUEyQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0gsQ0FBQzt1R0FoQ1UsNEJBQTRCOzJGQUE1Qiw0QkFBNEIsd01DWnpDLGl2QkFzQkE7OzJGRFZhLDRCQUE0QjtrQkFOeEMsU0FBUzsrQkFDRSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU07K0ZBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ2lCLE1BQU07c0JBQTVCLEtBQUs7dUJBQUMsY0FBYztnQkFFaUIsVUFBVTtzQkFBL0MsV0FBVzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtc3RyaWN0LWlnbm9yZVxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBRZFRhYmxlUm93SW5kZXggfSBmcm9tICcuLi8uLi9tb2RlbC90YWJsZS1kYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBRZFRhYmxlUm93U2VsZWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Jvdy1zZWxlY3Rpb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ1txZC10YWJsZS1yb3ctc2VsZWN0aW9uXScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1yb3ctc2VsZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtcm93LXNlbGVjdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBRZFRhYmxlUm93U2VsZWN0aW9uQ29tcG9uZW50PFQgZXh0ZW5kcyBzdHJpbmc+IHtcbiAgQElucHV0KCkgcm93SW5kZXg6IFFkVGFibGVSb3dJbmRleDtcbiAgQElucHV0KCdkYXRhLXRlc3QtaWQnKSB0ZXN0SWQ6IHN0cmluZztcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10ZXN0LWlkJykgZ2V0IGRhdGFUZXN0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50ZXN0SWQ7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvd1NlbGVjdGlvblNlcnZpY2U6IFFkVGFibGVSb3dTZWxlY3Rpb25TZXJ2aWNlPFQ+KSB7fVxuXG4gIGdldCBzZWxlY3Rpb25UeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucm93U2VsZWN0aW9uU2VydmljZS5zZWxlY3Rpb25UeXBlO1xuICB9XG5cbiAgZ2V0IHRhYmxlSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yb3dTZWxlY3Rpb25TZXJ2aWNlLnRhYmxlSWQ7XG4gIH1cblxuICBpc1Jvd1NlbGVjdGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5yb3dTZWxlY3Rpb25TZXJ2aWNlLmlzUm93U2VsZWN0ZWQkKHRoaXMucm93SW5kZXgpO1xuICB9XG5cbiAgc3RvcFByb3BhZ2F0aW9uKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgaGFuZGxlQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICgoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmNoZWNrZWQpIHtcbiAgICAgIHRoaXMucm93U2VsZWN0aW9uU2VydmljZS5zZXRSb3dTZWxlY3RlZCh0aGlzLnJvd0luZGV4KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yb3dTZWxlY3Rpb25TZXJ2aWNlLnNldFJvd1Vuc2VsZWN0ZWQodGhpcy5yb3dJbmRleCk7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzZWxlY3Rpb25UeXBlXCI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzaW5nbGVTZWxlY3QnXCI+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgW25hbWVdPVwiJ3FkLXRhYmxlLXNlbGVjdGlvbl9fJyArIHRhYmxlSWRcIlxuICAgICAgW2NoZWNrZWRdPVwiaXNSb3dTZWxlY3RlZCQoKSB8IGFzeW5jXCJcbiAgICAgIChjbGljayk9XCJzdG9wUHJvcGFnYXRpb24oJGV2ZW50KVwiXG4gICAgICAoY2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIFthdHRyLmRhdGEtdGVzdC1pZF09XCJ0ZXN0SWQgKyAnLXJhZGlvJ1wiXG4gICAgLz5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtdWx0aVNlbGVjdCdcIj5cbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICBbbmFtZV09XCIncWQtdGFibGUtc2VsZWN0aW9uX18nICsgdGFibGVJZFwiXG4gICAgICBbY2hlY2tlZF09XCJpc1Jvd1NlbGVjdGVkJCgpIHwgYXN5bmNcIlxuICAgICAgKGNsaWNrKT1cInN0b3BQcm9wYWdhdGlvbigkZXZlbnQpXCJcbiAgICAgIChjaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgW2F0dHIuZGF0YS10ZXN0LWlkXT1cInRlc3RJZCArICctY2hlY2tib3gnXCJcbiAgICAvPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -21470,6 +21470,9 @@ class QdTableRowSelectionComponent {
21470
21470
  isRowSelected$() {
21471
21471
  return this.rowSelectionService.isRowSelected$(this.rowIndex);
21472
21472
  }
21473
+ stopPropagation(event) {
21474
+ event.stopPropagation();
21475
+ }
21473
21476
  handleChange(event) {
21474
21477
  if (event.target.checked) {
21475
21478
  this.rowSelectionService.setRowSelected(this.rowIndex);
@@ -21479,11 +21482,11 @@ class QdTableRowSelectionComponent {
21479
21482
  }
21480
21483
  }
21481
21484
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: QdTableRowSelectionComponent, deps: [{ token: QdTableRowSelectionService }], target: i0.ɵɵFactoryTarget.Component });
21482
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: QdTableRowSelectionComponent, selector: "[qd-table-row-selection]", inputs: { rowIndex: "rowIndex", testId: ["data-test-id", "testId"] }, host: { properties: { "attr.data-test-id": "this.dataTestId" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"selectionType\">\n <ng-container *ngSwitchCase=\"'singleSelect'\">\n <input\n type=\"radio\"\n [name]=\"'qd-table-selection__' + tableId\"\n [checked]=\"isRowSelected$() | async\"\n (change)=\"handleChange($event)\"\n [attr.data-test-id]=\"testId + '-radio'\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"'multiSelect'\">\n <input\n type=\"checkbox\"\n [name]=\"'qd-table-selection__' + tableId\"\n [checked]=\"isRowSelected$() | async\"\n (change)=\"handleChange($event)\"\n [attr.data-test-id]=\"testId + '-checkbox'\"\n />\n </ng-container>\n</ng-container>\n", styles: ["input{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
21485
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: QdTableRowSelectionComponent, selector: "[qd-table-row-selection]", inputs: { rowIndex: "rowIndex", testId: ["data-test-id", "testId"] }, host: { properties: { "attr.data-test-id": "this.dataTestId" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"selectionType\">\n <ng-container *ngSwitchCase=\"'singleSelect'\">\n <input\n type=\"radio\"\n [name]=\"'qd-table-selection__' + tableId\"\n [checked]=\"isRowSelected$() | async\"\n (click)=\"stopPropagation($event)\"\n (change)=\"handleChange($event)\"\n [attr.data-test-id]=\"testId + '-radio'\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"'multiSelect'\">\n <input\n type=\"checkbox\"\n [name]=\"'qd-table-selection__' + tableId\"\n [checked]=\"isRowSelected$() | async\"\n (click)=\"stopPropagation($event)\"\n (change)=\"handleChange($event)\"\n [attr.data-test-id]=\"testId + '-checkbox'\"\n />\n </ng-container>\n</ng-container>\n", styles: ["input{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
21483
21486
  }
21484
21487
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: QdTableRowSelectionComponent, decorators: [{
21485
21488
  type: Component,
21486
- args: [{ selector: '[qd-table-row-selection]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"selectionType\">\n <ng-container *ngSwitchCase=\"'singleSelect'\">\n <input\n type=\"radio\"\n [name]=\"'qd-table-selection__' + tableId\"\n [checked]=\"isRowSelected$() | async\"\n (change)=\"handleChange($event)\"\n [attr.data-test-id]=\"testId + '-radio'\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"'multiSelect'\">\n <input\n type=\"checkbox\"\n [name]=\"'qd-table-selection__' + tableId\"\n [checked]=\"isRowSelected$() | async\"\n (change)=\"handleChange($event)\"\n [attr.data-test-id]=\"testId + '-checkbox'\"\n />\n </ng-container>\n</ng-container>\n", styles: ["input{cursor:pointer}\n"] }]
21489
+ args: [{ selector: '[qd-table-row-selection]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"selectionType\">\n <ng-container *ngSwitchCase=\"'singleSelect'\">\n <input\n type=\"radio\"\n [name]=\"'qd-table-selection__' + tableId\"\n [checked]=\"isRowSelected$() | async\"\n (click)=\"stopPropagation($event)\"\n (change)=\"handleChange($event)\"\n [attr.data-test-id]=\"testId + '-radio'\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"'multiSelect'\">\n <input\n type=\"checkbox\"\n [name]=\"'qd-table-selection__' + tableId\"\n [checked]=\"isRowSelected$() | async\"\n (click)=\"stopPropagation($event)\"\n (change)=\"handleChange($event)\"\n [attr.data-test-id]=\"testId + '-checkbox'\"\n />\n </ng-container>\n</ng-container>\n", styles: ["input{cursor:pointer}\n"] }]
21487
21490
  }], ctorParameters: () => [{ type: QdTableRowSelectionService }], propDecorators: { rowIndex: [{
21488
21491
  type: Input
21489
21492
  }], testId: [{