@coolon/angular-ui-powerups 2.0.0-alpha.27 → 2.0.0-alpha.29

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 (94) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/bundles/coolon-angular-ui-powerups.umd.js +228 -118
  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.d.ts +39 -36
  7. package/coolon-angular-ui-powerups.metadata.json +1 -1
  8. package/esm2015/coolon-angular-ui-powerups.js +37 -34
  9. package/esm2015/coolon-angular-ui-powerups.js.map +1 -1
  10. package/esm2015/coolon-angular-ui-powerups.metadata.json +1 -1
  11. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  12. package/esm2015/lib/components/commands/command-bar.component.js +7 -11
  13. package/esm2015/lib/components/commands/command-bar.component.js.map +1 -1
  14. package/esm2015/lib/components/commands/command-bar.component.metadata.json +1 -1
  15. package/esm2015/lib/components/commands/command-container.js +3 -22
  16. package/esm2015/lib/components/commands/command-container.js.map +1 -1
  17. package/esm2015/lib/components/commands/command-container.metadata.json +1 -1
  18. package/esm2015/lib/components/commands/popup-menu/abstract-popup-menu.component.js +57 -0
  19. package/esm2015/lib/components/commands/popup-menu/abstract-popup-menu.component.js.map +1 -0
  20. package/esm2015/lib/components/commands/popup-menu/abstract-popup-menu.component.metadata.json +1 -0
  21. package/esm2015/lib/components/commands/popup-menu/abstract-popup-menu.component.ngfactory.js.map +1 -0
  22. package/esm2015/lib/components/commands/popup-menu/more-menu.component.js +40 -0
  23. package/esm2015/lib/components/commands/popup-menu/more-menu.component.js.map +1 -0
  24. package/esm2015/lib/components/commands/popup-menu/more-menu.component.metadata.json +1 -0
  25. package/esm2015/lib/components/commands/popup-menu/more-menu.component.ngfactory.js.map +1 -0
  26. package/esm2015/lib/components/commands/popup-menu/popup-menu.component.js +49 -0
  27. package/esm2015/lib/components/commands/popup-menu/popup-menu.component.js.map +1 -0
  28. package/esm2015/lib/components/commands/popup-menu/popup-menu.component.metadata.json +1 -0
  29. package/esm2015/lib/components/commands/popup-menu/popup-menu.component.ngfactory.js.map +1 -0
  30. package/esm2015/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.js +62 -0
  31. package/esm2015/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.js.map +1 -0
  32. package/esm2015/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.metadata.json +1 -0
  33. package/esm2015/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.ngfactory.js.map +1 -0
  34. package/esm2015/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.scss.shim.ngstyle.js.map +1 -0
  35. package/esm2015/lib/components/components.module.js +12 -6
  36. package/esm2015/lib/components/components.module.js.map +1 -1
  37. package/esm2015/lib/components/components.module.metadata.json +1 -1
  38. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  39. package/esm2015/lib/components/index.js +4 -1
  40. package/esm2015/lib/components/index.js.map +1 -1
  41. package/esm2015/lib/components/index.metadata.json +1 -1
  42. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  43. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  44. package/esm5/coolon-angular-ui-powerups.js +37 -34
  45. package/esm5/coolon-angular-ui-powerups.js.map +1 -1
  46. package/esm5/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  47. package/esm5/lib/components/commands/command-bar.component.js +3 -7
  48. package/esm5/lib/components/commands/command-bar.component.js.map +1 -1
  49. package/esm5/lib/components/commands/command-container.js +2 -23
  50. package/esm5/lib/components/commands/command-container.js.map +1 -1
  51. package/esm5/lib/components/commands/popup-menu/abstract-popup-menu.component.js +64 -0
  52. package/esm5/lib/components/commands/popup-menu/abstract-popup-menu.component.js.map +1 -0
  53. package/esm5/lib/components/commands/popup-menu/abstract-popup-menu.component.ngfactory.js.map +1 -0
  54. package/esm5/lib/components/commands/popup-menu/more-menu.component.js +35 -0
  55. package/esm5/lib/components/commands/popup-menu/more-menu.component.js.map +1 -0
  56. package/esm5/lib/components/commands/popup-menu/more-menu.component.ngfactory.js.map +1 -0
  57. package/esm5/lib/components/commands/popup-menu/popup-menu.component.js +45 -0
  58. package/esm5/lib/components/commands/popup-menu/popup-menu.component.js.map +1 -0
  59. package/esm5/lib/components/commands/popup-menu/popup-menu.component.ngfactory.js.map +1 -0
  60. package/esm5/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.js +66 -0
  61. package/esm5/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.js.map +1 -0
  62. package/esm5/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.ngfactory.js.map +1 -0
  63. package/esm5/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.scss.shim.ngstyle.js.map +1 -0
  64. package/esm5/lib/components/components.module.js +12 -6
  65. package/esm5/lib/components/components.module.js.map +1 -1
  66. package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
  67. package/esm5/lib/components/index.js +4 -1
  68. package/esm5/lib/components/index.js.map +1 -1
  69. package/esm5/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  70. package/esm5/lib/place/place.module.ngfactory.js.map +1 -1
  71. package/fesm2015/coolon-angular-ui-powerups.js +170 -60
  72. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  73. package/fesm5/coolon-angular-ui-powerups.js +167 -64
  74. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  75. package/lib/components/commands/command-bar.component.d.ts +1 -2
  76. package/lib/components/commands/command-container.d.ts +2 -2
  77. package/lib/components/commands/popup-menu/abstract-popup-menu.component.d.ts +18 -0
  78. package/lib/components/commands/popup-menu/more-menu.component.d.ts +9 -0
  79. package/lib/components/commands/popup-menu/popup-menu.component.d.ts +14 -0
  80. package/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.d.ts +21 -0
  81. package/lib/components/index.d.ts +4 -1
  82. package/package.json +1 -1
  83. package/esm2015/lib/components/commands/command-container.ngfactory.js.map +0 -1
  84. package/esm2015/lib/components/commands/command-menu/command-menu.component.js +0 -65
  85. package/esm2015/lib/components/commands/command-menu/command-menu.component.js.map +0 -1
  86. package/esm2015/lib/components/commands/command-menu/command-menu.component.metadata.json +0 -1
  87. package/esm2015/lib/components/commands/command-menu/command-menu.component.ngfactory.js.map +0 -1
  88. package/esm2015/lib/components/commands/command-menu/command-menu.component.scss.shim.ngstyle.js.map +0 -1
  89. package/esm5/lib/components/commands/command-container.ngfactory.js.map +0 -1
  90. package/esm5/lib/components/commands/command-menu/command-menu.component.js +0 -70
  91. package/esm5/lib/components/commands/command-menu/command-menu.component.js.map +0 -1
  92. package/esm5/lib/components/commands/command-menu/command-menu.component.ngfactory.js.map +0 -1
  93. package/esm5/lib/components/commands/command-menu/command-menu.component.scss.shim.ngstyle.js.map +0 -1
  94. package/lib/components/commands/command-menu/command-menu.component.d.ts +0 -22
