@coolon/angular-ui-powerups 2.0.0-alpha.4 → 2.0.0-alpha.6

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 (100) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/bundles/coolon-angular-ui-powerups.umd.js +93 -36
  3. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  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/forms/abstract-input.component.js.map +1 -1
  8. package/esm2015/lib/components/forms/abstract-list-input.component.js +37 -5
  9. package/esm2015/lib/components/forms/abstract-list-input.component.js.map +1 -1
  10. package/esm2015/lib/components/forms/abstract-list-input.component.metadata.json +1 -1
  11. package/esm2015/lib/components/forms/abstract-value-input.component.js +30 -2
  12. package/esm2015/lib/components/forms/abstract-value-input.component.js.map +1 -1
  13. package/esm2015/lib/components/forms/abstract-value-input.component.metadata.json +1 -1
  14. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js +2 -5
  15. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
  16. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.metadata.json +1 -1
  17. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js +0 -4
  18. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js.map +1 -1
  19. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.metadata.json +1 -1
  20. package/esm2015/lib/components/forms/number-input/number-input.component.js +2 -5
  21. package/esm2015/lib/components/forms/number-input/number-input.component.js.map +1 -1
  22. package/esm2015/lib/components/forms/number-input/number-input.component.metadata.json +1 -1
  23. package/esm2015/lib/components/forms/password-input/password-input.component.js +3 -6
  24. package/esm2015/lib/components/forms/password-input/password-input.component.js.map +1 -1
  25. package/esm2015/lib/components/forms/password-input/password-input.component.metadata.json +1 -1
  26. package/esm2015/lib/components/forms/select-input/select-input.component.js +0 -4
  27. package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
  28. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  29. package/esm2015/lib/components/forms/string-input/string-input.component.js +0 -4
  30. package/esm2015/lib/components/forms/string-input/string-input.component.js.map +1 -1
  31. package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -1
  32. package/esm2015/lib/components/forms/text-input/text-input.component.js +2 -5
  33. package/esm2015/lib/components/forms/text-input/text-input.component.js.map +1 -1
  34. package/esm2015/lib/components/forms/text-input/text-input.component.metadata.json +1 -1
  35. package/esm2015/lib/components/index.js +1 -1
  36. package/esm2015/lib/components/index.js.map +1 -1
  37. package/esm2015/lib/components/index.metadata.json +1 -1
  38. package/esm2015/lib/components/table/cell-editors.js.map +1 -1
  39. package/esm2015/lib/components/table/{cell-protal-ref.js → cell-portal-ref.js} +7 -3
  40. package/esm2015/lib/components/table/cell-portal-ref.js.map +1 -0
  41. package/esm2015/lib/components/table/{cell-protal-ref.metadata.json → cell-portal-ref.metadata.json} +1 -1
  42. package/esm2015/lib/components/table/column-model.js +8 -5
  43. package/esm2015/lib/components/table/column-model.js.map +1 -1
  44. package/esm2015/lib/components/table/column-model.metadata.json +1 -1
  45. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.js +1 -1
  46. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -1
  47. package/esm2015/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js +1 -1
  48. package/esm2015/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js.map +1 -1
  49. package/esm5/lib/components/forms/abstract-input.component.js.map +1 -1
  50. package/esm5/lib/components/forms/abstract-list-input.component.js +42 -5
  51. package/esm5/lib/components/forms/abstract-list-input.component.js.map +1 -1
  52. package/esm5/lib/components/forms/abstract-value-input.component.js +35 -2
  53. package/esm5/lib/components/forms/abstract-value-input.component.js.map +1 -1
  54. package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js +2 -5
  55. package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
  56. package/esm5/lib/components/forms/multiple-select-input/multiple-select-input.component.js +0 -4
  57. package/esm5/lib/components/forms/multiple-select-input/multiple-select-input.component.js.map +1 -1
  58. package/esm5/lib/components/forms/number-input/number-input.component.js +2 -5
  59. package/esm5/lib/components/forms/number-input/number-input.component.js.map +1 -1
  60. package/esm5/lib/components/forms/password-input/password-input.component.js +3 -6
  61. package/esm5/lib/components/forms/password-input/password-input.component.js.map +1 -1
  62. package/esm5/lib/components/forms/select-input/select-input.component.js +0 -4
  63. package/esm5/lib/components/forms/select-input/select-input.component.js.map +1 -1
  64. package/esm5/lib/components/forms/string-input/string-input.component.js +0 -4
  65. package/esm5/lib/components/forms/string-input/string-input.component.js.map +1 -1
  66. package/esm5/lib/components/forms/text-input/text-input.component.js +2 -5
  67. package/esm5/lib/components/forms/text-input/text-input.component.js.map +1 -1
  68. package/esm5/lib/components/index.js +1 -1
  69. package/esm5/lib/components/index.js.map +1 -1
  70. package/esm5/lib/components/table/cell-editors.js.map +1 -1
  71. package/esm5/lib/components/table/{cell-protal-ref.js → cell-portal-ref.js} +7 -3
  72. package/esm5/lib/components/table/cell-portal-ref.js.map +1 -0
  73. package/esm5/lib/components/table/column-model.js +8 -5
  74. package/esm5/lib/components/table/column-model.js.map +1 -1
  75. package/esm5/lib/components/table/table-cell-renderer/table-cell-renderer.component.js +1 -1
  76. package/esm5/lib/components/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -1
  77. package/esm5/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js +1 -1
  78. package/esm5/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js.map +1 -1
  79. package/fesm2015/coolon-angular-ui-powerups.js +84 -37
  80. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  81. package/fesm5/coolon-angular-ui-powerups.js +94 -37
  82. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  83. package/lib/components/forms/abstract-list-input.component.d.ts +8 -2
  84. package/lib/components/forms/abstract-value-input.component.d.ts +7 -2
  85. package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +0 -2
  86. package/lib/components/forms/multiple-select-input/multiple-select-input.component.d.ts +1 -2
  87. package/lib/components/forms/number-input/number-input.component.d.ts +0 -2
  88. package/lib/components/forms/password-input/password-input.component.d.ts +0 -2
  89. package/lib/components/forms/select-input/select-input.component.d.ts +1 -2
  90. package/lib/components/forms/string-input/string-input.component.d.ts +1 -2
  91. package/lib/components/forms/text-input/text-input.component.d.ts +0 -2
  92. package/lib/components/index.d.ts +1 -1
  93. package/lib/components/table/cell-editors.d.ts +3 -3
  94. package/lib/components/table/{cell-protal-ref.d.ts → cell-portal-ref.d.ts} +4 -4
  95. package/lib/components/table/column-model.d.ts +3 -3
  96. package/lib/components/table/table-cell-renderer/table-cell-renderer.component.d.ts +1 -1
  97. package/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.d.ts +1 -1
  98. package/package.json +1 -1
  99. package/esm2015/lib/components/table/cell-protal-ref.js.map +0 -1
  100. package/esm5/lib/components/table/cell-protal-ref.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
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
+ ## [2.0.0-alpha.6](https://bitbucket.org/coolon/angular-ui-powerups/compare/v2.0.0-alpha.5...v2.0.0-alpha.6) (2020-07-24)
6
+
7
+
8
+ ### Features
9
+
10
+ * added onComponentInit hook to table cell editors ([2e2e289](https://bitbucket.org/coolon/angular-ui-powerups/commit/2e2e28944fc3741840e3cdedce6b9b9511e09a9b))
11
+
12
+ ## [2.0.0-alpha.5](https://bitbucket.org/coolon/angular-ui-powerups/compare/v2.0.0-alpha.4...v2.0.0-alpha.5) (2020-07-24)
13
+
14
+
15
+ ### Features
16
+
17
+ * added support for plain value bindings on aup-input components ([24c8eed](https://bitbucket.org/coolon/angular-ui-powerups/commit/24c8eedbff08e8a556313d8f7b0c1262bb26eda0))
18
+
5
19
  ## [2.0.0-alpha.4](https://bitbucket.org/coolon/angular-ui-powerups/compare/v2.0.0-alpha.3...v2.0.0-alpha.4) (2020-07-24)
6
20
 
7
21
 
@@ -875,7 +875,7 @@
875
875
  var AbstractListInputComponent = /** @class */ (function (_super) {
876
876
  __extends(AbstractListInputComponent, _super);
877
877
  function AbstractListInputComponent() {
878
- var _this = _super !== null && _super.apply(this, arguments) || this;
878
+ var _this = _super.call(this) || this;
879
879
  /**
880
880
  * A backing model for all our @Input() valueModel properties which should be defined as follows.
881
881
  *
@@ -888,10 +888,47 @@
888
888
  */
889
889
  // We have to register it as a disposable so it ditches any listeners when we're disposed.
890
890
  _this.inputModel = _this.registerDisposable(new pectin.Form.DelegatingListModel());
891
+ _this.setValueIsInitialising = new pectin.Guard();
892
+ _this.valueChange = new core.EventEmitter();
893
+ var when = pectin.Dsl.disposeWith(_this).when;
894
+ when(_this.inputModel).changes(function (value) { return _this.valueChange.emit(value); }, {
895
+ initialValue: 'ignore',
896
+ unless: _this.setValueIsInitialising
897
+ });
891
898
  return _this;
892
899
  }
900
+ Object.defineProperty(AbstractListInputComponent.prototype, "value", {
901
+ set: function (value) {
902
+ var _this = this;
903
+ if (!this.listHolder) {
904
+ this.setValueIsInitialising.whileTrue(function () {
905
+ _this.listHolder = new pectin.MutableListModel(value);
906
+ _this.listModel = _this.listHolder;
907
+ });
908
+ }
909
+ else {
910
+ this.listHolder.value = value;
911
+ }
912
+ },
913
+ enumerable: true,
914
+ configurable: true
915
+ });
916
+ __decorate([
917
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
918
+ __metadata("design:type", Object)
919
+ ], AbstractListInputComponent.prototype, "listModel", void 0);
920
+ __decorate([
921
+ core.Input(),
922
+ __metadata("design:type", Array),
923
+ __metadata("design:paramtypes", [Array])
924
+ ], AbstractListInputComponent.prototype, "value", null);
925
+ __decorate([
926
+ core.Output(),
927
+ __metadata("design:type", Object)
928
+ ], AbstractListInputComponent.prototype, "valueChange", void 0);
893
929
  AbstractListInputComponent = __decorate([
894
- core.Component({ template: '' })
930
+ core.Component({ template: '' }),
931
+ __metadata("design:paramtypes", [])
895
932
  ], AbstractListInputComponent);
896
933
  return AbstractListInputComponent;
897
934
  }(AbstractInputComponent));
@@ -912,8 +949,41 @@
912
949
  */
913
950
  // We have to register it as a disposable so it ditches any listeners when we're disposed.
914
951
  _this.inputModel = _this.registerDisposable(new pectin.Form.DelegatingValueModel());
952
+ _this.setValueIsInitialising = new pectin.Guard();
953
+ _this.valueChange = new core.EventEmitter();
954
+ var when = pectin.Dsl.disposeWith(_this).when;
955
+ when(_this.inputModel).changes(function (value) { return _this.valueChange.emit(value); }, { initialValue: 'ignore', unless: _this.setValueIsInitialising });
915
956
  return _this;
916
957
  }
958
+ Object.defineProperty(AbstractValueInputComponent.prototype, "value", {
959
+ set: function (value) {
960
+ var _this = this;
961
+ if (!this.valueHolder) {
962
+ this.setValueIsInitialising.whileTrue(function () {
963
+ _this.valueHolder = new pectin.MutableValueModel(value);
964
+ _this.valueModel = _this.valueHolder;
965
+ });
966
+ }
967
+ else {
968
+ this.valueHolder.value = value;
969
+ }
970
+ },
971
+ enumerable: true,
972
+ configurable: true
973
+ });
974
+ __decorate([
975
+ core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
976
+ __metadata("design:type", Object)
977
+ ], AbstractValueInputComponent.prototype, "valueModel", void 0);
978
+ __decorate([
979
+ core.Input(),
980
+ __metadata("design:type", Object),
981
+ __metadata("design:paramtypes", [Object])
982
+ ], AbstractValueInputComponent.prototype, "value", null);
983
+ __decorate([
984
+ core.Output(),
985
+ __metadata("design:type", Object)
986
+ ], AbstractValueInputComponent.prototype, "valueChange", void 0);
917
987
  AbstractValueInputComponent = __decorate([
918
988
  core.Component({ template: '' }),
919
989
  __metadata("design:paramtypes", [])
@@ -925,16 +995,14 @@
925
995
  __extends(CheckboxInputComponent, _super);
926
996
  function CheckboxInputComponent() {
927
997
  var _this = _super.call(this) || this;
998
+ // @Input() @TrackExternal({ delegateTo: 'inputModel' })
999
+ // valueModel: Form.ValueModelBase<boolean> | IMutableValueModel<boolean>;
928
1000
  _this.color = 'accent';
929
1001
  _this.labelPosition = 'after';
930
1002
  return _this;
931
1003
  }
932
1004
  CheckboxInputComponent.prototype.ngOnInit = function () {
933
1005
  };
934
- __decorate([
935
- core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
936
- __metadata("design:type", Object)
937
- ], CheckboxInputComponent.prototype, "valueModel", void 0);
938
1006
  __decorate([
939
1007
  core.Input(),
940
1008
  __metadata("design:type", String)
@@ -958,16 +1026,14 @@
958
1026
  __extends(NumberInputComponent, _super);
959
1027
  function NumberInputComponent() {
960
1028
  var _this = _super.call(this) || this;
1029
+ // @Input() @TrackExternal({ delegateTo: 'inputModel' })
1030
+ // valueModel: Form.ValueModelBase<number> | IMutableValueModel<number>;
961
1031
  _this.min = Number.MIN_SAFE_INTEGER;
962
1032
  _this.max = Number.MAX_SAFE_INTEGER;
963
1033
  return _this;
964
1034
  }
965
1035
  NumberInputComponent.prototype.ngOnInit = function () {
966
1036
  };
967
- __decorate([
968
- core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
969
- __metadata("design:type", Object)
970
- ], NumberInputComponent.prototype, "valueModel", void 0);
971
1037
  __decorate([
972
1038
  core.Input(),
973
1039
  __metadata("design:type", Object)
@@ -989,15 +1055,13 @@
989
1055
 
990
1056
  var PasswordInputComponent = /** @class */ (function (_super) {
991
1057
  __extends(PasswordInputComponent, _super);
1058
+ // @Input() @TrackExternal({ delegateTo: 'inputModel' })
1059
+ // valueModel: Form.ValueModelBase<string> | IMutableValueModel<string>;
992
1060
  function PasswordInputComponent() {
993
1061
  return _super.call(this) || this;
994
1062
  }
995
1063
  PasswordInputComponent.prototype.ngOnInit = function () {
996
1064
  };
997
- __decorate([
998
- core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
999
- __metadata("design:type", Object)
1000
- ], PasswordInputComponent.prototype, "valueModel", void 0);
1001
1065
  PasswordInputComponent = __decorate([
1002
1066
  core.Component({
1003
1067
  selector: 'aup-password-input',
@@ -1024,10 +1088,6 @@
1024
1088
  }
1025
1089
  SelectInputComponent.prototype.ngOnInit = function () {
1026
1090
  };
1027
- __decorate([
1028
- core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
1029
- __metadata("design:type", Object)
1030
- ], SelectInputComponent.prototype, "valueModel", void 0);
1031
1091
  __decorate([
1032
1092
  core.Input(), pectin.TrackExternal(),
1033
1093
  __metadata("design:type", pectin.ListModel)
@@ -1080,10 +1140,6 @@
1080
1140
  }
1081
1141
  StringInputComponent.prototype.ngOnInit = function () {
1082
1142
  };
1083
- __decorate([
1084
- core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
1085
- __metadata("design:type", Object)
1086
- ], StringInputComponent.prototype, "valueModel", void 0);
1087
1143
  __decorate([
1088
1144
  core.Input(), pectin.TrackExternal({ defaultValue: false }),
1089
1145
  __metadata("design:type", pectin.ValueModel)
@@ -1107,16 +1163,14 @@
1107
1163
  __extends(TextInputComponent, _super);
1108
1164
  function TextInputComponent() {
1109
1165
  var _this = _super.call(this) || this;
1166
+ // @Input() @TrackExternal({ delegateTo: 'inputModel' })
1167
+ // valueModel: Form.ValueModelBase<string> | IMutableValueModel<string>;
1110
1168
  _this.rows = 2;
1111
1169
  return _this;
1112
1170
  // const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
1113
1171
  }
1114
1172
  TextInputComponent.prototype.ngOnInit = function () {
1115
1173
  };
1116
- __decorate([
1117
- core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
1118
- __metadata("design:type", Object)
1119
- ], TextInputComponent.prototype, "valueModel", void 0);
1120
1174
  __decorate([
1121
1175
  core.Input(),
1122
1176
  __metadata("design:type", Object)
@@ -1346,6 +1400,7 @@
1346
1400
  typescriptUtilities.assert.isTruthy(host);
1347
1401
  host[HEADER_CELL_RENDERER_PORTAL] = new portal.ComponentPortal(this.componentType);
1348
1402
  };
1403
+ // @Trace()
1349
1404
  CellHeaderPortalRef.prototype.onPortalAttached = function (host, portalComponent) {
1350
1405
  this.initialiseHeader(portalComponent, host.column);
1351
1406
  };
@@ -1369,13 +1424,15 @@
1369
1424
  ComponentCellRendererPortalRef.prototype.initialiseHost = function (host, columnModel) {
1370
1425
  host[CELL_RENDERER_PORTAL] = new portal.ComponentPortal(this.componentType);
1371
1426
  };
1427
+ // @Trace()
1372
1428
  ComponentCellRendererPortalRef.prototype.onPortalAttached = function (host, portalComponent) {
1373
1429
  host[PORTAL_RENDERER_COMPONENT] = portalComponent;
1374
- this.updateComponent(portalComponent, host.getRowData());
1430
+ this.updateComponent(portalComponent, host.getRowData(), true);
1375
1431
  };
1432
+ // @Trace()
1376
1433
  ComponentCellRendererPortalRef.prototype.pushState = function (host) {
1377
1434
  if (host[PORTAL_RENDERER_COMPONENT]) {
1378
- this.updateComponent(host[PORTAL_RENDERER_COMPONENT], host.getRowData());
1435
+ this.updateComponent(host[PORTAL_RENDERER_COMPONENT], host.getRowData(), false);
1379
1436
  }
1380
1437
  };
1381
1438
  return ComponentCellRendererPortalRef;
@@ -1417,6 +1474,7 @@
1417
1474
  TemplateCellRendererPortalRef.prototype.onPortalAttached = function (host, portalComponent) {
1418
1475
  // don't care
1419
1476
  };
1477
+ // @Trace()
1420
1478
  TemplateCellRendererPortalRef.prototype.pushState = function (host) {
1421
1479
  host[CELL_RENDERER_PORTAL] = this.createPortal(host.getRowData());
1422
1480
  host.fillCell = this.fillCell;
@@ -1705,17 +1763,20 @@
1705
1763
  _this.cellRenderer(DefaultCellRendererComponent);
1706
1764
  return _this;
1707
1765
  }
1708
- PropertyColumnModel.prototype.cellRenderer = function (componentType) {
1766
+ PropertyColumnModel.prototype.cellRenderer = function (componentType, onComponentInit) {
1709
1767
  var _this = this;
1710
- this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData) {
1768
+ this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData, firstTime) {
1769
+ if (firstTime && onComponentInit) {
1770
+ onComponentInit(component);
1771
+ }
1711
1772
  component.value = _this._format(rowData.row[_this.property]);
1712
1773
  }));
1713
1774
  return this;
1714
1775
  };
1715
- PropertyColumnModel.prototype.cellEditor = function (editor, validatorsOrInitialiser, initialiseComponent) {
1776
+ PropertyColumnModel.prototype.cellEditor = function (editor, validatorsOrInitialiser, onComponentInit) {
1716
1777
  var _this = this;
1717
1778
  var validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
1718
- var initialiser = ___default__default.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
1779
+ var initialiser = ___default__default.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
1719
1780
  this.configureCellEditor(new CellEditorPortalRef(editor, function (component, editSession) {
1720
1781
  var formValueModel = editSession.form.pluck(_this.property);
1721
1782
  if (validators) {
@@ -2449,10 +2510,6 @@
2449
2510
  }
2450
2511
  MultipleSelectInputComponent.prototype.ngOnInit = function () {
2451
2512
  };
2452
- __decorate([
2453
- core.Input(), pectin.TrackExternal({ delegateTo: 'inputModel' }),
2454
- __metadata("design:type", Object)
2455
- ], MultipleSelectInputComponent.prototype, "listModel", void 0);
2456
2513
  __decorate([
2457
2514
  core.Input(), pectin.TrackExternal(),
2458
2515
  __metadata("design:type", pectin.ListModel)