@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
@@ -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);
@@ -3345,6 +3369,8 @@ var InteractionContextTriggerFor = /** @class */ (function (_super) {
3345
3369
  return _this;
3346
3370
  }
3347
3371
  InteractionContextTriggerFor.prototype.onEnter = function (event) {
3372
+ event.preventDefault();
3373
+ event.stopPropagation();
3348
3374
  if (!this.aupInteractionContextTriggerFor.isActive()) {
3349
3375
  this.startActivity();
3350
3376
  }
@@ -3353,6 +3379,8 @@ var InteractionContextTriggerFor = /** @class */ (function (_super) {
3353
3379
  }
3354
3380
  };
3355
3381
  InteractionContextTriggerFor.prototype.onClick = function (event) {
3382
+ event.preventDefault();
3383
+ event.stopPropagation();
3356
3384
  if (!this.aupInteractionContextTriggerFor.isActive()) {
3357
3385
  this.startActivity();
3358
3386
  }
@@ -3401,13 +3429,13 @@ var InteractionContextTriggerFor = /** @class */ (function (_super) {
3401
3429
  __metadata("design:type", Object)
3402
3430
  ], InteractionContextTriggerFor.prototype, "activityCancelled", void 0);
3403
3431
  __decorate([
3404
- HostListener('keyup.enter'),
3432
+ HostListener('keyup.enter', ['$event']),
3405
3433
  __metadata("design:type", Function),
3406
3434
  __metadata("design:paramtypes", [KeyboardEvent]),
3407
3435
  __metadata("design:returntype", void 0)
3408
3436
  ], InteractionContextTriggerFor.prototype, "onEnter", null);
3409
3437
  __decorate([
3410
- HostListener('click'),
3438
+ HostListener('click', ['$event']),
3411
3439
  __metadata("design:type", Function),
3412
3440
  __metadata("design:paramtypes", [MouseEvent]),
3413
3441
  __metadata("design:returntype", void 0)