@coolon/angular-ui-powerups 1.16.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 (50) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/bundles/coolon-angular-ui-powerups.umd.js +57 -10
  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/components/activity-actions/activity-actions.component.js +17 -2
  21. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js.map +1 -1
  22. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.metadata.json +1 -1
  23. package/esm2015/lib/interaction/directives/interaction-context-trigger-for.directive.js +6 -2
  24. package/esm2015/lib/interaction/directives/interaction-context-trigger-for.directive.js.map +1 -1
  25. package/esm2015/lib/interaction/directives/interaction-context-trigger-for.directive.metadata.json +1 -1
  26. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  27. package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
  28. package/esm5/lib/components/table/column-model.js +11 -2
  29. package/esm5/lib/components/table/column-model.js.map +1 -1
  30. package/esm5/lib/components/table/select-header-cell-renderer/select-header-cell-renderer.component.js +1 -1
  31. package/esm5/lib/components/table/select-header-cell-renderer/select-header-cell-renderer.component.js.map +1 -1
  32. package/esm5/lib/components/table/table-model.js +12 -3
  33. package/esm5/lib/components/table/table-model.js.map +1 -1
  34. package/esm5/lib/components/table/table.component.js +8 -2
  35. package/esm5/lib/components/table/table.component.js.map +1 -1
  36. package/esm5/lib/interaction/components/activity-actions/activity-actions.component.js +21 -2
  37. package/esm5/lib/interaction/components/activity-actions/activity-actions.component.js.map +1 -1
  38. package/esm5/lib/interaction/directives/interaction-context-trigger-for.directive.js +6 -2
  39. package/esm5/lib/interaction/directives/interaction-context-trigger-for.directive.js.map +1 -1
  40. package/esm5/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  41. package/fesm2015/coolon-angular-ui-powerups.js +54 -11
  42. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  43. package/fesm5/coolon-angular-ui-powerups.js +58 -11
  44. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  45. package/lib/components/table/column-model.d.ts +10 -1
  46. package/lib/components/table/select-header-cell-renderer/select-header-cell-renderer.component.d.ts +1 -0
  47. package/lib/components/table/table-model.d.ts +4 -1
  48. package/lib/components/table/table.component.d.ts +2 -0
  49. package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +4 -1
  50. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,25 @@
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
+
17
+ ## [1.17.0](https://bitbucket.org/coolon/angular-ui-powerups/compare/v1.16.0...v1.17.0) (2020-06-22)
18
+
19
+
20
+ ### Features
21
+
22
+ * added align=stretch to aup-activity-actions ([070c1b8](https://bitbucket.org/coolon/angular-ui-powerups/commit/070c1b8d303258e021a87d40a9f37b81348c2122))
23
+
5
24
  ## [1.16.0](https://bitbucket.org/coolon/angular-ui-powerups/compare/v1.15.1...v1.16.0) (2020-06-19)
6
25
 
7
26
 
@@ -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);
@@ -2495,11 +2519,21 @@
2495
2519
  enumerable: true,
2496
2520
  configurable: true
2497
2521
  });
2522
+ Object.defineProperty(ActivityActionsComponent.prototype, "alignStretch", {
2523
+ get: function () {
2524
+ return this.align === 'stretch';
2525
+ },
2526
+ enumerable: true,
2527
+ configurable: true
2528
+ });
2498
2529
  ActivityActionsComponent.prototype.ngOnInit = function () {
2499
2530
  };
2500
2531
  ActivityActionsComponent.prototype.hasConfirmText = function () {
2501
2532
  return !___default__default.isEmpty(this.confirmText);
2502
2533
  };
2534
+ ActivityActionsComponent.prototype.hasCancelText = function () {
2535
+ return !___default__default.isEmpty(this.cancelText);
2536
+ };
2503
2537
  __decorate([
2504
2538
  core.Input(),
2505
2539
  pectin.TrackExternal(),
@@ -2514,6 +2548,10 @@
2514
2548
  pectin.TrackExternal(),
2515
2549
  __metadata("design:type", pectin.Command)
2516
2550
  ], ActivityActionsComponent.prototype, "cancelCommand", void 0);
2551
+ __decorate([
2552
+ core.Input(),
2553
+ __metadata("design:type", String)
2554
+ ], ActivityActionsComponent.prototype, "cancelText", void 0);
2517
2555
  __decorate([
2518
2556
  core.Input(),
2519
2557
  __metadata("design:type", String)
@@ -2523,11 +2561,16 @@
2523
2561
  __metadata("design:type", Boolean),
2524
2562
  __metadata("design:paramtypes", [])
2525
2563
  ], ActivityActionsComponent.prototype, "alignEnd", null);
