@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
@@ -13,7 +13,7 @@ import { MatButtonModule } from '@angular/material/button';
13
13
  import { MatCheckboxModule } from '@angular/material/checkbox';
14
14
  import { MatIconModule } from '@angular/material/icon';
15
15
  import { MatTableModule } from '@angular/material/table';
16
- import { DelegatingValueModel, assert, UnaryCommand, lang, Dsl, GarbageCollector, Logger, TrackExternal, Command, FocusManager, DelegatingFormListModel, DelegatingFormValueModel, ListModel, StoreInListModel, ValueModel, StoreInValueModel, MutableValueModel, MultipleSelectionModel, MutableListModel, Form, Deferred, Trace, Guard, DebugContext, Binding, Functions } from '@coolon/pectin';
16
+ import { DelegatingValueModel, assert, UnaryCommand, lang, Dsl, GarbageCollector, Logger, TrackExternal, Command, FocusManager, DelegatingFormListModel, DelegatingFormValueModel, ListModel, StoreInListModel, ValueModel, StoreInValueModel, MutableValueModel, OptionsHelper, MultipleSelectionModel, MutableListModel, Form, Deferred, Trace, Guard, DebugContext, Binding, Functions } from '@coolon/pectin';
17
17
  import { assert as assert$1, Opts, lang as lang$1, Klass } from '@coolon/typescript-utilities';
18
18
  import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
19
19
  import ___default, { isEqual, isNil } from 'lodash';
