@coolon/angular-ui-powerups 1.17.0 → 1.18.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.
Files changed (42) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/bundles/coolon-angular-ui-powerups.umd.js +36 -8
  3. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js +2 -2
  5. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  8. package/esm2015/lib/components/table/column-model.js +11 -2
  9. package/esm2015/lib/components/table/column-model.js.map +1 -1
  10. package/esm2015/lib/components/table/column-model.metadata.json +1 -1
  11. package/esm2015/lib/components/table/select-header-cell-renderer/select-header-cell-renderer.component.js +1 -1
  12. package/esm2015/lib/components/table/select-header-cell-renderer/select-header-cell-renderer.component.js.map +1 -1
  13. package/esm2015/lib/components/table/select-header-cell-renderer/select-header-cell-renderer.component.metadata.json +1 -1
  14. package/esm2015/lib/components/table/table-model.js +12 -3
  15. package/esm2015/lib/components/table/table-model.js.map +1 -1
  16. package/esm2015/lib/components/table/table-model.metadata.json +1 -1
  17. package/esm2015/lib/components/table/table.component.js +8 -2
  18. package/esm2015/lib/components/table/table.component.js.map +1 -1
  19. package/esm2015/lib/components/table/table.component.metadata.json +1 -1
  20. package/esm2015/lib/interaction/directives/interaction-context-trigger-for.directive.js +6 -2
  21. package/esm2015/lib/interaction/directives/interaction-context-trigger-for.directive.js.map +1 -1
  22. package/esm2015/lib/interaction/directives/interaction-context-trigger-for.directive.metadata.json +1 -1
  23. package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
  24. package/esm5/lib/components/table/column-model.js +11 -2
  25. package/esm5/lib/components/table/column-model.js.map +1 -1
  26. package/esm5/lib/components/table/select-header-cell-renderer/select-header-cell-renderer.component.js +1 -1
  27. package/esm5/lib/components/table/select-header-cell-renderer/select-header-cell-renderer.component.js.map +1 -1
  28. package/esm5/lib/components/table/table-model.js +12 -3
  29. package/esm5/lib/components/table/table-model.js.map +1 -1
  30. package/esm5/lib/components/table/table.component.js +8 -2
  31. package/esm5/lib/components/table/table.component.js.map +1 -1
  32. package/esm5/lib/interaction/directives/interaction-context-trigger-for.directive.js +6 -2
  33. package/esm5/lib/interaction/directives/interaction-context-trigger-for.directive.js.map +1 -1
  34. package/fesm2015/coolon-angular-ui-powerups.js +37 -9
  35. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  36. package/fesm5/coolon-angular-ui-powerups.js +37 -9
  37. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  38. package/lib/components/table/column-model.d.ts +10 -1
  39. package/lib/components/table/select-header-cell-renderer/select-header-cell-renderer.component.d.ts +1 -0
  40. package/lib/components/table/table-model.d.ts +4 -1
  41. package/lib/components/table/table.component.d.ts +2 -0
  42. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [1.18.0](https://bitbucket.org/coolon/angular-ui-powerups/compare/v1.17.0...v1.18.0) (2020-06-23)
6
+
7
+
8
+ ### Features
9
+
10
+ * added row click support to table-models with selections ([e12ef2f](https://bitbucket.org/coolon/angular-ui-powerups/commit/e12ef2fa5e58f39cee6945931a9a93ad67b24a2b))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * aup-interaction-context-trigger not consuming click events ([86de20c](https://bitbucket.org/coolon/angular-ui-powerups/commit/86de20c50a500cdc803113e01beff38af0a730e9))
16
+
5
17
  ## [1.17.0](https://bitbucket.org/coolon/angular-ui-powerups/compare/v1.16.0...v1.17.0) (2020-06-22)
6
18
 
7
19
 
@@ -1548,7 +1548,7 @@
1548
1548
  SelectHeaderCellRendererComponent = __decorate([
1549
1549
  core.Component({
1550
1550
  selector: 'aup-select-header-cell-renderer',
1551
- template: "<mat-checkbox [pectinCommand]=\"selectCommand\" [checked]=\"isSelected()\" [indeterminate]=\"this.isIntermediate()\"></mat-checkbox>\n",
1551
+ template: "<mat-checkbox *ngIf=\"enableHeaderControls\" [pectinCommand]=\"selectCommand\" [checked]=\"isSelected()\" [indeterminate]=\"this.isIntermediate()\"></mat-checkbox>\n",
1552
1552
  styles: [""]
1553
1553
  }),
1554
1554
  __metadata("design:paramtypes", [])
@@ -1763,11 +1763,15 @@
1763
1763
  }(ColumnModel));
1764
1764
  var SelectionColumnModel = /** @class */ (function (_super) {
1765
1765
  __extends(SelectionColumnModel, _super);
1766
- function SelectionColumnModel(columnId, defaults, selectionModel) {
1766
+ function SelectionColumnModel(columnId, defaults, selectionModel, options) {
1767
1767
  var _this = _super.call(this, columnId, defaults) || this;
1768
+ _this.selectionModel = selectionModel;
1769
+ var opts = pectin.OptionsHelper.for(options);
1770
+ _this.selectOnRowClick = opts.get("selectOnRowClick", false);
1768
1771
  if (selectionModel instanceof pectin.MultipleSelectionModel) {
1769
1772
  _this.cellHeaderRenderer(SelectHeaderCellRendererComponent, function (component) {
1770
1773
  component.selectionModel = selectionModel;
1774
+ component.enableHeaderControls = opts.get("headerControl", true);
1771
1775
  });
1772
1776
  }
1773
1777
  _this.configureCellRenderer(new ComponentCellRendererPortalRef(SelectCellRendererComponent, function (component, rowData) {
@@ -1779,6 +1783,11 @@
1779
1783
  SelectionColumnModel.prototype.getDefaultHeaderText = function () {
1780
1784
  return '';
1781
1785
  };
1786
+ SelectionColumnModel.prototype.onRowClick = function (row) {
1787
+ if (this.selectOnRowClick) {
1788
+ this.selectionModel.selectCommand.execute(row);
1789
+ }
1790
+ };
1782
1791
  return SelectionColumnModel;
1783
1792
  }(ColumnModel));
1784
1793
 
@@ -1904,8 +1913,10 @@
1904
1913
  TableModel.prototype.pluckList = function (property) {
1905
1914
  return this.addColumn(new ListPropertyColumnModel(property, this));
1906
1915
  };
1907
- TableModel.prototype.addSelectionColumn = function (selectionModel) {
1908
- return this.addColumn(new SelectionColumnModel('selection', this, selectionModel));
1916
+ TableModel.prototype.addSelectionColumn = function (selectionModel, options) {
1917
+ pectin.assert.isNil(this.selectionColumnModel);
1918
+ this.selectionColumnModel = new SelectionColumnModel('selection', this, selectionModel, options);
1919
+ return this.addColumn(this.selectionColumnModel);
1909
1920
  };
1910
1921
  TableModel.prototype.addEditControls = function (saveCommand) {
1911
1922
  this.saveCommand = saveCommand;
@@ -1968,6 +1979,13 @@
1968
1979
  });
1969
1980
  });
1970
1981
  };
1982
+ TableModel.prototype.onRowClicked = function (row) {
1983
+ var _a;
1984
+ (_a = this.selectionColumnModel) === null || _a === void 0 ? void 0 : _a.onRowClick(row);
1985
+ };
1986
+ TableModel.prototype.isRowSelectionEnabled = function () {
1987
+ return this.selectionColumnModel ? this.selectionColumnModel.selectOnRowClick : false;
1988
+ };
1971
1989
  var TableModel_1;
1972
1990
  TableModel.ctorParameters = function () { return [
1973
1991
  { type: pectin.ListModel }
@@ -2026,6 +2044,12 @@
2026
2044
  column.setTemplate(templateRef, viewContainer, fillCell, padChild);
2027
2045
  }
2028
2046
  };
2047
+ TableComponent.prototype.onRowClicked = function (row) {
2048
+ this.tableModel.onRowClicked(row);
2049
+ };
2050
+ TableComponent.prototype.isRowSelectionEnabled = function () {
2051
+ return this.tableModel.isRowSelectionEnabled();
2052
+ };
2029
2053
  __decorate([
2030
2054
  core.Input(),
2031
2055
  pectin.TrackExternal(),
@@ -2034,8 +2058,8 @@
2034
2058
  TableComponent = __decorate([
2035
2059
  core.Component({
2036
2060
  selector: 'aup-table',
2037
- template: "<table mat-table [dataSource]=\"tableModel.dataSource.value\" [trackBy]=\"tableModel.getTrackByFunction()\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\" matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef>\n <aup-table-header-cell-renderer [column]=\"column\"\n [attr.column-index]=\"index\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-header-cell-renderer>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <aup-table-cell-renderer [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"tableModel\"\n [editSession]=\"tableModel.getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-cell-renderer>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value;\"></tr>\n\n</table>\n",
2038
- styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{flex:1}"]
2061
+ template: "<table mat-table [dataSource]=\"tableModel.dataSource.value\" [trackBy]=\"tableModel.getTrackByFunction()\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\" matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef>\n <aup-table-header-cell-renderer [column]=\"column\"\n [attr.column-index]=\"index\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-header-cell-renderer>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <aup-table-cell-renderer [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"tableModel\"\n [editSession]=\"tableModel.getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-cell-renderer>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value;\" (click)=\"onRowClicked(row)\" [class.select-row-on-click]=\"isRowSelectionEnabled()\"></tr>\n\n</table>\n",
2062
+ styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{flex:1}:host table tr.select-row-on-click td{cursor:pointer}"]
2039
2063
  }),
2040
2064
  __metadata("design:paramtypes", [])
2041
2065
  ], TableComponent);
@@ -3517,6 +3541,8 @@
3517
3541
  return _this;
3518
3542
  }
3519
3543
  InteractionContextTriggerFor.prototype.onEnter = function (event) {
3544
+ event.preventDefault();
3545
+ event.stopPropagation();
3520
3546
  if (!this.aupInteractionContextTriggerFor.isActive()) {
3521
3547
  this.startActivity();
3522
3548
  }
@@ -3525,6 +3551,8 @@
3525
3551
  }
3526
3552
  };
3527
3553
  InteractionContextTriggerFor.prototype.onClick = function (event) {
3554
+ event.preventDefault();
3555
+ event.stopPropagation();
3528
3556
  if (!this.aupInteractionContextTriggerFor.isActive()) {
3529
3557
  this.startActivity();
3530
3558
  }
@@ -3573,13 +3601,13 @@
3573
3601
  __metadata("design:type", Object)
3574
3602
  ], InteractionContextTriggerFor.prototype, "activityCancelled", void 0);
3575
3603
  __decorate([
3576
- core.HostListener('keyup.enter'),
3604
+ core.HostListener('keyup.enter', ['$event']),
3577
3605
  __metadata("design:type", Function),
3578
3606
  __metadata("design:paramtypes", [KeyboardEvent]),
3579
3607
  __metadata("design:returntype", void 0)
3580
3608
  ], InteractionContextTriggerFor.prototype, "onEnter", null);
3581
3609
  __decorate([
3582
- core.HostListener('click'),
3610
+ core.HostListener('click', ['$event']),
3583
3611
  __metadata("design:type", Function),
3584
3612
  __metadata("design:paramtypes", [MouseEvent]),
3585
3613
  __metadata("design:returntype", void 0)