package/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
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.29](https://bitbucket.org/coolon/angular-ui-powerups/compare/v2.0.0-alpha.28...v2.0.0-alpha.29) (2020-08-25)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * aup-more-menu menu position and change detection fixes ([7cc4476](https://bitbucket.org/coolon/angular-ui-powerups/commit/7cc4476a661ba344600789f864dd49bb7d6d855a))
11
+
12
+ ## [2.0.0-alpha.28](https://bitbucket.org/coolon/angular-ui-powerups/compare/v2.0.0-alpha.27...v2.0.0-alpha.28) (2020-08-25)
13
+
5
14
  ## [2.0.0-alpha.27](https://bitbucket.org/coolon/angular-ui-powerups/compare/v2.0.0-alpha.26...v2.0.0-alpha.27) (2020-08-25)
6
15
 
7
16
 
@@ -685,14 +685,13 @@
685
685
  CommandFace.Adapter = Adapter;
686
686
  })(exports.CommandFace || (exports.CommandFace = {}));
687
687
 
688
- exports.ɵbo = /** @class */ (function (_super) {
688
+ var CommandContainer = /** @class */ (function (_super) {
689
689
  __extends(CommandContainer, _super);
690
690
  function CommandContainer() {
691
691
  var _this = _super.call(this) || this;
692
692
  _this._commandRegistrations = new pectin.MutableListModel();
693
693
  return _this;
694
694
  }
695
- CommandContainer_1 = CommandContainer;
696
695
  Object.defineProperty(CommandContainer.prototype, "commandRegistrations", {
697
696
  get: function () {
698
697
  return this._commandRegistrations.readonly;
@@ -702,34 +701,15 @@
702
701
  });
703
702
  CommandContainer.prototype.registerCommand = function (command, face) {
704
703
  var _this = this;
705
- var registration = new CommandContainer_1.Registration(command, face);
704
+ var registration = { command: command, faceAdapter: new exports.CommandFace.Adapter(face) };
706
705
  this._commandRegistrations.push(registration);
707
706
  return pectin.Disposable.disposableThatRuns(function () { return _this._commandRegistrations.remove(registration); });
708
707
  };
709
708
  CommandContainer.prototype.getDefaultIconPosition = function () {
710
709
  return exports.CommandFace.Position.START;
711
710
  };
712
- var CommandContainer_1;
713
- CommandContainer = CommandContainer_1 = __decorate([
714
- core.Component({
715
- template: ''
716
- }),
717
- __metadata("design:paramtypes", [])
718
- ], CommandContainer);
719
711
  return CommandContainer;
720
712
  }(pectin.GarbageCollector));
721
- (function (CommandContainer) {
722
- var Registration = /** @class */ (function (_super) {
723
- __extends(Registration, _super);
724
- function Registration(command, face) {
725
- var _this = _super.call(this, face) || this;
726
- _this.command = command;
727
- return _this;
728
- }
729
- return Registration;
730
- }(exports.CommandFace.Adapter));
731
- CommandContainer.Registration = Registration;
732
- })(exports.ɵbo || (exports.ɵbo = {}));
733
713
 
734
714
  /**
735
715
  *
@@ -743,24 +723,20 @@
743
723
  CommandBarComponent.prototype.ngOnInit = function () {
744
724
  };
745
725
  CommandBarComponent.prototype.getButtonColor = function (registration) {
746
- return registration.destructive ? 'warn' : undefined;
726
+ return registration.faceAdapter.destructive ? 'warn' : undefined;
747
727
  };
748
728
  var CommandBarComponent_1;
749
- __decorate([
750
- core.ContentChild('moreMenu'),
751
- __metadata("design:type", core.TemplateRef)
752
- ], CommandBarComponent.prototype, "moreMenuTemplateRef", void 0);
753
729
  CommandBarComponent = CommandBarComponent_1 = __decorate([
754
730
  core.Component({
755
731
  selector: 'aup-command-bar',
756
- template: "\n <ng-container *ngFor=\"let registration of commandRegistrations.value\">\n <button *ngIf=\"registration.icon && !registration.text\"\n mat-icon-button\n [color]=\"getButtonColor(registration)\"\n [pectinCommand]=\"registration.command\"\n [matTooltip]=\"registration.tooltip\"\n >\n <aup-command-face [face]=\"registration.face\"></aup-command-face>\n </button>\n <button *ngIf=\"registration.text\"\n [color]=\"getButtonColor(registration)\"\n mat-button\n [pectinCommand]=\"registration.command\"\n [matTooltip]=\"registration.tooltip\"\n >\n <aup-command-face [face]=\"registration.face\"></aup-command-face>\n </button>\n </ng-container>\n ",
757
- providers: [{ provide: exports.ɵbo, useExisting: core.forwardRef(function () { return CommandBarComponent_1; }) }],
732
+ template: "\n <ng-container *ngFor=\"let registration of commandRegistrations.value\">\n <button *ngIf=\"registration.faceAdapter.icon && !registration.faceAdapter.text\"\n mat-icon-button\n [color]=\"getButtonColor(registration)\"\n [pectinCommand]=\"registration.command\"\n [matTooltip]=\"registration.faceAdapter.tooltip\"\n >\n <aup-command-face [face]=\"registration.faceAdapter.face\"></aup-command-face>\n </button>\n <button *ngIf=\"registration.faceAdapter.text\"\n [color]=\"getButtonColor(registration)\"\n mat-button\n [pectinCommand]=\"registration.command\"\n [matTooltip]=\"registration.tooltip\"\n >\n <aup-command-face [face]=\"registration.faceAdapter.face\"></aup-command-face>\n </button>\n </ng-container>\n ",
733
+ providers: [{ provide: CommandContainer, useExisting: core.forwardRef(function () { return CommandBarComponent_1; }) }],
758
734
  styles: [":host {\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n }"]
759
735
  }),
760
736
  __metadata("design:paramtypes", [])
761
737
  ], CommandBarComponent);
762
738
  return CommandBarComponent;
763
- }(exports.ɵbo));
739
+ }(CommandContainer));
764
740
 
765
741
  /**
766
742
  *
@@ -836,7 +812,7 @@
836
812
  configurable: true
837
813
  });
838
814
  CommandFaceComponent.ctorParameters = function () { return [
839
- { type: exports.ɵbo, decorators: [{ type: core.Optional }] }
815
+ { type: CommandContainer, decorators: [{ type: core.Optional }] }
840
816
  ]; };
841
817
  __decorate([
842
818
  core.Input('face'), pectin.StoreInValueModel('faceModel'),
@@ -872,7 +848,7 @@
872
848
  styles: ["aup-command-face{--icon-gap:var(--command-face-icon-gap);display:inline-flex;flex-direction:row;align-items:center}aup-command-face *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}"]
873
849
  }),
874
850
  __param(0, core.Optional()),
875
- __metadata("design:paramtypes", [exports.ɵbo])
851
+ __metadata("design:paramtypes", [CommandContainer])
876
852
  ], CommandFaceComponent);
877
853
  return CommandFaceComponent;
878
854
  }(DisposableComponent));
@@ -891,7 +867,7 @@
891
867
  this.registerDisposable(this.commandContainer.registerCommand(this.command, this.face));
892
868
  };
893
869
  CommandComponent.ctorParameters = function () { return [
894
- { type: exports.ɵbo }
870
+ { type: CommandContainer }
895
871
  ]; };
896
872
  __decorate([
897
873
  core.Input(), pectin.TrackExternal(),
@@ -906,7 +882,7 @@
906
882
  selector: 'aup-command',
907
883
  template: ""
908
884
  }),
909
- __metadata("design:paramtypes", [exports.ɵbo])
885
+ __metadata("design:paramtypes", [CommandContainer])
910
886
  ], CommandComponent);
911
887
  return CommandComponent;
912
888
  }(DisposableComponent));
@@ -914,65 +890,188 @@
914
890
  /**
915
891
  *
916
892
  */
917
- var CommandMenuComponent = /** @class */ (function (_super) {
918
- __extends(CommandMenuComponent, _super);
919
- function CommandMenuComponent() {
893
+ var PopupMenuRendererComponent = /** @class */ (function (_super) {
894
+ __extends(PopupMenuRendererComponent, _super);
895
+ function PopupMenuRendererComponent() {
920
896
  var _this = _super.call(this) || this;
921
- _this.faceModel = new pectin.MutableValueModel();
922
897
  _this.xPosition = 'after';
923
898
  _this.yPosition = 'below';
899
+ _this.commandExecuted = new core.EventEmitter();
924
900
  var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
925
- _this.tooltip = chain(_this.faceModel).map(function (face) { return new exports.CommandFace.Adapter(face); }).pluck('tooltip');
926
901
  var registrations = chain(_this.commandRegistrations);
927
- var iconCount = registrations.select(function (r) { return !!r.icon; }).count();
902
+ var iconCount = registrations.select(function (r) { return !!r.faceAdapter.icon; }).count();
928
903
  _this.hasMixedIcons = valueOf.all(iconCount.isGreaterThan(0), iconCount.doesNotEqual(registrations.length)).areTruthy();
929
904
  return _this;
930
905
  }
931
- CommandMenuComponent_1 = CommandMenuComponent;
932
- CommandMenuComponent.prototype.ngOnInit = function () {
906
+ PopupMenuRendererComponent.prototype.ngOnInit = function () {
933
907
  };
934
- CommandMenuComponent.prototype.createMoreMenuCommand = function (item) {
908
+ PopupMenuRendererComponent.prototype.getPopupMenuCommandFor = function (item) {
935
909
  var _this = this;
936
910
  var when = pectin.Dsl.disposeWith(this).when;
937
911
  when(item.command.busy).becomesFalsey(function () {
938
- _this.closeMoreMenu();
912
+ _this.commandExecuted.emit();
939
913
  });
940
914
  return item.command;
941
915
  };
942
- CommandMenuComponent.prototype.closeMoreMenu = function () {
943
- this.menu.closeMenu();
944
- };
945
- CommandMenuComponent.prototype.getButtonColor = function (registration) {
946
- return registration.destructive ? 'warn' : undefined;
916
+ PopupMenuRendererComponent.prototype.getButtonColor = function (registration) {
917
+ return registration.faceAdapter.destructive ? 'warn' : undefined;
947
918
  };
948
- var CommandMenuComponent_1;
949
919
  __decorate([
950
- core.Input(), pectin.StoreInValueModel('faceModel'),
920
+ core.Input(), pectin.TrackExternal(),
921
+ __metadata("design:type", pectin.ListModel)
922
+ ], PopupMenuRendererComponent.prototype, "commandRegistrations", void 0);
923
+ __decorate([
924
+ core.Input(),
925
+ __metadata("design:type", String)
926
+ ], PopupMenuRendererComponent.prototype, "xPosition", void 0);
927
+ __decorate([
928
+ core.Input(),
929
+ __metadata("design:type", String)
930
+ ], PopupMenuRendererComponent.prototype, "yPosition", void 0);
931
+ __decorate([
932
+ core.Output(),
951
933
  __metadata("design:type", Object)
952
- ], CommandMenuComponent.prototype, "face", void 0);
934
+ ], PopupMenuRendererComponent.prototype, "commandExecuted", void 0);
935
+ __decorate([
936
+ core.ViewChild(menu.MatMenu),
937
+ __metadata("design:type", menu.MatMenu)
938
+ ], PopupMenuRendererComponent.prototype, "matMenu", void 0);
939
+ PopupMenuRendererComponent = __decorate([
940
+ core.Component({
941
+ selector: 'aup-popup-menu-renderer',
942
+ template: "<mat-menu [xPosition]=\"xPosition\" [yPosition]=\"yPosition\" >\n <button *ngFor=\"let registration of commandRegistrations.value\"\n mat-menu-item\n [pectinCommand]=\"getPopupMenuCommandFor(registration)\"\n >\n <aup-command-face [face]=\"registration.faceAdapter.face\" [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n</mat-menu>\n",
943
+ styles: [":host{display:inline-flex;flex-direction:row;align-items:center}"]
944
+ }),
945
+ __metadata("design:paramtypes", [])
946
+ ], PopupMenuRendererComponent);
947
+ return PopupMenuRendererComponent;
948
+ }(DisposableComponent));
949
+
950
+ /**
951
+ *
952
+ */
953
+ var AbstractPopupMenuComponent = /** @class */ (function (_super) {
954
+ __extends(AbstractPopupMenuComponent, _super);
955
+ function AbstractPopupMenuComponent(cdr) {
956
+ var _this = _super.call(this) || this;
957
+ _this.cdr = cdr;
958
+ _this.xPosition = 'after';
959
+ _this.yPosition = 'below';
960
+ return _this;
961
+ }
962
+ AbstractPopupMenuComponent.prototype.ngAfterViewInit = function () {
963
+ this.cdr.detectChanges();
964
+ };
965
+ Object.defineProperty(AbstractPopupMenuComponent.prototype, "matMenuComponent", {
966
+ get: function () {
967
+ var _a;
968
+ return (_a = this.popupMenu) === null || _a === void 0 ? void 0 : _a.matMenu;
969
+ },
970
+ enumerable: true,
971
+ configurable: true
972
+ });
973
+ AbstractPopupMenuComponent.prototype.closeMenu = function () {
974
+ this.menuTrigger.closeMenu();
975
+ };
976
+ AbstractPopupMenuComponent.prototype.getButtonColor = function (registration) {
977
+ return registration.faceAdapter.destructive ? 'warn' : undefined;
978
+ };
979
+ AbstractPopupMenuComponent.ctorParameters = function () { return [
980
+ { type: core.ChangeDetectorRef }
981
+ ]; };
953
982
  __decorate([
954
983
  core.Input(),
955
984
  __metadata("design:type", String)
956
- ], CommandMenuComponent.prototype, "xPosition", void 0);
985
+ ], AbstractPopupMenuComponent.prototype, "xPosition", void 0);
957
986
  __decorate([
958
987
  core.Input(),
959
988
  __metadata("design:type", String)
960
- ], CommandMenuComponent.prototype, "yPosition", void 0);
989
+ ], AbstractPopupMenuComponent.prototype, "yPosition", void 0);
990
+ __decorate([
991
+ core.ViewChild(PopupMenuRendererComponent),
992
+ __metadata("design:type", PopupMenuRendererComponent)
993
+ ], AbstractPopupMenuComponent.prototype, "popupMenu", void 0);
961
994
  __decorate([
962
995
  core.ViewChild(menu.MatMenuTrigger),
963
996
  __metadata("design:type", menu.MatMenuTrigger)
964
- ], CommandMenuComponent.prototype, "menu", void 0);
965
- CommandMenuComponent = CommandMenuComponent_1 = __decorate([
997
+ ], AbstractPopupMenuComponent.prototype, "menuTrigger", void 0);
998
+ AbstractPopupMenuComponent = __decorate([
966
999
  core.Component({
967
- selector: 'aup-command-menu',
968
- template: "<button #trigger mat-icon-button [matMenuTriggerFor]=\"menu\" [matTooltip]=\"tooltip.value\">\n <aup-command-face [face]=\"face\"></aup-command-face>\n</button>\n<mat-menu #menu=\"matMenu\" [xPosition]=\"xPosition\" [yPosition]=\"yPosition\">\n <button *ngFor=\"let registration of commandRegistrations.value\"\n mat-menu-item\n [pectinCommand]=\"createMoreMenuCommand(registration)\"\n >\n <aup-command-face [face]=\"registration.face\" [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n</mat-menu>\n",
969
- providers: [{ provide: exports.ɵbo, useExisting: core.forwardRef(function () { return CommandMenuComponent_1; }) }],
970
- styles: [":host{display:inline-flex;flex-direction:row;align-items:center}"]
1000
+ selector: 'aup-abstract-popup-menu',
1001
+ template: ''
971
1002
  }),
972
- __metadata("design:paramtypes", [])
973
- ], CommandMenuComponent);
974
- return CommandMenuComponent;
975
- }(exports.ɵbo));
1003
+ __metadata("design:paramtypes", [core.ChangeDetectorRef])
1004
+ ], AbstractPopupMenuComponent);
1005
+ return AbstractPopupMenuComponent;
1006
+ }(CommandContainer));
1007
+
1008
+ /**
1009
+ *
1010
+ */
1011
+ var PopupMenuComponent = /** @class */ (function (_super) {
1012
+ __extends(PopupMenuComponent, _super);
1013
+ function PopupMenuComponent(cdr) {
1014
+ var _this = _super.call(this, cdr) || this;
1015
+ _this.faceModel = new pectin.MutableValueModel();
1016
+ var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
1017
+ var faceAdapterModel = chain(_this.faceModel).map(function (face) { return new exports.CommandFace.Adapter(face); });
1018
+ _this.faceTooltipModel = faceAdapterModel.pluck('tooltip');
1019
+ return _this;
1020
+ }
1021
+ PopupMenuComponent_1 = PopupMenuComponent;
1022
+ PopupMenuComponent.prototype.getTooltip = function () {
1023
+ return this.faceTooltipModel.value;
1024
+ };
1025
+ PopupMenuComponent.prototype.ngOnInit = function () {
1026
+ };
1027
+ var PopupMenuComponent_1;
1028
+ PopupMenuComponent.ctorParameters = function () { return [
1029
+ { type: core.ChangeDetectorRef }
1030
+ ]; };
1031
+ __decorate([
1032
+ core.Input(), pectin.StoreInValueModel('faceModel'),
1033
+ __metadata("design:type", Object)
1034
+ ], PopupMenuComponent.prototype, "face", void 0);
1035
+ PopupMenuComponent = PopupMenuComponent_1 = __decorate([
1036
+ core.Component({
1037
+ selector: 'aup-popup-menu',
1038
+ template: "\n <!-- we can only render the button after th popup menu has initialised and rendered it's menu component -->\n <button *ngIf=\"matMenuComponent\" mat-icon-button [matMenuTriggerFor]=\"matMenuComponent\" [matTooltip]=\"getTooltip()\">\n <aup-command-face [face]=\"face\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer [commandRegistrations]=\"commandRegistrations\" [yPosition]=\"yPosition\"\n [xPosition]=\"xPosition\"\n (commandExecuted)=\"closeMenu()\"></aup-popup-menu-renderer>\n ",
1039
+ providers: [{ provide: CommandContainer, useExisting: core.forwardRef(function () { return PopupMenuComponent_1; }) }]
1040
+ }),
1041
+ __metadata("design:paramtypes", [core.ChangeDetectorRef])
1042
+ ], PopupMenuComponent);
1043
+ return PopupMenuComponent;
1044
+ }(AbstractPopupMenuComponent));
1045
+
1046
+ /**
1047
+ *
1048
+ */
1049
+ var MoreMenuComponent = /** @class */ (function (_super) {
1050
+ __extends(MoreMenuComponent, _super);
1051
+ function MoreMenuComponent(cdr) {
1052
+ var _this = _super.call(this, cdr) || this;
1053
+ _this.xPosition = "before"; // this should be the default unless overriden by the user.
1054
+ return _this;
1055
+ }
1056
+ MoreMenuComponent_1 = MoreMenuComponent;
1057
+ var MoreMenuComponent_1;
1058
+ MoreMenuComponent.ctorParameters = function () { return [
1059
+ { type: core.ChangeDetectorRef }
1060
+ ]; };
1061
+ __decorate([
1062
+ core.Input(),
1063
+ __metadata("design:type", String)
1064
+ ], MoreMenuComponent.prototype, "tooltip", void 0);
1065
+ MoreMenuComponent = MoreMenuComponent_1 = __decorate([
1066
+ core.Component({
1067
+ selector: 'aup-more-menu',
1068
+ template: "\n <!-- we can only render the button after th popup menu has initialised and rendered it's menu component -->\n <button *ngIf=\"matMenuComponent\" mat-icon-button [matMenuTriggerFor]=\"matMenuComponent\" [matTooltip]=\"tooltip\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <aup-popup-menu-renderer [commandRegistrations]=\"commandRegistrations\"\n [xPosition]=\"xPosition\"\n [yPosition]=\"yPosition\"\n (commandExecuted)=\"closeMenu()\"></aup-popup-menu-renderer>\n ",
1069
+ providers: [{ provide: CommandContainer, useExisting: core.forwardRef(function () { return MoreMenuComponent_1; }) }]
1070
+ }),
1071
+ __metadata("design:paramtypes", [core.ChangeDetectorRef])
1072
+ ], MoreMenuComponent);
1073
+ return MoreMenuComponent;
1074
+ }(AbstractPopupMenuComponent));
976
1075
 
