@coolon/angular-ui-powerups 3.7.0-alpha.7 → 3.7.0-alpha.8

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 (112) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/bundles/coolon-angular-ui-powerups.umd.js +322 -647
  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/angular-ui-powerups.module.ngfactory.js.map +1 -1
  8. package/esm2015/lib/components/commands/command/command.component.js +11 -13
  9. package/esm2015/lib/components/commands/command/command.component.js.map +1 -1
  10. package/esm2015/lib/components/commands/command/command.component.metadata.json +1 -1
  11. package/esm2015/lib/components/commands/flex.component.js +2 -9
  12. package/esm2015/lib/components/commands/flex.component.js.map +1 -1
  13. package/esm2015/lib/components/commands/flex.component.metadata.json +1 -1
  14. package/esm2015/lib/components/commands/group/command-container.js +21 -0
  15. package/esm2015/lib/components/commands/group/command-container.js.map +1 -0
  16. package/esm2015/lib/components/commands/group/command-container.metadata.json +1 -0
  17. package/esm2015/lib/components/commands/group/popup-aware.component.js +23 -0
  18. package/esm2015/lib/components/commands/group/popup-aware.component.js.map +1 -0
  19. package/esm2015/lib/components/commands/group/popup-aware.component.metadata.json +1 -0
  20. package/esm2015/lib/components/commands/group/popup-container.js +3 -0
  21. package/esm2015/lib/components/commands/group/popup-container.js.map +1 -0
  22. package/esm2015/lib/components/commands/group/popup-container.metadata.json +1 -0
  23. package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.js +67 -0
  24. package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.js.map +1 -0
  25. package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.metadata.json +1 -0
  26. package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.ngfactory.js.map +1 -0
  27. package/esm2015/lib/components/commands/group/popup-menu/more-menu.component.js +47 -0
  28. package/esm2015/lib/components/commands/group/popup-menu/more-menu.component.js.map +1 -0
  29. package/esm2015/lib/components/commands/group/popup-menu/more-menu.component.metadata.json +1 -0
  30. package/esm2015/lib/components/commands/group/popup-menu/more-menu.component.ngfactory.js.map +1 -0
  31. package/esm2015/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.js +90 -0
  32. package/esm2015/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.js.map +1 -0
  33. package/esm2015/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.metadata.json +1 -0
  34. package/esm2015/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.ngfactory.js.map +1 -0
  35. package/esm2015/lib/components/commands/group/popup-menu/popup-menu.component.js +42 -0
  36. package/esm2015/lib/components/commands/group/popup-menu/popup-menu.component.js.map +1 -0
  37. package/esm2015/lib/components/commands/group/popup-menu/popup-menu.component.metadata.json +1 -0
  38. package/esm2015/lib/components/commands/group/popup-menu/popup-menu.component.ngfactory.js.map +1 -0
  39. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.js +12 -16
  40. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.js.map +1 -1
  41. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.metadata.json +1 -1
  42. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.scss.ngstyle.js.map +1 -0
  43. package/esm2015/lib/components/commands/separator.component.js +24 -14
  44. package/esm2015/lib/components/commands/separator.component.js.map +1 -1
  45. package/esm2015/lib/components/commands/separator.component.metadata.json +1 -1
  46. package/esm2015/lib/components/components.module.js +6 -11
  47. package/esm2015/lib/components/components.module.js.map +1 -1
  48. package/esm2015/lib/components/components.module.metadata.json +1 -1
  49. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  50. package/esm2015/lib/components/exports.js +7 -9
  51. package/esm2015/lib/components/exports.js.map +1 -1
  52. package/esm2015/lib/components/exports.metadata.json +1 -1
  53. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  54. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  55. package/fesm2015/coolon-angular-ui-powerups.js +304 -578
  56. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  57. package/lib/components/commands/command/command.component.d.ts +5 -6
  58. package/lib/components/commands/flex.component.d.ts +1 -3
  59. package/lib/components/commands/group/command-container.d.ts +16 -0
  60. package/lib/components/commands/group/popup-aware.component.d.ts +11 -0
  61. package/lib/components/commands/group/popup-container.d.ts +6 -0
  62. package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +24 -0
  63. package/lib/components/commands/group/popup-menu/more-menu.component.d.ts +12 -0
  64. package/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.d.ts +33 -0
  65. package/lib/components/commands/group/{popup-menu.component.d.ts → popup-menu/popup-menu.component.d.ts} +4 -3
  66. package/lib/components/commands/group/tool-bar/tool-bar.component.d.ts +4 -5
  67. package/lib/components/commands/separator.component.d.ts +7 -7
  68. package/lib/components/exports.d.ts +7 -9
  69. package/package.json +1 -1
  70. package/esm2015/lib/components/commands/group/abstract-popup-menu.component.js +0 -51
  71. package/esm2015/lib/components/commands/group/abstract-popup-menu.component.js.map +0 -1
  72. package/esm2015/lib/components/commands/group/abstract-popup-menu.component.metadata.json +0 -1
  73. package/esm2015/lib/components/commands/group/abstract-popup-menu.component.ngfactory.js.map +0 -1
  74. package/esm2015/lib/components/commands/group/command-group/command-group.component.js +0 -44
  75. package/esm2015/lib/components/commands/group/command-group/command-group.component.js.map +0 -1
  76. package/esm2015/lib/components/commands/group/command-group/command-group.component.metadata.json +0 -1
  77. package/esm2015/lib/components/commands/group/command-group/command-group.component.ngfactory.js.map +0 -1
  78. package/esm2015/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.js +0 -57
  79. package/esm2015/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.js.map +0 -1
  80. package/esm2015/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.metadata.json +0 -1
  81. package/esm2015/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.ngfactory.js.map +0 -1
  82. package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.js +0 -52
  83. package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.js.map +0 -1
  84. package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.metadata.json +0 -1
  85. package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.ngfactory.js.map +0 -1
  86. package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.scss.shim.ngstyle.js.map +0 -1
  87. package/esm2015/lib/components/commands/group/command-group.js +0 -114
  88. package/esm2015/lib/components/commands/group/command-group.js.map +0 -1
  89. package/esm2015/lib/components/commands/group/command-group.metadata.json +0 -1
  90. package/esm2015/lib/components/commands/group/more-menu.component.js +0 -46
  91. package/esm2015/lib/components/commands/group/more-menu.component.js.map +0 -1
  92. package/esm2015/lib/components/commands/group/more-menu.component.metadata.json +0 -1
  93. package/esm2015/lib/components/commands/group/more-menu.component.ngfactory.js.map +0 -1
  94. package/esm2015/lib/components/commands/group/popup-menu.component.js +0 -41
  95. package/esm2015/lib/components/commands/group/popup-menu.component.js.map +0 -1
  96. package/esm2015/lib/components/commands/group/popup-menu.component.metadata.json +0 -1
  97. package/esm2015/lib/components/commands/group/popup-menu.component.ngfactory.js.map +0 -1
  98. package/esm2015/lib/components/commands/group/registration.js +0 -58
  99. package/esm2015/lib/components/commands/group/registration.js.map +0 -1
  100. package/esm2015/lib/components/commands/group/registration.metadata.json +0 -1
  101. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.scss.shim.ngstyle.js.map +0 -1
  102. package/esm2015/lib/components/commands/group/view-data.js +0 -113
  103. package/esm2015/lib/components/commands/group/view-data.js.map +0 -1
  104. package/esm2015/lib/components/commands/group/view-data.metadata.json +0 -1
  105. package/lib/components/commands/group/abstract-popup-menu.component.d.ts +0 -16
  106. package/lib/components/commands/group/command-group/command-group.component.d.ts +0 -12
  107. package/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.d.ts +0 -24
  108. package/lib/components/commands/group/command-group-renderer/command-group-renderer.component.d.ts +0 -18
  109. package/lib/components/commands/group/command-group.d.ts +0 -42
  110. package/lib/components/commands/group/more-menu.component.d.ts +0 -10
  111. package/lib/components/commands/group/registration.d.ts +0 -32
  112. package/lib/components/commands/group/view-data.d.ts +0 -41
@@ -1,5 +1,5 @@
1
1
  import { DOCUMENT, CommonModule, Location } from '@angular/common';