@@ -1376,7 +1376,7 @@ var SelectHeaderCellRendererComponent = /** @class */ (function (_super) {
1376
1376
  SelectHeaderCellRendererComponent = __decorate([
1377
1377
  Component({
1378
1378
  selector: 'aup-select-header-cell-renderer',
1379
- template: "<mat-checkbox [pectinCommand]=\"selectCommand\" [checked]=\"isSelected()\" [indeterminate]=\"this.isIntermediate()\"></mat-checkbox>\n",
1379
+ template: "<mat-checkbox *ngIf=\"enableHeaderControls\" [pectinCommand]=\"selectCommand\" [checked]=\"isSelected()\" [indeterminate]=\"this.isIntermediate()\"></mat-checkbox>\n",
1380
1380
  styles: [""]
1381
1381
  }),
1382
1382
  __metadata("design:paramtypes", [])
@@ -1591,11 +1591,15 @@ var CustomTemplateColumnModel = /** @class */ (function (_super) {
1591
1591
  }(ColumnModel));
1592
1592
  var SelectionColumnModel = /** @class */ (function (_super) {
1593
1593
  __extends(SelectionColumnModel, _super);
1594
- function SelectionColumnModel(columnId, defaults, selectionModel) {
1594
+ function SelectionColumnModel(columnId, defaults, selectionModel, options) {
1595
1595
  var _this = _super.call(this, columnId, defaults) || this;
1596
+ _this.selectionModel = selectionModel;
1597
+ var opts = OptionsHelper.for(options);
1598
+ _this.selectOnRowClick = opts.get("selectOnRowClick", false);
1596
1599
  if (selectionModel instanceof MultipleSelectionModel) {
1597
1600
  _this.cellHeaderRenderer(SelectHeaderCellRendererComponent, function (component) {
1598
1601
  component.selectionModel = selectionModel;
1602
+ component.enableHeaderControls = opts.get("headerControl", true);
1599
1603
  });
1600
1604
  }
1601
1605
  _this.configureCellRenderer(new ComponentCellRendererPortalRef(SelectCellRendererComponent, function (component, rowData) {
@@ -1607,6 +1611,11 @@ var SelectionColumnModel = /** @class */ (function (_super) {
1607
1611
  SelectionColumnModel.prototype.getDefaultHeaderText = function () {
1608
1612
  return '';
1609
1613
  };
1614
+ SelectionColumnModel.prototype.onRowClick = function (row) {
1615
+ if (this.selectOnRowClick) {
1616
+ this.selectionModel.selectCommand.execute(row);
1617
+ }
1618
+ };
1610
1619
  return SelectionColumnModel;
1611
1620
  }(ColumnModel));
1612
1621
 
@@ -1732,8 +1741,10 @@ var TableModel = /** @class */ (function () {
1732
1741
  TableModel.prototype.pluckList = function (property) {
1733
1742
  return this.addColumn(new ListPropertyColumnModel(property, this));
1734
1743
  };
1735
- TableModel.prototype.addSelectionColumn = function (selectionModel) {
1736
- return this.addColumn(new SelectionColumnModel('selection', this, selectionModel));
1744
+ TableModel.prototype.addSelectionColumn = function (selectionModel, options) {
1745
+ assert.isNil(this.selectionColumnModel);
1746
+ this.selectionColumnModel = new SelectionColumnModel('selection', this, selectionModel, options);
1747
+ return this.addColumn(this.selectionColumnModel);
1737
1748
  };
1738
1749
  TableModel.prototype.addEditControls = function (saveCommand) {
1739
1750
  this.saveCommand = saveCommand;
@@ -1796,6 +1807,13 @@ var TableModel = /** @class */ (function () {
1796
1807
  });
1797
1808
  });
1798
1809
  };
1810
+ TableModel.prototype.onRowClicked = function (row) {
1811
+ var _a;
1812
+ (_a = this.selectionColumnModel) === null || _a === void 0 ? void 0 : _a.onRowClick(row);
1813
+ };
1814
+ TableModel.prototype.isRowSelectionEnabled = function () {
1815
+ return this.selectionColumnModel ? this.selectionColumnModel.selectOnRowClick : false;
1816
+ };
1799
1817
  var TableModel_1;
1800
1818
  TableModel.ctorParameters = function () { return [
1801
1819
  { type: ListModel }
@@ -1854,6 +1872,12 @@ var TableComponent = /** @class */ (function (_super) {
1854
1872
  column.setTemplate(templateRef, viewContainer, fillCell, padChild);
1855
1873
  }
1856
1874
  };
1875
+ TableComponent.prototype.onRowClicked = function (row) {
1876
+ this.tableModel.onRowClicked(row);
1877
+ };
1878
+ TableComponent.prototype.isRowSelectionEnabled = function () {
1879
+ return this.tableModel.isRowSelectionEnabled();
1880
+ };
1857
1881
  __decorate([
1858
1882
  Input(),
1859
1883
  TrackExternal(),
@@ -1862,8 +1886,8 @@ var TableComponent = /** @class */ (function (_super) {
1862
1886
  TableComponent = __decorate([
1863
1887
  Component({
1864
1888
  selector: 'aup-table',
1865
- 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",
1866
- styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{flex:1}"]
1889
+ 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",
1890
+ styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{flex:1}:host table tr.select-row-on-click td{cursor:pointer}"]
1867
1891
  }),
1868
1892
  __metadata("design:paramtypes", [])
1869
1893
  ], TableComponent);
@@ -2323,11 +2347,21 @@ var ActivityActionsComponent = /** @class */ (function (_super) {
2323
2347
  enumerable: true,
2324
2348
  configurable: true
2325
2349
  });
2350
+ Object.defineProperty(ActivityActionsComponent.prototype, "alignStretch", {
2351
+ get: function () {
2352
+ return this.align === 'stretch';
2353
+ },
2354
+ enumerable: true,
2355
+ configurable: true
2356
+ });
2326
2357
  ActivityActionsComponent.prototype.ngOnInit = function () {
2327
2358
  };
2328
2359
  ActivityActionsComponent.prototype.hasConfirmText = function () {
2329
2360
  return !___default.isEmpty(this.confirmText);
2330
2361
  };
2362
+ ActivityActionsComponent.prototype.hasCancelText = function () {
2363
+ return !___default.isEmpty(this.cancelText);
2364
+ };
2331
2365
  __decorate([
2332
2366
  Input(),
2333
2367
  TrackExternal(),
@@ -2342,6 +2376,10 @@ var ActivityActionsComponent = /** @class */ (function (_super) {
2342
2376
  TrackExternal(),
2343
2377
  __metadata("design:type", Command)
2344
2378
  ], ActivityActionsComponent.prototype, "cancelCommand", void 0);
2379
+ __decorate([
2380
+ Input(),
2381
+ __metadata("design:type", String)
2382
+ ], ActivityActionsComponent.prototype, "cancelText", void 0);
2345
2383
  __decorate([
2346
2384
  Input(),
2347
2385
  __metadata("design:type", String)
@@ -2351,11 +2389,16 @@ var ActivityActionsComponent = /** @class */ (function (_super) {
2351
2389
  __metadata("design:type", Boolean),
2352
2390
  __metadata("design:paramtypes", [])
2353
2391
  ], ActivityActionsComponent.prototype, "alignEnd", null);
2392
+ __decorate([
2393
+ HostBinding('class.align-stretch'),
2394
+ __metadata("design:type", Boolean),
2395
+ __metadata("design:paramtypes", [])
2396
+ ], ActivityActionsComponent.prototype, "alignStretch", null);
2354
2397
  ActivityActionsComponent = __decorate([
2355
2398
  Component({
2356
2399
  selector: 'aup-activity-actions',
2357
- 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",
2358
- 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}"]
2400
+ 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",
2401
+ 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}"]
2359
2402
  })
2360
2403
  ], ActivityActionsComponent);
2361
2404
  return ActivityActionsComponent;
@@ -3326,6 +3369,8 @@ var InteractionContextTriggerFor = /** @class */ (function (_super) {
3326
3369
  return _this;
3327
3370
  }
3328
3371
  InteractionContextTriggerFor.prototype.onEnter = function (event) {
3372
+ event.preventDefault();
3373
+ event.stopPropagation();
3329
3374
  if (!this.aupInteractionContextTriggerFor.isActive()) {
3330
3375
  this.startActivity();
3331
3376
  }
@@ -3334,6 +3379,8 @@ var InteractionContextTriggerFor = /** @class */ (function (_super) {
3334
3379
  }
3335
3380
  };
3336
3381
  InteractionContextTriggerFor.prototype.onClick = function (event) {
3382
+ event.preventDefault();
3383
+ event.stopPropagation();
3337
3384
  if (!this.aupInteractionContextTriggerFor.isActive()) {
3338
3385
  this.startActivity();
3339
3386
  }
@@ -3382,13 +3429,13 @@ var InteractionContextTriggerFor = /** @class */ (function (_super) {
3382
3429
  __metadata("design:type", Object)
3383
3430
  ], InteractionContextTriggerFor.prototype, "activityCancelled", void 0);
3384
3431
  __decorate([
3385
- HostListener('keyup.enter'),
3432
+ HostListener('keyup.enter', ['$event']),
3386
3433
  __metadata("design:type", Function),
3387
3434
  __metadata("design:paramtypes", [KeyboardEvent]),
3388
3435
  __metadata("design:returntype", void 0)
3389
3436
  ], InteractionContextTriggerFor.prototype, "onEnter", null);
3390
3437
  __decorate([
3391
- HostListener('click'),
3438
+ HostListener('click', ['$event']),
3392
3439
  __metadata("design:type", Function),
3393
3440
  __metadata("design:paramtypes", [MouseEvent]),
3394
3441
  __metadata("design:returntype", void 0)