977
1076
  var FocusContainerComponent = /** @class */ (function (_super) {
978
1077
  __extends(FocusContainerComponent, _super);
@@ -3251,9 +3350,11 @@
3251
3350
  TableRowMenuComponent,
3252
3351
  CommandBarComponent,
3253
3352
  CommandComponent,
3254
- CommandMenuComponent,
3353
+ PopupMenuComponent,
3255
3354
  CommandFaceComponent,
3256
- exports.ɵbo
3355
+ AbstractPopupMenuComponent,
3356
+ PopupMenuRendererComponent,
3357
+ MoreMenuComponent
3257
3358
  ],
3258
3359
  imports: [
3259
3360
  common.CommonModule,
@@ -3302,9 +3403,11 @@
3302
3403
  TableRowMenuComponent,
3303
3404
  CommandBarComponent,
3304
3405
  CommandComponent,
3305
- CommandMenuComponent,
3406
+ AbstractPopupMenuComponent,
3407
+ PopupMenuComponent,
3306
3408
  CommandFaceComponent,
3307
- exports.ɵbo
3409
+ PopupMenuRendererComponent,
3410
+ MoreMenuComponent
3308
3411
  ],
3309
3412
  providers: [
3310
3413
  FocusBindingFactory
@@ -3955,7 +4058,7 @@
3955
4058
  }());