2
- import { Directive, ElementRef, Inject, Host, Optional, Input, HostListener, NgZone, ɵɵdefineInjectable, ɵɵinject, Injectable, NgModule, Component, ContentChild, ViewChildren, EventEmitter, SkipSelf, ViewChild, Output, HostBinding, ViewEncapsulation, Self, TemplateRef, ChangeDetectorRef, ContentChildren, ViewContainerRef, InjectionToken, Injector, ComponentFactoryResolver, INJECTOR } from '@angular/core';
2
+ import { Directive, ElementRef, Inject, Host, Optional, Input, HostListener, NgZone, ɵɵdefineInjectable, ɵɵinject, Injectable, NgModule, Component, ContentChild, InjectionToken, ViewChildren, ViewEncapsulation, HostBinding, SkipSelf, EventEmitter, ViewChild, Output, Self, TemplateRef, ChangeDetectorRef, ContentChildren, ViewContainerRef, Injector, ComponentFactoryResolver, INJECTOR } from '@angular/core';
3
3
  import { FormsModule } from '@angular/forms';
4
4
  import { MatFormFieldModule } from '@angular/material/form-field';
5
5
  import { MatInputModule } from '@angular/material/input';
@@ -18,7 +18,7 @@ import { MatTableModule } from '@angular/material/table';
18
18
  import { MatTooltipModule } from '@angular/material/tooltip';
19
19
  import { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontawesome';
20
20
  import { fas } from '@fortawesome/free-solid-svg-icons';
21
- import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, Logger, TrackExternal, Command, MutableValueModel, MutableListModel, ListModel, ValueModel, StoreInValueModel, StoreInListModel, FocusManager, EventListenerList, Form, Guard, Binding, DebugContext, MultipleSelectionModel, DirtyTrackingForm, DelegatingCommand, Deferred, Trace, Functions } from '@coolon/pectin';
21
+ import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, Logger, TrackExternal, Command, ValueModel, StoreInValueModel, MutableListModel, Disposable, Trace, DelegatingListModel, StoreInListModel, MutableValueModel, FocusManager, EventListenerList, Form, Guard, Binding, DebugContext, ListModel, MultipleSelectionModel, DirtyTrackingForm, DelegatingCommand, Deferred, Functions } from '@coolon/pectin';
22
22
  import { __decorate, __metadata, __awaiter } from 'tslib';
23
23
  import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
24
24
  import _, { isNil, isEqual } from 'lodash';
@@ -506,393 +506,322 @@ __decorate([
506
506
  __metadata("design:type", Command)
507
507
  ], CardContainerComponent.prototype, "addCardCommand", void 0);
508
508
 