2564
+ __decorate([
2565
+ core.HostBinding('class.align-stretch'),
2566
+ __metadata("design:type", Boolean),
2567
+ __metadata("design:paramtypes", [])
2568
+ ], ActivityActionsComponent.prototype, "alignStretch", null);
2526
2569
  ActivityActionsComponent = __decorate([
2527
2570
  core.Component({
2528
2571
  selector: 'aup-activity-actions',
2529
- template: "<button class=\"cancel\" mat-icon-button [pectinCommand]=\"cancelCommand\">\n <aup-icon icon=\"mat:clear\"></aup-icon>\n</button>\n<button class=\"confirm\" *ngIf=\"!hasConfirmText()\" mat-icon-button [pectinCommand]=\"confirmCommand\">\n <aup-icon icon=\"done\"></aup-icon>\n</button>\n<button class=\"confirm\" *ngIf=\"hasConfirmText()\" mat-button [pectinCommand]=\"confirmCommand\">{{confirmText}}</button>\n<div class=\"content\">\n <ng-content></ng-content>\n</div>\n",
2530
- styles: [":host{display:-ms-grid;display:grid;grid-template-areas:\"cancel confirm content\";-ms-grid-columns:auto auto 1fr;grid-template-columns:auto auto 1fr;-ms-grid-rows:auto;grid-template-rows:auto;align-items:center;justify-content:end}:host.align-end{grid-template-areas:\"content cancel confirm\";-ms-grid-columns:1fr auto auto;grid-template-columns:1fr auto auto}.cancel{-ms-grid-row:1;-ms-grid-column:1;grid-area:cancel}:host.align-end>.cancel{-ms-grid-row:1;-ms-grid-column:2}.confirm{-ms-grid-row:1;-ms-grid-column:2;grid-area:confirm}:host.align-end>.confirm{-ms-grid-row:1;-ms-grid-column:3}.content{-ms-grid-row:1;-ms-grid-column:3;grid-area:content;text-align:left}:host.align-end>.content{-ms-grid-row:1;-ms-grid-column:1}"]
2572
+ template: "<button class=\"cancel\" *ngIf=\"hasCancelText()\" mat-icon-button [pectinCommand]=\"cancelCommand\">{{cancelText}}</button>\n<button class=\"cancel\" *ngIf=\"!hasCancelText()\" mat-icon-button [pectinCommand]=\"cancelCommand\">\n <aup-icon icon=\"mat:clear\"></aup-icon>\n</button>\n<button class=\"confirm\" *ngIf=\"!hasConfirmText()\" mat-icon-button [pectinCommand]=\"confirmCommand\">\n <aup-icon icon=\"done\"></aup-icon>\n</button>\n<button class=\"confirm\" *ngIf=\"hasConfirmText()\" mat-button [pectinCommand]=\"confirmCommand\">{{confirmText}}</button>\n<div class=\"content\">\n <ng-content></ng-content>\n</div>\n",
2573
+ styles: [":host{display:-ms-grid;display:grid;grid-template-areas:\"cancel confirm content\";-ms-grid-columns:auto auto 1fr;grid-template-columns:auto auto 1fr;-ms-grid-rows:auto;grid-template-rows:auto;align-items:center;justify-content:end}:host.align-end{grid-template-areas:\"content cancel confirm\";-ms-grid-columns:1fr auto auto;grid-template-columns:1fr auto auto}:host.align-stretch{grid-template-areas:\"cancel content confirm\";-ms-grid-columns:auto 1fr auto;grid-template-columns:auto 1fr auto}.cancel{-ms-grid-row:1;-ms-grid-column:1;grid-area:cancel}:host.align-end>.cancel{-ms-grid-row:1;-ms-grid-column:2}:host.align-stretch>.cancel{-ms-grid-row:1;-ms-grid-column:1}.confirm{-ms-grid-row:1;-ms-grid-column:2;grid-area:confirm}:host.align-end>.confirm{-ms-grid-row:1;-ms-grid-column:3}:host.align-stretch>.confirm{-ms-grid-row:1;-ms-grid-column:3}.content{-ms-grid-row:1;-ms-grid-column:3;grid-area:content;text-align:left}:host.align-end>.content{-ms-grid-row:1;-ms-grid-column:1}:host.align-stretch>.content{-ms-grid-row:1;-ms-grid-column:2}"]
2531
2574
  })
2532
2575
  ], ActivityActionsComponent);
2533
2576
  return ActivityActionsComponent;
@@ -3498,6 +3541,8 @@
3498
3541
  return _this;
3499
3542
  }
3500
3543
  InteractionContextTriggerFor.prototype.onEnter = function (event) {
3544
+ event.preventDefault();
3545
+ event.stopPropagation();
3501
3546
  if (!this.aupInteractionContextTriggerFor.isActive()) {
3502
3547
  this.startActivity();
3503
3548
  }
@@ -3506,6 +3551,8 @@
3506
3551
  }
3507
3552
  };
3508
3553
  InteractionContextTriggerFor.prototype.onClick = function (event) {
3554
+ event.preventDefault();
3555
+ event.stopPropagation();
3509
3556
  if (!this.aupInteractionContextTriggerFor.isActive()) {
3510
3557
  this.startActivity();
3511
3558
  }
@@ -3554,13 +3601,13 @@
3554
3601
  __metadata("design:type", Object)
3555
3602
  ], InteractionContextTriggerFor.prototype, "activityCancelled", void 0);
3556
3603
  __decorate([
3557
- core.HostListener('keyup.enter'),
3604
+ core.HostListener('keyup.enter', ['$event']),
3558
3605
  __metadata("design:type", Function),
3559
3606
  __metadata("design:paramtypes", [KeyboardEvent]),
3560
3607
  __metadata("design:returntype", void 0)
3561
3608
  ], InteractionContextTriggerFor.prototype, "onEnter", null);
3562
3609
  __decorate([
3563
- core.HostListener('click'),
3610
+ core.HostListener('click', ['$event']),
3564
3611
  __metadata("design:type", Function),
3565
3612
  __metadata("design:paramtypes", [MouseEvent]),
3566
3613
  __metadata("design:returntype", void 0)