3956
4059
 
3957
4060
  var inplaceMonitorCount = 0;
3958
- exports.ɵcc = /** @class */ (function () {
4061
+ exports.ɵcf = /** @class */ (function () {
3959
4062
  function InteractionService(modelInteractionContextFactory) {
3960
4063
  this.modelInteractionContextFactory = modelInteractionContextFactory;
3961
4064
  this.garbage = new pectin.GarbageCollector();
@@ -4100,7 +4203,7 @@
4100
4203
  return ApiAdapter;
4101
4204
  }());
4102
4205
  InteractionService.ApiAdapter = ApiAdapter;
4103
- })(exports.ɵcc || (exports.ɵcc = {}));
4206
+ })(exports.ɵcf || (exports.ɵcf = {}));
4104
4207
 
4105
4208
  var InPlaceInteractionContextComponent = /** @class */ (function (_super) {
4106
4209
  __extends(InPlaceInteractionContextComponent, _super);
@@ -4158,7 +4261,7 @@
4158
4261
  return this.activityContainerComponent.startActivity(activityType, data, options);
4159
4262
  };
4160
4263
  InPlaceInteractionContextComponent.ctorParameters = function () { return [
4161
- { type: exports.ɵcc },
4264
+ { type: exports.ɵcf },
4162
4265
  { type: undefined, decorators: [{ type: core.Inject, args: [tabs.MAT_TABS_CONFIG,] }, { type: core.Optional }] }
4163
4266
  ]; };
4164
4267
  __decorate([
@@ -4176,7 +4279,7 @@
4176
4279
  styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}"]
4177
4280
  }),