509
- class ViewData {
510
- }
511
- (function (ViewData) {
512
- class FaceData extends ViewData {
513
- constructor(faces) {
514
- super();
515
- this.faces = faces;
516
- assert.notNil(faces);
517
- }
518
- get activeFaceAdapter() {
519
- return new CommandFace.Adapter(this.faces.length > 0 ? this.faces[0] : undefined);
520
- }
521
- }
522
- __decorate([
523
- Memoize(),
524
- __metadata("design:type", CommandFace.Adapter),
525
- __metadata("design:paramtypes", [])
526
- ], FaceData.prototype, "activeFaceAdapter", null);
527
- ViewData.FaceData = FaceData;
528
- class GroupData extends FaceData {
529
- constructor(faces, xPosition, yPosition, children) {
530
- super(faces);
531
- this.xPosition = xPosition;
532
- this.yPosition = yPosition;
533
- this.children = children;
534
- }
535
- get hasMixedIcons() {
536
- const hasFaces = this.children.filter(c => ViewData.hasFace(c));
537
- const iconCount = hasFaces.filter(c => !!c.activeFaceAdapter.icon).length;
538
- return iconCount > 0 && hasFaces.length !== iconCount;
509
+ var TrackBy;
510
+ (function (TrackBy) {
511
+ TrackBy.byIndex = (data, index) => index;
512
+ })(TrackBy || (TrackBy = {}));
513
+
514
+ class PopupAwareComponent extends DisposableComponent {
515
+ constructor(element, parent) {
516
+ super();
517
+ this.element = element;
518
+ this.parent = parent;
519
+ if (parent) {
520
+ this.registerDisposable(this.parent.register(this));
539
521
  }
540
522
  }
541
- __decorate([
542
- Memoize(),
543
- __metadata("design:type", Boolean),
544
- __metadata("design:paramtypes", [])
545
- ], GroupData.prototype, "hasMixedIcons", null);
546
- ViewData.GroupData = GroupData;
547
- class CommandData extends FaceData {
548
- constructor(command, faces) {
549
- super(faces);
550
- this.command = command;
523
+ get componentIndex() {
524
+ let node = this.element.nativeElement;
525
+ let index = 0;
526
+ while ((node = node.previousElementSibling)) {
527
+ index++;
551
528
  }
529
+ return index;
552
530
  }
553
- ViewData.CommandData = CommandData;
554
- class SeparatorData extends ViewData {
555
- }
556
- ViewData.SeparatorData = SeparatorData;
557
- class FlexData extends ViewData {
558
- }
559
- ViewData.FlexData = FlexData;
560
- function as(type, viewData) {
561
- return viewData instanceof type ? viewData : lang.illegalState(`expected instance of ${type.name}, got ${viewData.constructor.name}`);
562
- }
563
- ViewData.as = as;
564
- function getCommand(data) {
565
- return as(CommandData, data).command;
566
- }
567
- ViewData.getCommand = getCommand;
568
- function getTooltip(data) {
569
- return as(FaceData, data).activeFaceAdapter.tooltip;
570
- }
571
- ViewData.getTooltip = getTooltip;
572
- function getStyle(data) {
573
- return as(FaceData, data).activeFaceAdapter.style;
574
- }
575
- ViewData.getStyle = getStyle;
576
- function getColor(data) {
577
- return as(FaceData, data).activeFaceAdapter.color;
578
- }
579
- ViewData.getColor = getColor;
580
- function hasText(data) {
581
- return !!as(FaceData, data).activeFaceAdapter.text;
582
- }
583
- ViewData.hasText = hasText;
584
- function getFaces(data) {
585
- return as(FaceData, data).faces;
586
- }
587
- ViewData.getFaces = getFaces;
588
- function asGroup(viewData) {
589
- return as(GroupData, viewData);
590
- }
591
- ViewData.asGroup = asGroup;
592
- function hasMixedIcons(data) {
593
- return as(GroupData, data).hasMixedIcons;
594
- }
595
- ViewData.hasMixedIcons = hasMixedIcons;
596
- function isGroup(data) {
597
- return data instanceof GroupData;
598
- }
599
- ViewData.isGroup = isGroup;
600
- function hasFace(data) {
601
- return data instanceof FaceData;
602
- }
603
- ViewData.hasFace = hasFace;
604
- function isCommand(data) {
605
- return data instanceof CommandData;
606
- }
607
- ViewData.isCommand = isCommand;
608
- function isSeparator(data) {
609
- return data instanceof SeparatorData;
610
- }
611
- ViewData.isSeparator = isSeparator;
612
- function isFlex(data) {
613
- return data instanceof FlexData;
531
+ getFace() {
532
+ return undefined;
614
533
  }
615
- ViewData.isFlex = isFlex;
616
- })(ViewData || (ViewData = {}));
617
-
618
- class Registration extends GarbageCollector {
619
534
  }
620
- (function (Registration) {
621
- class FaceRegistration extends Registration {
622
- constructor(faceListModel) {
623
- super();
624
- this.faceListModel = faceListModel;
625
- }
626
- }
627
- Registration.FaceRegistration = FaceRegistration;
628
- class CommandRegistration extends FaceRegistration {
629
- constructor(command, faceListModel) {
630
- super(faceListModel);
631
- this.command = command;
632
- }
633
- toTemplate() {
634
- return new ViewData.CommandData(this.command, this.faceListModel.value);
635
- }
535
+
536
+ const POPUP_CONTAINER = new InjectionToken('popup-component');
537
+
538
+ /**
539
+ *
540
+ */
541
+ class CommandComponent extends PopupAwareComponent {
542
+ constructor(element, parent) {
543
+ super(element, parent);
544
+ this.CommandFace = CommandFace;
545
+ const { chain, switchOn } = Dsl.disposeWith(this);
546
+ this.faces = chain(this.command.busy).mapToList(busy => {
547
+ return busy ?
548
+ [this.busyFaceModel.value, this.faceModel.value] :
549
+ [this.faceModel.value, this.busyFaceModel.value];
550
+ }, { allowNil: true, dependsOn: [this.faceModel, this.busyFaceModel] })
551
+ .rejectNil();
552
+ this.activeFace = this.faces.first();
553
+ this.buttonStyle = chain(this.activeFace).map(f => CommandFace.getStyleOf(f));
554
+ this.colorModel = chain(this.activeFace).map(f => CommandFace.getColorOf(f));
636
555
  }
637
- Registration.CommandRegistration = CommandRegistration;
638
- class GroupRegistration extends FaceRegistration {
639
- constructor(faceModel, group) {
640
- super(faceModel);
641
- this.group = group;
642
- }
643
- toTemplate() {
644
- return new ViewData.GroupData(this.faceListModel.value, this.group.xPosition, this.group.yPosition, this.group.registrations.value.map(r => r.toTemplate()));
645
- }
556
+ isActive(face) {
557
+ return this.activeFace.query().equals(face);
646
558
  }
647
- Registration.GroupRegistration = GroupRegistration;
648
- class SeparatorRegistration extends Registration {
649
- constructor() {
650
- super(...arguments);
651
- this.template = new ViewData.SeparatorData();
652
- }
653
- toTemplate() {
654
- return this.template;
655
- }
559
+ ngOnInit() {
656
560
  }
657
- Registration.SeparatorRegistration = SeparatorRegistration;
658
- class FlexRegistration extends Registration {
659
- constructor() {
660
- super(...arguments);
661
- this.template = new ViewData.FlexData();
662
- }
663
- toTemplate() {
664
- return this.template;
665
- }
561
+ ngAfterViewInit() {
562
+ // console.log(this.element.nativeElement.previousSibling)
666
563
  }
667
- Registration.FlexRegistration = FlexRegistration;
668
- function hasFace(entry) {
669
- return entry instanceof CommandRegistration || entry instanceof GroupRegistration;
564
+ getFace() {
565
+ return this.face;
670
566
  }
671
- Registration.hasFace = hasFace;
672
- })(Registration || (Registration = {}));
567
+ }
568
+ CommandComponent.decorators = [
569
+ { type: Component, args: [{
570
+ selector: 'aup-command',
571
+ template: "<ng-container [ngSwitch]=\"buttonStyle.value\">\n <ng-container *ngSwitchCase=\"CommandFace.Style.STROKED\">\n <button mat-stroked-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\">\n <aup-command-face class=\"centered\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFace.Style.RAISED\">\n <button mat-raised-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\">\n <aup-command-face class=\"centered\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <button mat-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\">\n <aup-command-face class=\"centered\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n</ng-container>\n",
572
+ styles: [":host{display:inline-flex;flex-direction:row;justify-content:stretch}button{flex:1}"]
573
+ },] }
574
+ ];
575
+ CommandComponent.ctorParameters = () => [
576
+ { type: ElementRef },
577
+ { type: undefined, decorators: [{ type: Inject, args: [POPUP_CONTAINER,] }, { type: Optional }] }
578
+ ];
579
+ CommandComponent.propDecorators = {
580
+ command: [{ type: Input }],
581
+ faceModel: [{ type: Input }],
582
+ face: [{ type: Input }],
583
+ busyFaceModel: [{ type: Input }],
584
+ busyFace: [{ type: Input }]
585
+ };
586
+ __decorate([
587
+ TrackExternal(),
588
+ __metadata("design:type", Command)
589
+ ], CommandComponent.prototype, "command", void 0);
590
+ __decorate([
591
+ TrackExternal(),
592
+ __metadata("design:type", ValueModel)
593
+ ], CommandComponent.prototype, "faceModel", void 0);
594
+ __decorate([
595
+ StoreInValueModel('faceModel'),
596
+ __metadata("design:type", Object)
597
+ ], CommandComponent.prototype, "face", void 0);
598
+ __decorate([
599
+ TrackExternal(),
600
+ __metadata("design:type", ValueModel)
601
+ ], CommandComponent.prototype, "busyFaceModel", void 0);
602
+ __decorate([
603
+ StoreInValueModel('busyFaceModel'),
604
+ __metadata("design:type", Object)
605
+ ], CommandComponent.prototype, "busyFace", void 0);
673
606
 
674
- class CommandGroup extends GarbageCollector {
607
+ class CommandContainer extends GarbageCollector {
675
608
  constructor(parent) {
676
609
  super();
677
610
  this.parent = parent;
678
- this._rootTemplate = new MutableValueModel();
679
- this._registrations = new MutableListModel();
680
- const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
681
- this.childTemplates = chain(this._rootTemplate).pluckList('children');
682
- this.initialised = chain(this._rootTemplate).isNotNil();
683
- // This is a hack to trigger re-rendering when a command is removed from it's parent using ng-if ng-for etc.
684
- when(chain(this._registrations)
685
- .throttle(20)
686
- .count())
687
- .changes((is, was) => {
688
- if (this.initialised.value) {
689
- this.notifyChanged();
690
- }
691
- });
692
- }
693
- initialise() {
694
- this.rebuildTemplates();
695
- }
696
- get rootTemplate() {
697
- return this._rootTemplate.readonly;
698
- }
699
- get registrations() {
700
- return this._registrations.readonly;
701
- }
702
- notifyChanged() {
703
- if (this.parent) {
704
- this.parent.notifyChanged();
705
- }
706
- else {
707
- this.rebuildTemplates();
708
- }
709
- }
710
- notifyChildFaceChanged(is, was) {
711
- this.notifyChanged();
712
- }
713
- rebuildTemplates() {
714
- this._rootTemplate.value = new ViewData.GroupData(this.faceListModel.value, this.xPosition, this.yPosition, this.registrations.value.map(r => r.toTemplate()));
715
611
  }
716
612
  get depth() {
717
- return this.isRoot() ? 0 : this.parent.depth + 1;
613
+ return this.hasParent() ? this.parent.depth + 1 : 0;
718
614
  }
719
- isRoot() {
720
- return false;
721
- }
722
- registerCommand(command, faceListModel) {
723
- return this.register(new Registration.CommandRegistration(command, faceListModel));
724
- }
725
- registerGroup(group, faceModel) {
726
- return this.register(new Registration.GroupRegistration(faceModel, group));
615
+ hasParent() {
616
+ return !!this.parent;
727
617
  }
728
- registerFlex(component) {
729
- return this.register(new Registration.FlexRegistration());
730
- }
731
- registerSeparator(component) {
732
- return this.register(new Registration.SeparatorRegistration());
733
- }
734
- register(registration) {
735
- this._registrations.push(registration);
736
- if (registration instanceof Registration.FaceRegistration) {
737
- const { when } = Dsl.disposeWith(registration);
738
- when(registration.faceListModel).changes((is, was) => {
739
- this.notifyChildFaceChanged(is, was);
740
- }, { asLongAs: this.initialised });
741
- }
742
- registration.onDispose(() => this._registrations.remove(registration));
743
- return registration;
618
+ get orientation() {
619
+ return CommandContainer.Orientation.VERTICAL;
744
620
  }
745
621
  }
746
- (function (CommandGroup) {
747
- class Root extends CommandGroup {
748
- constructor() {
749
- super();
750
- const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
751
- when(this.faceListModel).changes(() => this.notifyChanged());
752
- }
753
- isRoot() {
754
- return true;
755
- }
756
- }
757
- __decorate([
758
- TrackExternal(),
759
- __metadata("design:type", ListModel)
760
- ], Root.prototype, "faceListModel", void 0);
761
- __decorate([
762
- TrackExternal({ defaultValue: 'after' }),
763
- __metadata("design:type", ValueModel)
764
- ], Root.prototype, "xPositionModel", void 0);
765
- __decorate([
766
- StoreInValueModel('xPositionModel'),
767
- __metadata("design:type", String)
768
- ], Root.prototype, "xPosition", void 0);
769
- __decorate([
770
- TrackExternal({ defaultValue: 'below' }),
771
- __metadata("design:type", ValueModel)
772
- ], Root.prototype, "yPositionModel", void 0);
773
- __decorate([
774
- StoreInValueModel('yPositionModel'),
775
- __metadata("design:type", String)
776
- ], Root.prototype, "yPosition", void 0);
777
- CommandGroup.Root = Root;
778
- function factory() {
779
- return new Root();
780
- }
781
- CommandGroup.factory = factory;
782
- })(CommandGroup || (CommandGroup = {}));
783
-
784
- class AbstractPopupMenuComponent extends DisposableComponent {
785
- constructor(group) {
786
- super();
787
- this.group = group;
788
- this.registerDisposable(group);
789
- }
790
- get xPosition() {
791
- return this.group.xPosition;
792
- }
793
- set xPosition(position) {
794
- this.group.xPosition = position;
795
- }
796
- get yPosition() {
797
- return this.group.yPosition;
622
+ (function (CommandContainer) {
623
+ CommandContainer.Orientation = Enum({ HORIZONTAL: 'horizontal', VERTICAL: 'vertical' });
624
+ })(CommandContainer || (CommandContainer = {}));
625
+
626
+ /**
627
+ *
628
+ */
629
+ class AbstractPopupMenuComponent extends PopupAwareComponent {
630
+ constructor(element, parent) {
631
+ super(element, parent);
632
+ this._unorderedChildren = new MutableListModel();
633
+ this.faceModelDelegate = new DelegatingValueModel();
634
+ this.xPosition = 'after';
635
+ this.yPosition = 'below';
636
+ const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
637
+ // group.faceListModel = chain(this.faceModel).mapToList(face => [face]);
638
+ this.faceAdapterModel = chain(this.faceModelDelegate).map(f => new CommandFace.Adapter(f));
639
+ this.children = chain(this._unorderedChildren).sortBy('componentIndex');
798
640
  }
799
- set yPosition(position) {
800
- this.group.yPosition = position;
641
+ get faceAdapter() {
642
+ return this.faceAdapterModel.value;
801
643
  }
802
- ngAfterContentInit() {
803
- this.group.initialise();
644
+ isRoot() {
645
+ return !this.parent;
804
646
  }
805
- ngOnInit() {
647
+ register(component) {
648
+ this._unorderedChildren.push(component);
649
+ return Disposable.disposableThatRuns(() => {
650
+ this._unorderedChildren.remove(component);
651
+ });
806
652
  }
807
- // @Trace()
808
- closeMenu() {
653
+ onCommandFired() {
809
654
  this.triggers.forEach(trigger => {
810
655
  if (trigger.menuOpen) {
811
656
  trigger.closeMenu();
812
657
  }
813
658
  });
814
659
  }
660
+ getFace() {
661
+ return this.faceAdapter.face;
662
+ }
815
663
  }
816
664
  AbstractPopupMenuComponent.decorators = [
817
665
  { type: Component, args: [{
818
- selector: 'aup-abstract-popup-menu-component',
666
+ selector: 'aup-abstract-popup-menu',
819
667
  template: ''
820
668
  },] }
821
669
  ];
822
670
  AbstractPopupMenuComponent.ctorParameters = () => [
823
- { type: CommandGroup }
671
+ { type: ElementRef },
672
+ { type: undefined, decorators: [{ type: Inject, args: [POPUP_CONTAINER,] }] }
824
673
  ];
825
674
  AbstractPopupMenuComponent.propDecorators = {
826
675
  xPosition: [{ type: Input }],
827
676
  yPosition: [{ type: Input }],
828
677
  triggers: [{ type: ViewChildren, args: [MatMenuTrigger,] }]
829
678
  };
679
+ __decorate([
680
+ Trace(),
681
+ __metadata("design:type", Function),
682
+ __metadata("design:paramtypes", [PopupAwareComponent]),
683
+ __metadata("design:returntype", void 0)
684
+ ], AbstractPopupMenuComponent.prototype, "register", null);
830
685
 
831
- var TrackBy;
832
- (function (TrackBy) {
833
- TrackBy.byIndex = (data, index) => index;
834
- })(TrackBy || (TrackBy = {}));
835
-
836
- class CommandGroupMenuRendererComponent extends DisposableComponent {
837
- constructor(parent) {
686
+ /**
687
+ *
688
+ */
689
+ class ToolBarComponent extends CommandContainer {
690
+ constructor() {
838
691
  super();
839
- this.parent = parent;
840
- this.groupViewDataModel = new MutableValueModel();
841
- this.commandFired = new EventEmitter();
842
- this.ViewData = ViewData;
843
- this.TrackBy = TrackBy;
844
- const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
845
- this.children = chain(this.groupViewDataModel).pluckList('children');
846
- this.hasMixedIcons = chain(this.groupViewDataModel).pluck('hasMixedIcons');
847
692
  }
848
- executeCommand(data) {
849
- ViewData.getCommand(data).execute().finally(() => {
850
- this.commandFired.emit();
851
- });
693
+ get orientation() {
694
+ return CommandContainer.Orientation.HORIZONTAL;
852
695
  }
853
- isEnabled(data) {
854
- return ViewData.getCommand(data).enabled.value;
696
+ // @Trace()
697
+ ngOnInit() {
855
698
  }
856
699
  // @Trace()
857
- onCommandFired() {
858
- this.commandFired.emit();
859
- this.triggers.forEach(trigger => {
860
- if (trigger.menuOpen) {
861
- trigger.closeMenu();
862
- }
863
- });
700
+ ngAfterContentInit() {
701
+ // this.group.initialise();
702
+ }
703
+ // @Trace()
704
+ ngAfterViewInit() {
864
705
  }
865
706
  }
866
- CommandGroupMenuRendererComponent.decorators = [
707
+ ToolBarComponent.decorators = [
867
708
  { type: Component, args: [{
868
- selector: 'aup-command-group-menu',
869
- template: "<mat-menu #menu [xPosition]=\"groupViewData.xPosition\" [yPosition]=\"groupViewData.yPosition\">\n <ng-container *ngFor=\"let data of children.value; trackBy: TrackBy.byIndex\" >\n <button *ngIf=\"ViewData.isCommand(data)\"\n (click)=\"executeCommand(data)\"\n [disabled]=\"!isEnabled(data)\"\n [matTooltip]=\"ViewData.getTooltip(data)\"\n mat-menu-item>\n <aup-command-face [faces]=\"ViewData.getFaces(data)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n\n <ng-container *ngIf=\"ViewData.isGroup(data)\">\n <button mat-menu-item\n matMenuTrigger\n [matMenuTriggerFor]=\"innerPanel.menuComponent\"\n >\n <aup-command-face [faces]=\"ViewData.getFaces(data)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n <aup-command-group-menu #innerPanel\n [groupViewData]=\"ViewData.asGroup(data)\"\n (commandFired)=\"onCommandFired()\"></aup-command-group-menu>\n </ng-container>\n\n <mat-divider *ngIf=\"ViewData.isSeparator(data)\"></mat-divider>\n\n </ng-container>\n</mat-menu>\n"
709
+ selector: 'aup-tool-bar',
710
+ template: '<div class="toolbar-content"><ng-content></ng-content></div>',
711
+ encapsulation: ViewEncapsulation.None,
712
+ styles: [":host{display:inline-block}.toolbar-content{align-items:center;display:inline-flex;flex-direction:row}.toolbar-content>aup-separator{-ms-grid-row-align:stretch;align-self:stretch;margin:4px 0 4px 8px}.toolbar-content>aup-flex{flex:1}.toolbar-content>*+*{margin-left:8px}"]
870
713
  },] }
871
714
  ];
872
- CommandGroupMenuRendererComponent.ctorParameters = () => [
873
- { type: CommandGroupMenuRendererComponent, decorators: [{ type: Optional }, { type: SkipSelf }] }
715
+ ToolBarComponent.ctorParameters = () => [];
716
+
717
+ /**
718
+ *
719
+ */
720
+ class SeparatorComponent extends PopupAwareComponent {
721
+ constructor(element, containerParent) {
722
+ super(element, containerParent instanceof AbstractPopupMenuComponent ? containerParent : undefined);
723
+ this.containerParent = containerParent;
724
+ }
725
+ isHorizontalContainer() {
726
+ return this.containerParent instanceof ToolBarComponent && this.containerParent.orientation === CommandContainer.Orientation.HORIZONTAL;
727
+ }
728
+ ngOnInit() {
729
+ }
730
+ }
731
+ SeparatorComponent.decorators = [
732
+ { type: Component, args: [{
733
+ selector: 'aup-separator',
734
+ template: `
735
+ <mat-divider [vertical]="!isHorizontalContainer()"></mat-divider>`,
736
+ styles: [`:host {
737
+ }`,
738
+ `:host(.horizontal-container) {
739
+ display: inline-flex;
740
+ flex-direction: row;
741
+ align-items: stretch;
742
+ }`]
743
+ },] }
874
744
  ];
875
- CommandGroupMenuRendererComponent.propDecorators = {
876
- menuComponent: [{ type: ViewChild, args: ['menu', { static: true },] }],
877
- groupViewData: [{ type: Input }],
878
- commandFired: [{ type: Output }],
879
- triggers: [{ type: ViewChildren, args: [MatMenuTrigger,] }]
745
+ SeparatorComponent.ctorParameters = () => [
746
+ { type: ElementRef },
747
+ { type: CommandContainer, decorators: [{ type: Optional }] }
748
+ ];
749
+ SeparatorComponent.propDecorators = {
750
+ isHorizontalContainer: [{ type: HostBinding, args: ['class.horizontal-container',] }]
751
+ };
752
+
753
+ /**
754
+ *
755
+ */
756
+ class PopupMenuComponent extends AbstractPopupMenuComponent {
757
+ constructor(element, parent) {
758
+ super(element, parent);
759
+ const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
760
+ // group.faceListModel = chain(this.faceModel).mapToList(face => [face]);
761
+ }
762
+ }
763
+ PopupMenuComponent.decorators = [
764
+ { type: Component, args: [{
765
+ selector: 'aup-popup-menu',
766
+ template: "<div class=\"content\" style=\"display: none\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"isRoot()\">\n <ng-container *ngIf=\"faceAdapter.text\" [ngSwitch]=\"faceAdapter.style\">\n <ng-container *ngSwitchCase=\"'stroked'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n mat-stroked-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'raised'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n mat-raised-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n mat-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu [parent]=\"this\" (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n </ng-container>\n\n <ng-container *ngIf=\"!faceAdapter.text\">\n <button matMenuTrigger\n mat-icon-button\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n >\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n</ng-container>\n",
767
+ providers: [
768
+ { provide: POPUP_CONTAINER, useExisting: PopupMenuComponent }
769
+ ]
770
+ },] }
771
+ ];
772
+ PopupMenuComponent.ctorParameters = () => [
773
+ { type: ElementRef },
774
+ { type: undefined, decorators: [{ type: Inject, args: [POPUP_CONTAINER,] }, { type: Optional }, { type: SkipSelf }] }
775
+ ];
776
+ PopupMenuComponent.propDecorators = {
777
+ faceModel: [{ type: Input }],
778
+ face: [{ type: Input }]
880
779
  };
881
780
  __decorate([
882
- StoreInValueModel('groupViewDataModel'),
883
- __metadata("design:type", ViewData.GroupData)
884
- ], CommandGroupMenuRendererComponent.prototype, "groupViewData", void 0);
781
+ TrackExternal({ delegateTo: 'faceModelDelegate' }),
782
+ __metadata("design:type", ValueModel)
783
+ ], PopupMenuComponent.prototype, "faceModel", void 0);
784
+ __decorate([
785
+ StoreInValueModel('faceModel'),
786
+ __metadata("design:type", Object)
787
+ ], PopupMenuComponent.prototype, "face", void 0);
885
788
 
886
- class CommandGroupRendererComponent extends DisposableComponent {
789
+ class PopupMenuRendererComponent extends DisposableComponent {
887
790
  constructor() {
888
791
  super();
889
- this.renderRootNode = true;
792
+ this._childList = new DelegatingListModel();
890
793
  this.commandFired = new EventEmitter();
891
- this.ViewData = ViewData;
892
794
  this.TrackBy = TrackBy;
893
795
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
894
- this.childViewDataModels = chain(this.groupViewDataModel)
895
- .pluckList('children');
796
+ // this.children = chain(this.groupViewDataModel).pluckList('children');
797
+ // this.hasMixedIcons = chain(this.groupViewDataModel).pluck('hasMixedIcons');
798
+ const faces = chain(this._childList).map(child => {
799
+ return child.getFace();
800
+ }).rejectNil();
801
+ const icons = faces.select(face => !!CommandFace.getIconOf(face));
802
+ const iconCount = icons.count();
803
+ const totalFaces = faces.count();
804
+ this.hasMixedIcons = valueOf.all(iconCount.isGreaterThan(0), totalFaces.doesNotEqual(iconCount)).areTruthy();
805
+ }
806
+ get parent() {
807
+ return this._parentComponent;
808
+ }
809
+ set parent(comp) {
810
+ this._parentComponent = comp;
811
+ this._childList.setDelegate(comp.children);
812
+ }
813
+ get children() {
814
+ return this.parent.children.value;
815
+ }
816
+ executeCommand(data) {
817
+ if (this.isCommand(data)) {
818
+ data.command.execute().finally(() => {
819
+ this.commandFired.emit();
820
+ });
821
+ }
822
+ }
823
+ isEnabled(data) {
824
+ return true; //ViewData.getCommand(data).enabled.value;
896
825
  }
897
826
  // @Trace()
898
827
  onCommandFired() {
@@ -903,69 +832,39 @@ class CommandGroupRendererComponent extends DisposableComponent {
903
832
  }
904
833
  });
905
834
  }
835
+ isCommand(child) {
836
+ return child instanceof CommandComponent;
837
+ }
838
+ isPopupMenu(child) {
839
+ return child instanceof AbstractPopupMenuComponent;
840
+ }
841
+ isSeparator(child) {
842
+ return child instanceof SeparatorComponent;
843
+ }
844
+ getTooltip(child) {
845
+ return this.isCommand(child) ? CommandFace.getTooltipOf(child.face) : undefined;
846
+ }
847
+ getFaces(child) {
848
+ return this.isCommand(child) ?
849
+ child.faces.value :
850
+ this.isPopupMenu(child) ?
851
+ [child.faceAdapter.face] :
852
+ undefined;
853
+ }
906
854
  }
907
- CommandGroupRendererComponent.decorators = [
855
+ PopupMenuRendererComponent.decorators = [
908
856
  { type: Component, args: [{
909
- selector: 'aup-command-group-renderer',
910
- template: "<ng-template #groupTemplate let-group>\n\n <ng-container *ngIf=\"ViewData.hasText(group)\" [ngSwitch]=\"ViewData.getStyle(group)\">\n <ng-container *ngSwitchCase=\"'stroked'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"ViewData.getTooltip(group)\"\n [color]=\"ViewData.getColor(group)\"\n mat-stroked-button>\n <aup-command-face [faces]=\"ViewData.getFaces(group)\"></aup-command-face>\n </button>\n <aup-command-group-menu #subMenu\n [groupViewData]=\"group\"\n (commandFired)=\"onCommandFired()\"></aup-command-group-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'raised'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"ViewData.getTooltip(group)\"\n [color]=\"ViewData.getColor(group)\"\n mat-raised-button>\n <aup-command-face [faces]=\"ViewData.getFaces(group)\"></aup-command-face>\n </button>\n <aup-command-group-menu #subMenu\n [groupViewData]=\"group\"\n (commandFired)=\"onCommandFired()\"></aup-command-group-menu>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"ViewData.getTooltip(group)\"\n [color]=\"ViewData.getColor(group)\"\n mat-button>\n <aup-command-face [faces]=\"ViewData.getFaces(group)\"></aup-command-face>\n </button>\n <aup-command-group-menu #subMenu\n [groupViewData]=\"group\"\n (commandFired)=\"onCommandFired()\"></aup-command-group-menu>\n </ng-container>\n\n </ng-container>\n\n <ng-container *ngIf=\"!ViewData.hasText(group)\">\n <button matMenuTrigger\n mat-icon-button\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"ViewData.getTooltip(group)\"\n [color]=\"ViewData.getColor(group)\"\n >\n <aup-command-face [faces]=\"ViewData.getFaces(group)\"></aup-command-face>\n </button>\n <aup-command-group-menu #subMenu\n [groupViewData]=\"group\"\n (commandFired)=\"onCommandFired()\"></aup-command-group-menu>\n </ng-container>\n\n</ng-template>\n\n\n<ng-template #commandTemplate let-data>\n\n <ng-container *ngIf=\"ViewData.hasText(data)\" [ngSwitch]=\"ViewData.getStyle(data)\">\n <button *ngSwitchCase=\"'raised'\"\n [pectinCommand]=\"ViewData.getCommand(data)\"\n [matTooltip]=\"ViewData.getTooltip(data)\"\n [color]=\"ViewData.getColor(data)\"\n mat-raised-button>\n <aup-command-face [faces]=\"ViewData.getFaces(data)\"></aup-command-face>\n </button>\n <button *ngSwitchCase=\"'stroked'\"\n [pectinCommand]=\"ViewData.getCommand(data)\"\n [matTooltip]=\"ViewData.getTooltip(data)\"\n [color]=\"ViewData.getColor(data)\"\n mat-stroked-button>\n <aup-command-face [faces]=\"ViewData.getFaces(data)\"></aup-command-face>\n </button>\n <button *ngSwitchDefault\n [pectinCommand]=\"ViewData.getCommand(data)\"\n [matTooltip]=\"ViewData.getTooltip(data)\"\n [color]=\"ViewData.getColor(data)\"\n mat-button>\n <aup-command-face [faces]=\"ViewData.getFaces(data)\"></aup-command-face>\n </button>\n </ng-container>\n\n <button *ngIf=\"!ViewData.hasText(data)\"\n [pectinCommand]=\"ViewData.getCommand(data)\"\n [matTooltip]=\"ViewData.getTooltip(data)\"\n [color]=\"ViewData.getColor(data)\"\n mat-icon-button>\n <aup-command-face [faces]=\"ViewData.getFaces(data)\"></aup-command-face>\n </button>\n\n</ng-template>\n\n\n<ng-template *ngIf=\"renderRootNode\"\n [ngTemplateOutlet]=\"groupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: groupViewDataModel.value }\">\n</ng-template>\n\n<ng-container *ngIf=\"!renderRootNode\">\n <ng-container *ngFor=\"let data of this.childViewDataModels.value; trackBy: TrackBy.byIndex\">\n <ng-template *ngIf=\"ViewData.isGroup(data)\"\n [ngTemplateOutlet]=\"groupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: data }\">\n </ng-template>\n <ng-template *ngIf=\"ViewData.isCommand(data)\"\n [ngTemplateOutlet]=\"commandTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: data }\">\n </ng-template>\n\n <mat-divider *ngIf=\"ViewData.isSeparator(data)\" [vertical]=\"true\"></mat-divider>\n </ng-container>\n\n</ng-container>\n",
911
- styles: [":host{align-items:center;display:inline-flex;flex-direction:row}:host:not(.render-root) mat-divider{-ms-grid-row-align:stretch;align-self:stretch;margin:4px 0}:host:not(.render-root)>*+*{margin-left:8px}:host span.flex{flex:1}"]
857
+ selector: 'aup-popup-menu-renderer',
858
+ template: "<mat-menu #menu [xPosition]=\"parent.xPosition\" [yPosition]=\"parent.yPosition\">\n <ng-template matMenuContent>\n <ng-container *ngFor=\"let child of children; trackBy: TrackBy.byIndex\" >\n <button *ngIf=\"isCommand(child)\"\n (click)=\"executeCommand(child)\"\n [disabled]=\"!isEnabled(child)\"\n [matTooltip]=\"getTooltip(child)\"\n mat-menu-item>\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n\n <ng-container *ngIf=\"isPopupMenu(child)\">\n <button mat-menu-item\n matMenuTrigger\n [matMenuTriggerFor]=\"innerPanel.menuComponent\"\n >\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #innerPanel\n [parent]=\"child\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <mat-divider *ngIf=\"isSeparator(child)\"></mat-divider>\n\n </ng-container>\n\n </ng-template>\n</mat-menu>\n"
912
859
  },] }
913
860
  ];
914
- CommandGroupRendererComponent.ctorParameters = () => [];
915
- CommandGroupRendererComponent.propDecorators = {
916
- groupViewDataModel: [{ type: Input }],
917
- groupViewData: [{ type: Input }],
918
- renderRootNode: [{ type: Input }, { type: HostBinding, args: ['class.render-root',] }],
861
+ PopupMenuRendererComponent.ctorParameters = () => [];
862
+ PopupMenuRendererComponent.propDecorators = {
863
+ parent: [{ type: Input }],
864
+ menuComponent: [{ type: ViewChild, args: ['menu', { static: true },] }],
919
865
  commandFired: [{ type: Output }],
920
866
  triggers: [{ type: ViewChildren, args: [MatMenuTrigger,] }]
921
867
  };
922
- __decorate([
923
- TrackExternal(),
924
- __metadata("design:type", ValueModel)
925
- ], CommandGroupRendererComponent.prototype, "groupViewDataModel", void 0);
926
- __decorate([
927
- StoreInValueModel('groupViewDataModel'),
928
- __metadata("design:type", ViewData.GroupData)
929
- ], CommandGroupRendererComponent.prototype, "groupViewData", void 0);
930
-
931
- class CommandGroupComponent extends CommandGroup {
932
- constructor(parent) {
933
- super(parent);
934
- this.parent = parent;
935
- this.xPosition = 'after';
936
- this.yPosition = 'below';
937
- const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
938
- this.faceListModel = chain(this.faceModel).mapToList(v => [v]);
939
- this.parent.registerGroup(this, this.faceListModel);
940
- when(this.faceListModel).changes(() => this.notifyChanged());
941
- }
942
- }
943
- CommandGroupComponent.decorators = [
944
- { type: Component, args: [{
945
- selector: 'aup-command-group',
946
- template: '',
947
- providers: [
948
- { provide: CommandGroup, useExisting: CommandGroupComponent }
949
- ]
950
- },] }
951
- ];
952
- CommandGroupComponent.ctorParameters = () => [
953
- { type: CommandGroup, decorators: [{ type: SkipSelf }] }
954
- ];
955
- CommandGroupComponent.propDecorators = {
956
- faceModel: [{ type: Input }],
957
- face: [{ type: Input }],
958
- xPosition: [{ type: Input }],
959
- yPosition: [{ type: Input }]
960
- };
961
- __decorate([
962
- TrackExternal(),
963
- __metadata("design:type", ValueModel)
964
- ], CommandGroupComponent.prototype, "faceModel", void 0);
965
- __decorate([
966
- StoreInValueModel('faceModel'),
967
- __metadata("design:type", Object)
968
- ], CommandGroupComponent.prototype, "face", void 0);
969
868
 
970
869
  /**
971
870
  * Custom CSS:
@@ -1030,87 +929,12 @@ __decorate([
1030
929
  __metadata("design:type", Array)
1031
930
  ], CommandFaceComponent.prototype, "_rawFaces", void 0);
1032
931
 
1033
- /**
1034
- *
1035
- */
1036
- class CommandComponent extends DisposableComponent {
1037
- constructor(element, parent) {
1038
- super();
1039
- this.element = element;
1040
- this.parent = parent;
1041
- this.CommandFace = CommandFace;
1042
- const { chain, switchOn } = Dsl.disposeWith(this);
1043
- this.faces = chain(this.command.busy).mapToList(busy => {
1044
- return busy ?
1045
- [this.busyFaceModel.value, this.faceModel.value] :
1046
- [this.faceModel.value, this.busyFaceModel.value];
1047
- }, { allowNil: true, dependsOn: [this.faceModel, this.busyFaceModel] })
1048
- .rejectNil();
1049
- this.activeFace = this.faces.first();
1050
- this.buttonStyle = chain(this.activeFace).map(f => CommandFace.getStyleOf(f));
1051
- this.colorModel = chain(this.activeFace).map(f => CommandFace.getColorOf(f));
1052
- if (parent) {
1053
- this.registerDisposable(this.parent.registerCommand(this.command, this.faces));
1054
- }
1055
- }
1056
- isActive(face) {
1057
- return this.activeFace.query().equals(face);
1058
- }
1059
- ngOnInit() {
1060
- }
1061
- ngAfterViewInit() {
1062
- // console.log(this.element.nativeElement)
1063
- }
1064
- }
1065
- CommandComponent.decorators = [
1066
- { type: Component, args: [{
1067
- selector: 'aup-command',
1068
- template: "<ng-container *ngIf=\"!parent\">\n <ng-container [ngSwitch]=\"buttonStyle.value\">\n <ng-container *ngSwitchCase=\"CommandFace.Style.STROKED\">\n <button mat-stroked-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\">\n <aup-command-face class=\"centered\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFace.Style.RAISED\">\n <button mat-raised-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\">\n <aup-command-face class=\"centered\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <button mat-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\">\n <aup-command-face class=\"centered\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n </ng-container>\n</ng-container>\n",
1069
- styles: [":host{display:inline-flex;flex-direction:row;justify-content:stretch}button{flex:1}"]
1070
- },] }
1071
- ];
1072
- CommandComponent.ctorParameters = () => [
1073
- { type: ElementRef },
1074
- { type: CommandGroup, decorators: [{ type: Optional }] }
1075
- ];
1076
- CommandComponent.propDecorators = {
1077
- command: [{ type: Input }],
1078
- faceModel: [{ type: Input }],
1079
- face: [{ type: Input }],
1080
- busyFaceModel: [{ type: Input }],
1081
- busyFace: [{ type: Input }]
1082
- };
1083
- __decorate([
1084
- TrackExternal(),
1085
- __metadata("design:type", Command)
1086
- ], CommandComponent.prototype, "command", void 0);
1087
- __decorate([
1088
- TrackExternal(),
1089
- __metadata("design:type", ValueModel)
1090
- ], CommandComponent.prototype, "faceModel", void 0);
1091
- __decorate([
1092
- StoreInValueModel('faceModel'),
1093
- __metadata("design:type", Object)
1094
- ], CommandComponent.prototype, "face", void 0);
1095
- __decorate([
1096
- TrackExternal(),
1097
- __metadata("design:type", ValueModel)
1098
- ], CommandComponent.prototype, "busyFaceModel", void 0);
1099
- __decorate([
1100
- StoreInValueModel('busyFaceModel'),
1101
- __metadata("design:type", Object)
1102
- ], CommandComponent.prototype, "busyFace", void 0);
1103
-
1104
932
  /**
1105
933
  *
1106
934
  */
1107
935
  class FlexComponent extends DisposableComponent {
1108
- constructor(parent) {
936
+ constructor() {
1109
937
  super();
1110
- this.parent = parent;
1111
- if (parent) {
1112
- parent.registerFlex(this);
1113
- }
1114
938
  }
1115
939
  ngOnInit() {
1116
940
  }
@@ -1121,41 +945,41 @@ FlexComponent.decorators = [
1121
945
  template: ``
1122
946
  },] }
1123
947
  ];
1124
- FlexComponent.ctorParameters = () => [
1125
- { type: CommandGroup }
1126
- ];
948
+ FlexComponent.ctorParameters = () => [];
1127
949
 
1128
- const ɵ0 = CommandGroup.factory;
1129
950
  /**
1130
951
  *
1131
952
  */
1132
953
  class MoreMenuComponent extends AbstractPopupMenuComponent {
1133
- constructor(group) {
1134
- super(group);
954
+ constructor(element, parent) {
955
+ super(element, parent);
1135
956
  this.tooltipModel = new MutableValueModel();
1136
957
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
1137
- group.xPosition = 'before'; // this should be the default unless overridden by the user.
1138
- group.faceListModel = chain(this.tooltipModel).mapToList(tooltip => {
1139
- return [
1140
- {
1141
- icon: () => 'mat:more_vert',
1142
- tooltip() {
1143
- return tooltip;
1144
- }
958
+ this.faceModelDelegate.setDelegate(chain(this.tooltipModel).map(tooltip => {
959
+ return {
960
+ icon: () => 'mat:more_vert',
961
+ tooltip() {
962
+ return tooltip;
1145
963
  }
1146
- ];
1147
- }, { allowNil: true });
964
+ };
965
+ }, { allowNil: true }));
966
+ }
967
+ get face() {
968
+ return this.faceModelDelegate.value;
1148
969
  }
1149
970
  }
1150
971
  MoreMenuComponent.decorators = [
1151
972
  { type: Component, args: [{
1152
973
  selector: 'aup-more-menu',
1153
- template: '<aup-command-group-renderer [renderRootNode]="true" [groupViewDataModel]="group.rootTemplate" (commandFired)="closeMenu()"></aup-command-group-renderer>',
1154
- providers: [{ provide: CommandGroup, useFactory: ɵ0 }]
974
+ template: "<div class=\"content\" style=\"display: none\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"isRoot()\">\n <ng-container *ngIf=\"faceAdapter.text\" [ngSwitch]=\"faceAdapter.style\">\n <ng-container *ngSwitchCase=\"'stroked'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n mat-stroked-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'raised'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n mat-raised-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n mat-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu [parent]=\"this\" (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n </ng-container>\n\n <ng-container *ngIf=\"!faceAdapter.text\">\n <button matMenuTrigger\n mat-icon-button\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n >\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n</ng-container>\n",
975
+ providers: [
976
+ { provide: POPUP_CONTAINER, useExisting: MoreMenuComponent }
977
+ ]
1155
978
  },] }
1156
979
  ];
1157
980
  MoreMenuComponent.ctorParameters = () => [
1158
- { type: CommandGroup }
981
+ { type: ElementRef },
982
+ { type: undefined, decorators: [{ type: Inject, args: [POPUP_CONTAINER,] }, { type: Optional }, { type: SkipSelf }] }
1159
983
  ];
1160
984
  MoreMenuComponent.propDecorators = {
1161
985
  tooltip: [{ type: Input }]
@@ -1165,101 +989,6 @@ __decorate([
1165
989
  __metadata("design:type", String)
1166
990
  ], MoreMenuComponent.prototype, "tooltip", void 0);
1167
991
 
1168
- const ɵ0$1 = CommandGroup.factory;
1169
- /**
1170
- *
1171
- */
1172
- class PopupMenuComponent extends AbstractPopupMenuComponent {
1173
- constructor(group) {
1174
- super(group);
1175
- const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
1176
- group.faceListModel = chain(this.faceModel).mapToList(face => [face]);
1177
- }
1178
- }
1179
- PopupMenuComponent.decorators = [
1180
- { type: Component, args: [{
1181
- selector: 'aup-popup-menu',
1182
- template: '<aup-command-group-renderer [renderRootNode]="true" [groupViewDataModel]="group.rootTemplate" (commandFired)="closeMenu()"></aup-command-group-renderer>',
1183
- providers: [{ provide: CommandGroup, useFactory: ɵ0$1 }]
1184
- },] }
1185
- ];
1186
- PopupMenuComponent.ctorParameters = () => [
1187
- { type: CommandGroup }
1188
- ];
1189
- PopupMenuComponent.propDecorators = {
1190
- faceModel: [{ type: Input }],
1191
- face: [{ type: Input }]
1192
- };
1193
- __decorate([
1194
- TrackExternal(),
1195
- __metadata("design:type", ValueModel)
1196
- ], PopupMenuComponent.prototype, "faceModel", void 0);
1197
- __decorate([
1198
- StoreInValueModel('faceModel'),
1199
- __metadata("design:type", Object)
1200
- ], PopupMenuComponent.prototype, "face", void 0);
1201
-
1202
- /**
1203
- *
1204
- */
1205
- class SeparatorComponent extends DisposableComponent {
1206
- constructor(parent) {
1207
- super();
1208
- this.parent = parent;
1209
- if (parent) {
1210
- parent.registerSeparator(this);
1211
- }
1212
- }
1213
- isVertical() {
1214
- return this === null || this === void 0 ? void 0 : this.parent.isRoot();
1215
- }
1216
- ngOnInit() {
1217
- }
1218
- }
1219
- SeparatorComponent.decorators = [
1220
- { type: Component, args: [{
1221
- selector: 'aup-separator',
1222
- template: `
1223
- <mat-divider [vertical]="isVertical()"></mat-divider>`
1224
- },] }
1225
- ];
1226
- SeparatorComponent.ctorParameters = () => [
1227
- { type: CommandGroup, decorators: [{ type: Optional }] }
1228
- ];
1229
-
1230
- const ɵ0$2 = CommandGroup.factory;
1231
- /**
1232
- *
1233
- */
1234
- class ToolBarComponent extends DisposableComponent {
1235
- constructor(group) {
1236
- super();
1237
- this.group = group;
1238
- this.registerDisposable(group);
1239
- }
1240
- // @Trace()
1241
- ngOnInit() {
1242
- }
1243
- // @Trace()
1244
- ngAfterContentInit() {
1245
- this.group.initialise();
1246
- }
1247
- // @Trace()
1248
- ngAfterViewInit() {
1249
- }
1250
- }
1251
- ToolBarComponent.decorators = [
1252
- { type: Component, args: [{
1253
- selector: 'aup-tool-bar',
1254
- template: '<aup-command-group-renderer [renderRootNode]="false" [groupViewDataModel]="group.rootTemplate"></aup-command-group-renderer>',
1255
- providers: [{ provide: CommandGroup, useFactory: ɵ0$2 }],
1256
- styles: [":host{align-items:center;display:inline-flex;flex-direction:row}:host mat-divider{-ms-grid-row-align:stretch;align-self:stretch;margin:4px 0}:host span.flex{flex:1}:host>*+*{margin-left:8px}"]
1257
- },] }
1258
- ];
1259
- ToolBarComponent.ctorParameters = () => [
1260
- { type: CommandGroup }
1261
- ];
1262
-
1263
992
  class FocusContainerComponent extends DisposableComponent {
1264
993
  constructor(focusManager) {
1265
994
  super();
@@ -2267,7 +1996,7 @@ SelectHeaderCellRendererComponent.ctorParameters = () => [];
2267
1996
 
2268
1997
  const noop = () => {
2269
1998
  };
2270
- const ɵ0$3 = noop;
1999
+ const ɵ0 = noop;
2271
2000
  const CELL_RENDERER_COMPONENT_ROW_CACHE = Symbol("aup-cell-renderer:row-data-cache");
2272
2001
  class ColumnModel {
2273
2002
  constructor(columnId, defaults) {
@@ -3157,14 +2886,12 @@ ComponentsModule.decorators = [
3157
2886
  ToolBarComponent,
3158
2887
  CommandComponent,
3159
2888
  PopupMenuComponent,
3160
- CommandGroupComponent,
3161
2889
  CommandFaceComponent,
3162
2890
  MoreMenuComponent,
3163
2891
  SeparatorComponent,
3164
2892
  FlexComponent,
3165
- CommandGroupMenuRendererComponent,
3166
- CommandGroupRendererComponent,
3167
- AbstractPopupMenuComponent
2893
+ AbstractPopupMenuComponent,
2894
+ PopupMenuRendererComponent
3168
2895
  ],
3169
2896
  imports: [
3170
2897
  CommonModule,
@@ -3211,7 +2938,6 @@ ComponentsModule.decorators = [
3211
2938
  IconComponent,
3212
2939
  SectionHeaderComponent,
3213
2940
  TableRowMenuComponent,
3214
- CommandGroupComponent,
3215
2941
  ToolBarComponent,
3216
2942
  CommandComponent,
3217
2943
  PopupMenuComponent,
@@ -7201,5 +6927,5 @@ function VisitParameterList(options) {
7201
6927
  * Generated bundle index. Do not edit.
7202
6928
  */
7203
6929
 
7204
- export { ACTIVITY_DATA, AUP_PLACE_CONFIG, AbstractInputActivity, AbstractInputComponent, AbstractInteractionContext, AbstractListInputComponent, AbstractPlaceNavigationComponent, AbstractPopStateNavigation, AbstractPopupMenuComponent, AbstractValueInputComponent, Activity, ActivityActionsComponent, ActivityContainerComponent, ActivityOutletComponent, ActivityRef, AddItemInteractionContextComponent, AlertDialogComponent, AngularUiPowerupsModule, AutocompleteInputComponent, Bounds, BusyOverlayComponent, CELL_EDITOR_PORTAL, CELL_RENDERER_PORTAL, CardContainerComponent, CellEditorPortalRef, CellHeaderPortalRef, CellPortalRef, CellRendererPortalRef, CheckboxInputComponent, ColumnModel, ColumnTemplateDirective, CommandComponent, CommandDirective, CommandFace, CommandFaceComponent, CommandGroup, CommandGroupComponent, CommandGroupMenuRendererComponent, CommandGroupRendererComponent, ComponentCellRendererPortalRef, ComponentsModule, ConfirmThenDialogComponent, ConfirmationDialogComponent, ConsolidatedParameterMap, CustomTemplateColumnModel, CustomValueColumnModel, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DefaultCellRendererComponent, DefaultHeaderCellRendererComponent, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EditRowControls, EditSession, EditorControlColumnModel, EmptyStateComponent, EventCleanUpSession, FlexComponent, FocusBinding, FocusBindingDirective, FocusBindingFactory, FocusContainerComponent, FocusableComponent, Formatter, HEADER_CELL_RENDERER_PORTAL, IconComponent, InPlaceInteractionContextComponent, InteractionContextTriggerFor, InteractionModule, InteractionService, InteractionServiceRoutingAdapter, LEFT_RIGHT_PLACE_ANIMATION, ListPlaceNavComponent, ListPropertyColumnModel, ModalInteractionContextFactory, MoreMenuComponent, MultipleSelectInputComponent, Navigating, NavigatingDuringInteraction, NavigationContext, NavigationSession, NoopAuthGuard, NoopComponent, NumberInputComponent, PLACE_AUTH_SERVICE, PORTAL_EDITOR_COMPONENT, PORTAL_RENDERER_COMPONENT, ParameterDefinition, PasswordInputComponent, Place, PlaceComponent, PlaceComponentDeactivationHandler, PlaceDefinition, PlaceGuard, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouter, Point, PopStateDuringInteractionNavigation, PopStateNavigation, PopupInteractionContextComponent, PopupMenuComponent, PropertyColumnModel, ROUTE_PARAMETER_LIST_KEY, Registration, RemoveLastInteractionFromUrlNavigationSession, ResizeAwareComponent, RouteId, ScrollContainerComponent, SectionHeaderComponent, SelectCellRendererComponent, SelectHeaderCellRendererComponent, SelectInputActivity, SelectInputComponent, SelectionColumnModel, SeparatorComponent, SidePlaceNavigationComponent, StringInputActivity, StringInputComponent, SwitchCaseComponent, SwitchCaseDefaultDirective, SwitchCaseOption, SwitchCaseWhenDirective, SynchroniseInteractionContextIdsWithRoute, TabbedPlaceNavigationComponent, TableCellRendererComponent, TableComponent, TableHeaderCellRendererComponent, TableModel, TableRowMenuComponent, TemplateCellRendererPortalRef, TextInputComponent, ToolBarComponent, TrackBy, UrlService, UrlSnapshot, VerticalFocusContainerComponent, ViewData, Visit, VisitParameter, VisitParameterList, VisitSanitiser, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationTypeDetermined, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, leftRightPlaceAnimation, slideDownOnEnterAnimation, slideRightOnEnterAnimation, ɵ0 };
6930
+ export { ACTIVITY_DATA, AUP_PLACE_CONFIG, AbstractInputActivity, AbstractInputComponent, AbstractInteractionContext, AbstractListInputComponent, AbstractPlaceNavigationComponent, AbstractPopStateNavigation, AbstractPopupMenuComponent, AbstractValueInputComponent, Activity, ActivityActionsComponent, ActivityContainerComponent, ActivityOutletComponent, ActivityRef, AddItemInteractionContextComponent, AlertDialogComponent, AngularUiPowerupsModule, AutocompleteInputComponent, Bounds, BusyOverlayComponent, CELL_EDITOR_PORTAL, CELL_RENDERER_PORTAL, CardContainerComponent, CellEditorPortalRef, CellHeaderPortalRef, CellPortalRef, CellRendererPortalRef, CheckboxInputComponent, ColumnModel, ColumnTemplateDirective, CommandComponent, CommandContainer, CommandDirective, CommandFace, CommandFaceComponent, ComponentCellRendererPortalRef, ComponentsModule, ConfirmThenDialogComponent, ConfirmationDialogComponent, ConsolidatedParameterMap, CustomTemplateColumnModel, CustomValueColumnModel, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DefaultCellRendererComponent, DefaultHeaderCellRendererComponent, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EditRowControls, EditSession, EditorControlColumnModel, EmptyStateComponent, EventCleanUpSession, FlexComponent, FocusBinding, FocusBindingDirective, FocusBindingFactory, FocusContainerComponent, FocusableComponent, Formatter, HEADER_CELL_RENDERER_PORTAL, IconComponent, InPlaceInteractionContextComponent, InteractionContextTriggerFor, InteractionModule, InteractionService, InteractionServiceRoutingAdapter, LEFT_RIGHT_PLACE_ANIMATION, ListPlaceNavComponent, ListPropertyColumnModel, ModalInteractionContextFactory, MoreMenuComponent, MultipleSelectInputComponent, Navigating, NavigatingDuringInteraction, NavigationContext, NavigationSession, NoopAuthGuard, NoopComponent, NumberInputComponent, PLACE_AUTH_SERVICE, POPUP_CONTAINER, PORTAL_EDITOR_COMPONENT, PORTAL_RENDERER_COMPONENT, ParameterDefinition, PasswordInputComponent, Place, PlaceComponent, PlaceComponentDeactivationHandler, PlaceDefinition, PlaceGuard, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouter, Point, PopStateDuringInteractionNavigation, PopStateNavigation, PopupAwareComponent, PopupInteractionContextComponent, PopupMenuComponent, PopupMenuRendererComponent, PropertyColumnModel, ROUTE_PARAMETER_LIST_KEY, RemoveLastInteractionFromUrlNavigationSession, ResizeAwareComponent, RouteId, ScrollContainerComponent, SectionHeaderComponent, SelectCellRendererComponent, SelectHeaderCellRendererComponent, SelectInputActivity, SelectInputComponent, SelectionColumnModel, SeparatorComponent, SidePlaceNavigationComponent, StringInputActivity, StringInputComponent, SwitchCaseComponent, SwitchCaseDefaultDirective, SwitchCaseOption, SwitchCaseWhenDirective, SynchroniseInteractionContextIdsWithRoute, TabbedPlaceNavigationComponent, TableCellRendererComponent, TableComponent, TableHeaderCellRendererComponent, TableModel, TableRowMenuComponent, TemplateCellRendererPortalRef, TextInputComponent, ToolBarComponent, TrackBy, UrlService, UrlSnapshot, VerticalFocusContainerComponent, Visit, VisitParameter, VisitParameterList, VisitSanitiser, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationTypeDetermined, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, leftRightPlaceAnimation, slideDownOnEnterAnimation, slideRightOnEnterAnimation, ɵ0 };
7205
6931
  //# sourceMappingURL=coolon-angular-ui-powerups.js.map