4178
4281
  __param(1, core.Inject(tabs.MAT_TABS_CONFIG)), __param(1, core.Optional()),
4179
- __metadata("design:paramtypes", [exports.ɵcc, Object])
4282
+ __metadata("design:paramtypes", [exports.ɵcf, Object])
4180
4283
  ], InPlaceInteractionContextComponent);
4181
4284
  return InPlaceInteractionContextComponent;
4182
4285
  }(DisposableComponent));
@@ -4715,7 +4818,7 @@
4715
4818
  AlertDialogComponent
4716
4819
  ],
4717
4820
  providers: [
4718
- exports.ɵcc
4821
+ exports.ɵcf
4719
4822
  // {
4720
4823
  // provide: MAT_TABS_CONFIG, useValue: { animationDuration: "2s" }
4721
4824
  // }
@@ -5837,7 +5940,7 @@
5837
5940
  return PopStateNavigation;
5838
5941
  }(AbstractPopStateNavigation));
5839
5942
 
5840
- exports.ɵcf = /** @class */ (function () {
5943
+ exports.ɵci = /** @class */ (function () {
5841
5944
  function PlaceHistory() {
5842
5945
  this._archive = new Map();
5843
5946
  this.placeHistoryDepth = 4;
@@ -5974,7 +6077,7 @@
5974
6077
  // }
5975
6078
  //
5976
6079
  // }
5977
- })(exports.ɵcf || (exports.ɵcf = {}));
6080
+ })(exports.ɵci || (exports.ɵci = {}));
5978
6081
 
5979
6082
  exports.UrlSnapshot = /** @class */ (function () {
5980
6083
  // TODO: Update this accept a url Parser so it can be immutable and generate new trees on mutation using toString() are parseUrl.
@@ -6429,20 +6532,20 @@
6429
6532
  PlaceRouter.ctorParameters = function () { return [
6430
6533
  { type: router.Router },
6431
6534
  { type: common.Location },
6432
- { type: exports.ɵcc },
6535
+ { type: exports.ɵcf },
6433
6536
  { type: UrlService },
6434
- { type: exports.ɵcf }
6537
+ { type: exports.ɵci }
6435
6538
  ]; };
6436
- PlaceRouter.ɵprov = core.ɵɵdefineInjectable({ factory: function PlaceRouter_Factory() { return new PlaceRouter(core.ɵɵinject(router.Router), core.ɵɵinject(common.Location), core.ɵɵinject(exports.ɵcc), core.ɵɵinject(UrlService), core.ɵɵinject(exports.ɵcf)); }, token: PlaceRouter, providedIn: "root" });
6539
+ PlaceRouter.ɵprov = core.ɵɵdefineInjectable({ factory: function PlaceRouter_Factory() { return new PlaceRouter(core.ɵɵinject(router.Router), core.ɵɵinject(common.Location), core.ɵɵinject(exports.ɵcf), core.ɵɵinject(UrlService), core.ɵɵinject(exports.ɵci)); }, token: PlaceRouter, providedIn: "root" });
6437
6540
  PlaceRouter = __decorate([
6438
6541
  core.Injectable({
6439
6542
  providedIn: 'root'
6440
6543
  }),
6441
6544
  __metadata("design:paramtypes", [router.Router,
6442
6545
  common.Location,
6443
- exports.ɵcc,
6546
+ exports.ɵcf,
6444
6547
  UrlService,
6445
- exports.ɵcf])
6548
+ exports.ɵci])
6446
6549
  ], PlaceRouter);
6447
6550
  return PlaceRouter;
6448
6551
  }(pectin.GarbageCollector));
@@ -7592,6 +7695,7 @@
7592
7695
  exports.AbstractListInputComponent = AbstractListInputComponent;
7593
7696
  exports.AbstractPlaceNavigationComponent = AbstractPlaceNavigationComponent;
7594
7697
  exports.AbstractPopStateNavigation = AbstractPopStateNavigation;
7698
+ exports.AbstractPopupMenuComponent = AbstractPopupMenuComponent;
7595
7699
  exports.AbstractValueInputComponent = AbstractValueInputComponent;
7596
7700
  exports.Activity = Activity;
7597
7701
  exports.ActivityActionsComponent = ActivityActionsComponent;
@@ -7615,10 +7719,9 @@
7615
7719
  exports.ColumnTemplateDirective = ColumnTemplateDirective;
7616
7720
  exports.CommandBarComponent = CommandBarComponent;
7617
7721
  exports.CommandComponent = CommandComponent;
7618
- exports.CommandContainer = exports.ɵbo;
7722
+ exports.CommandContainer = CommandContainer;
7619
7723
  exports.CommandDirective = CommandDirective;
7620
7724
  exports.CommandFaceComponent = CommandFaceComponent;
7621
- exports.CommandMenuComponent = CommandMenuComponent;
7622
7725
  exports.ComponentCellRendererPortalRef = ComponentCellRendererPortalRef;
7623
7726
  exports.ComponentsModule = ComponentsModule;
7624
7727
  exports.ConfirmThenDialogComponent = ConfirmThenDialogComponent;
@@ -7650,12 +7753,13 @@
7650
7753
  exports.InPlaceInteractionContextComponent = InPlaceInteractionContextComponent;
7651
7754
  exports.InteractionContextTriggerFor = InteractionContextTriggerFor;
7652
7755
  exports.InteractionModule = InteractionModule;
7653
- exports.InteractionService = exports.ɵcc;
7756
+ exports.InteractionService = exports.ɵcf;
7654
7757
  exports.InteractionServiceRoutingAdapter = InteractionServiceRoutingAdapter;
7655
7758
  exports.LEFT_RIGHT_PLACE_ANIMATION = LEFT_RIGHT_PLACE_ANIMATION;
7656
7759
  exports.ListPlaceNavComponent = ListPlaceNavComponent;
7657
7760
  exports.ListPropertyColumnModel = ListPropertyColumnModel;
7658
7761
  exports.ModalInteractionContextFactory = ModalInteractionContextFactory;
7762
+ exports.MoreMenuComponent = MoreMenuComponent;
7659
7763
  exports.MultipleSelectInputComponent = MultipleSelectInputComponent;
7660
7764
  exports.Navigating = Navigating;
7661
7765
  exports.NavigatingDuringInteraction = NavigatingDuringInteraction;
@@ -7670,7 +7774,7 @@
7670
7774
  exports.PlaceComponentDeactivationHandler = PlaceComponentDeactivationHandler;
7671
7775
  exports.PlaceDefinition = PlaceDefinition;
7672
7776
  exports.PlaceGuard = PlaceGuard;
7673
- exports.PlaceHistory = exports.ɵcf;
7777
+ exports.PlaceHistory = exports.ɵci;
7674
7778
  exports.PlaceModule = PlaceModule;
7675
7779
  exports.PlaceOutletComponent = PlaceOutletComponent;
7676
7780
  exports.PlaceRouter = PlaceRouter;
@@ -7678,6 +7782,8 @@
7678
7782
  exports.PopStateDuringInteractionNavigation = PopStateDuringInteractionNavigation;
7679
7783
  exports.PopStateNavigation = PopStateNavigation;
7680
7784
  exports.PopupInteractionContextComponent = PopupInteractionContextComponent;
7785
+ exports.PopupMenuComponent = PopupMenuComponent;
7786
+ exports.PopupMenuRendererComponent = PopupMenuRendererComponent;
7681
7787
  exports.PropertyColumnModel = PropertyColumnModel;
7682
7788
  exports.ROUTE_PARAMETER_LIST_KEY = ROUTE_PARAMETER_LIST_KEY;
7683
7789
  exports.RemoveLastInteractionFromUrlNavigationSession = RemoveLastInteractionFromUrlNavigationSession;
@@ -7734,43 +7840,47 @@
7734
7840
  exports.ɵbl = SectionHeaderComponent;
7735
7841
  exports.ɵbm = TableRowMenuComponent;
7736
7842
  exports.ɵbn = CommandBarComponent;
7843
+ exports.ɵbo = CommandContainer;
7737
7844
  exports.ɵbp = CommandComponent;
7738
- exports.ɵbq = CommandMenuComponent;
7739
- exports.ɵbr = CommandFaceComponent;
7740
- exports.ɵbs = PlaceModule;
7741
- exports.ɵbt = ComponentsModule;
7742
- exports.ɵbu = EmptyStateComponent;
7743
- exports.ɵbv = BusyOverlayComponent;
7744
- exports.ɵbw = PlaceOutletComponent;
7745
- exports.ɵbx = leftRightPlaceAnimation;
7746
- exports.ɵby = LEFT_RIGHT_PLACE_ANIMATION;
7747
- exports.ɵbz = AUP_PLACE_CONFIG;
7845
+ exports.ɵbq = PopupMenuComponent;
7846
+ exports.ɵbr = AbstractPopupMenuComponent;
7847
+ exports.ɵbs = PopupMenuRendererComponent;
7848
+ exports.ɵbt = CommandFaceComponent;
7849
+ exports.ɵbu = MoreMenuComponent;
7850
+ exports.ɵbv = PlaceModule;
7851
+ exports.ɵbw = ComponentsModule;
7852
+ exports.ɵbx = EmptyStateComponent;
7853
+ exports.ɵby = BusyOverlayComponent;
7854
+ exports.ɵbz = PlaceOutletComponent;
7748
7855
  exports.ɵc = FocusBindingDirective;
7749
- exports.ɵcb = PlaceRouter;
7750
- exports.ɵcd = ModalInteractionContextFactory;
7751
- exports.ɵce = UrlService;
7752
- exports.ɵcg = TabbedPlaceNavigationComponent;
7753
- exports.ɵch = AbstractPlaceNavigationComponent;
7754
- exports.ɵci = ListPlaceNavComponent;
7755
- exports.ɵcj = SidePlaceNavigationComponent;
7756
- exports.ɵck = InteractionModule;
7757
- exports.ɵcl = ActivityContainerComponent;
7758
- exports.ɵcm = AbstractInteractionContext;
7759
- exports.ɵcn = ActivityOutletComponent;
7760
- exports.ɵco = ConfirmationDialogComponent;
7761
- exports.ɵcp = ACTIVITY_DATA;
7762
- exports.ɵcq = Activity;
7763
- exports.ɵcs = ConfirmThenDialogComponent;
7764
- exports.ɵct = AlertDialogComponent;
7765
- exports.ɵcv = InPlaceInteractionContextComponent;
7766
- exports.ɵcw = AddItemInteractionContextComponent;
7767
- exports.ɵcx = ActivityActionsComponent;
7768
- exports.ɵcy = PopupInteractionContextComponent;
7769
- exports.ɵcz = StringInputActivity;
7856
+ exports.ɵca = leftRightPlaceAnimation;
7857
+ exports.ɵcb = LEFT_RIGHT_PLACE_ANIMATION;
7858
+ exports.ɵcc = AUP_PLACE_CONFIG;
7859
+ exports.ɵce = PlaceRouter;
7860
+ exports.ɵcg = ModalInteractionContextFactory;
7861
+ exports.ɵch = UrlService;
7862
+ exports.ɵcj = TabbedPlaceNavigationComponent;
7863
+ exports.ɵck = AbstractPlaceNavigationComponent;
7864
+ exports.ɵcl = ListPlaceNavComponent;
7865
+ exports.ɵcm = SidePlaceNavigationComponent;
7866
+ exports.ɵcn = InteractionModule;
7867
+ exports.ɵco = ActivityContainerComponent;
7868
+ exports.ɵcp = AbstractInteractionContext;
7869
+ exports.ɵcq = ActivityOutletComponent;
7870
+ exports.ɵcr = ConfirmationDialogComponent;
7871
+ exports.ɵcs = ACTIVITY_DATA;
7872
+ exports.ɵct = Activity;
7873
+ exports.ɵcv = ConfirmThenDialogComponent;
7874
+ exports.ɵcw = AlertDialogComponent;
7875
+ exports.ɵcy = InPlaceInteractionContextComponent;
7876
+ exports.ɵcz = AddItemInteractionContextComponent;
7770
7877
  exports.ɵd = DisposableComponent;
7771
- exports.ɵda = AbstractInputActivity;
7772
- exports.ɵdb = SelectInputActivity;
7773
- exports.ɵdc = InteractionContextTriggerFor;
7878
+ exports.ɵda = ActivityActionsComponent;
7879
+ exports.ɵdb = PopupInteractionContextComponent;
7880
+ exports.ɵdc = StringInputActivity;
7881
+ exports.ɵdd = AbstractInputActivity;
7882
+ exports.ɵde = SelectInputActivity;
7883
+ exports.ɵdf = InteractionContextTriggerFor;
7774
7884
  exports.ɵe = FocusBindingFactory;
7775
7885
  exports.ɵf = ComponentsModule;
7776
7886
  exports.ɵg = AbstractInputComponent;