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

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 +15 -0
  2. package/bundles/coolon-angular-ui-powerups.umd.js +325 -649
  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 +25 -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 +302 -575
  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 +8 -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, ViewEncapsulation, HostBinding, ViewChildren, 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,323 @@ __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;
615
+ hasParent() {
616
+ return !!this.parent;
721
617
  }
722
- registerCommand(command, faceListModel) {
723
- return this.register(new Registration.CommandRegistration(command, faceListModel));
618
+ get orientation() {
619
+ return CommandContainer.Orientation.VERTICAL;
724
620
  }
725
- registerGroup(group, faceModel) {
726
- return this.register(new Registration.GroupRegistration(faceModel, group));
621
+ }
622
+ (function (CommandContainer) {
623
+ CommandContainer.Orientation = Enum({ HORIZONTAL: 'horizontal', VERTICAL: 'vertical' });
624
+ })(CommandContainer || (CommandContainer = {}));
625
+
626
+ /**
627
+ *
628
+ */
629
+ class ToolBarComponent extends CommandContainer {
630
+ constructor() {
631
+ super();
727
632
  }
728
- registerFlex(component) {
729
- return this.register(new Registration.FlexRegistration());
633
+ get orientation() {
634
+ return CommandContainer.Orientation.HORIZONTAL;
730
635
  }
731
- registerSeparator(component) {
732
- return this.register(new Registration.SeparatorRegistration());
636
+ // @Trace()
637
+ ngOnInit() {
733
638
  }
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;
639
+ // @Trace()
640
+ ngAfterContentInit() {
641
+ // this.group.initialise();
744
642
  }
745
- }
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
- }
643
+ // @Trace()
644
+ ngAfterViewInit() {
756
645
  }
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);
646
+ }
647
+ ToolBarComponent.decorators = [
648
+ { type: Component, args: [{
649
+ selector: 'aup-tool-bar',
650
+ template: '<div class="toolbar-content"><ng-content></ng-content></div>',
651
+ encapsulation: ViewEncapsulation.None,
652
+ 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}"]
653
+ },] }
654
+ ];
655
+ ToolBarComponent.ctorParameters = () => [];
656
+
657
+ /**
658
+ *
659
+ */
660
+ class SeparatorComponent extends PopupAwareComponent {
661
+ constructor(element, popupContainer, containerParent) {
662
+ super(element, popupContainer);
663
+ this.containerParent = containerParent;
789
664
  }
790
- get xPosition() {
791
- return this.group.xPosition;
665
+ isHorizontalContainer() {
666
+ return this.containerParent instanceof ToolBarComponent && this.containerParent.orientation === CommandContainer.Orientation.HORIZONTAL;
792
667
  }
793
- set xPosition(position) {
794
- this.group.xPosition = position;
668
+ ngOnInit() {
795
669
  }
796
- get yPosition() {
797
- return this.group.yPosition;
670
+ }
671
+ SeparatorComponent.decorators = [
672
+ { type: Component, args: [{
673
+ selector: 'aup-separator',
674
+ template: `
675
+ <mat-divider [vertical]="!isHorizontalContainer()"></mat-divider>`,
676
+ styles: [`:host {
677
+ }`,
678
+ `:host(.horizontal-container) {
679
+ display: inline-flex;
680
+ flex-direction: row;
681
+ align-items: stretch;
682
+ }`]
683
+ },] }
684
+ ];
685
+ SeparatorComponent.ctorParameters = () => [
686
+ { type: ElementRef },
687
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [POPUP_CONTAINER,] }] },
688
+ { type: CommandContainer, decorators: [{ type: Optional }] }
689
+ ];
690
+ SeparatorComponent.propDecorators = {
691
+ isHorizontalContainer: [{ type: HostBinding, args: ['class.horizontal-container',] }]
692
+ };
693
+
694
+ /**
695
+ *
696
+ */
697
+ class AbstractPopupMenuComponent extends PopupAwareComponent {
698
+ constructor(element, parent) {
699
+ super(element, parent);
700
+ this._unorderedChildren = new MutableListModel();
701
+ this.faceModelDelegate = new DelegatingValueModel();
702
+ this.xPosition = 'after';
703
+ this.yPosition = 'below';
704
+ const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
705
+ // group.faceListModel = chain(this.faceModel).mapToList(face => [face]);
706
+ this.faceAdapterModel = chain(this.faceModelDelegate).map(f => new CommandFace.Adapter(f));
707
+ this.children = chain(this._unorderedChildren).sortBy('componentIndex');
798
708
  }
799
- set yPosition(position) {
800
- this.group.yPosition = position;
709
+ get faceAdapter() {
710
+ return this.faceAdapterModel.value;
801
711
  }
802
- ngAfterContentInit() {
803
- this.group.initialise();
712
+ isRoot() {
713
+ return !this.parent;
804
714
  }
805
- ngOnInit() {
715
+ register(component) {
716
+ this._unorderedChildren.push(component);
717
+ return Disposable.disposableThatRuns(() => {
718
+ this._unorderedChildren.remove(component);
719
+ });
806
720
  }
807
- // @Trace()
808
- closeMenu() {
721
+ onCommandFired() {
809
722
  this.triggers.forEach(trigger => {
810
723
  if (trigger.menuOpen) {
811
724
  trigger.closeMenu();
812
725
  }
813
726
  });
814
727
  }
728
+ getFace() {
729
+ return this.faceAdapter.face;
730
+ }
815
731
  }
816
732
  AbstractPopupMenuComponent.decorators = [
817
733
  { type: Component, args: [{
818
- selector: 'aup-abstract-popup-menu-component',
734
+ selector: 'aup-abstract-popup-menu',
819
735
  template: ''
820
736
  },] }
821
737
  ];
822
738
  AbstractPopupMenuComponent.ctorParameters = () => [
823
- { type: CommandGroup }
739
+ { type: ElementRef },
740
+ { type: undefined, decorators: [{ type: Inject, args: [POPUP_CONTAINER,] }] }
824
741
  ];
825
742
  AbstractPopupMenuComponent.propDecorators = {
826
743
  xPosition: [{ type: Input }],
827
744
  yPosition: [{ type: Input }],
828
745
  triggers: [{ type: ViewChildren, args: [MatMenuTrigger,] }]
829
746
  };
747
+ __decorate([
748
+ Trace(),
749
+ __metadata("design:type", Function),
750
+ __metadata("design:paramtypes", [PopupAwareComponent]),
751
+ __metadata("design:returntype", void 0)
752
+ ], AbstractPopupMenuComponent.prototype, "register", null);
830
753
 
831
- var TrackBy;
832
- (function (TrackBy) {
833
- TrackBy.byIndex = (data, index) => index;
834
- })(TrackBy || (TrackBy = {}));
835
-
836
- class CommandGroupMenuRendererComponent extends DisposableComponent {
837
- constructor(parent) {
838
- super();
839
- this.parent = parent;
840
- this.groupViewDataModel = new MutableValueModel();
841
- this.commandFired = new EventEmitter();
842
- this.ViewData = ViewData;
843
- this.TrackBy = TrackBy;
754
+ /**
755
+ *
756
+ */
757
+ class PopupMenuComponent extends AbstractPopupMenuComponent {
758
+ constructor(element, parent) {
759
+ super(element, parent);
844
760
  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
- }
848
- executeCommand(data) {
849
- ViewData.getCommand(data).execute().finally(() => {
850
- this.commandFired.emit();
851
- });
852
- }
853
- isEnabled(data) {
854
- return ViewData.getCommand(data).enabled.value;
855
- }
856
- // @Trace()
857
- onCommandFired() {
858
- this.commandFired.emit();
859
- this.triggers.forEach(trigger => {
860
- if (trigger.menuOpen) {
861
- trigger.closeMenu();
862
- }
863
- });
761
+ // group.faceListModel = chain(this.faceModel).mapToList(face => [face]);
864
762
  }
865
763
  }
866
- CommandGroupMenuRendererComponent.decorators = [
764
+ PopupMenuComponent.decorators = [
867
765
  { 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"
766
+ selector: 'aup-popup-menu',
767
+ 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",
768
+ providers: [
769
+ { provide: POPUP_CONTAINER, useExisting: PopupMenuComponent }
770
+ ]
870
771
  },] }
871
772
  ];
872
- CommandGroupMenuRendererComponent.ctorParameters = () => [
873
- { type: CommandGroupMenuRendererComponent, decorators: [{ type: Optional }, { type: SkipSelf }] }
773
+ PopupMenuComponent.ctorParameters = () => [
774
+ { type: ElementRef },
775
+ { type: undefined, decorators: [{ type: Inject, args: [POPUP_CONTAINER,] }, { type: Optional }, { type: SkipSelf }] }
874
776
  ];
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,] }]
777
+ PopupMenuComponent.propDecorators = {
778
+ faceModel: [{ type: Input }],
779
+ face: [{ type: Input }]
880
780
  };
881
781
  __decorate([
882
- StoreInValueModel('groupViewDataModel'),
883
- __metadata("design:type", ViewData.GroupData)
884
- ], CommandGroupMenuRendererComponent.prototype, "groupViewData", void 0);
782
+ TrackExternal({ delegateTo: 'faceModelDelegate' }),
783
+ __metadata("design:type", ValueModel)
784
+ ], PopupMenuComponent.prototype, "faceModel", void 0);
785
+ __decorate([
786
+ StoreInValueModel('faceModel'),
787
+ __metadata("design:type", Object)
788
+ ], PopupMenuComponent.prototype, "face", void 0);
885
789
 
886
- class CommandGroupRendererComponent extends DisposableComponent {
790
+ class PopupMenuRendererComponent extends DisposableComponent {
887
791
  constructor() {
888
792
  super();
889
- this.renderRootNode = true;
793
+ this._childList = new DelegatingListModel();
890
794
  this.commandFired = new EventEmitter();
891
- this.ViewData = ViewData;
892
795
  this.TrackBy = TrackBy;
893
796
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
894
- this.childViewDataModels = chain(this.groupViewDataModel)
895
- .pluckList('children');
797
+ // this.children = chain(this.groupViewDataModel).pluckList('children');
798
+ // this.hasMixedIcons = chain(this.groupViewDataModel).pluck('hasMixedIcons');
799
+ const faces = chain(this._childList).map(child => {
800
+ return child.getFace();
801
+ }).rejectNil();
802
+ const icons = faces.select(face => !!CommandFace.getIconOf(face));
803
+ const iconCount = icons.count();
804
+ const totalFaces = faces.count();
805
+ this.hasMixedIcons = valueOf.all(iconCount.isGreaterThan(0), totalFaces.doesNotEqual(iconCount)).areTruthy();
806
+ }
807
+ get parent() {
808
+ return this._parentComponent;
809
+ }
810
+ set parent(comp) {
811
+ this._parentComponent = comp;
812
+ this._childList.setDelegate(comp.children);
813
+ }
814
+ get children() {
815
+ return this.parent.children.value;
816
+ }
817
+ executeCommand(data) {
818
+ if (this.isCommand(data)) {
819
+ data.command.execute().finally(() => {
820
+ this.commandFired.emit();
821
+ });
822
+ }
823
+ }
824
+ isEnabled(data) {
825
+ return true; //ViewData.getCommand(data).enabled.value;
896
826
  }
897
827
  // @Trace()
898
828
  onCommandFired() {
@@ -903,69 +833,39 @@ class CommandGroupRendererComponent extends DisposableComponent {
903
833
  }
904
834
  });
905
835
  }
836
+ isCommand(child) {
837
+ return child instanceof CommandComponent;
838
+ }
839
+ isPopupMenu(child) {
840
+ return child instanceof AbstractPopupMenuComponent;
841
+ }
842
+ isSeparator(child) {
843
+ return child instanceof SeparatorComponent;
844
+ }
845
+ getTooltip(child) {
846
+ return this.isCommand(child) ? CommandFace.getTooltipOf(child.face) : undefined;
847
+ }
848
+ getFaces(child) {
849
+ return this.isCommand(child) ?
850
+ child.faces.value :
851
+ this.isPopupMenu(child) ?
852
+ [child.faceAdapter.face] :
853
+ undefined;
854
+ }
906
855
  }
907
- CommandGroupRendererComponent.decorators = [
856
+ PopupMenuRendererComponent.decorators = [
908
857
  { 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}"]
858
+ selector: 'aup-popup-menu-renderer',
859
+ 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
860
  },] }
913
861
  ];
914
- CommandGroupRendererComponent.ctorParameters = () => [];
915
- CommandGroupRendererComponent.propDecorators = {
916
- groupViewDataModel: [{ type: Input }],
917
- groupViewData: [{ type: Input }],
918
- renderRootNode: [{ type: Input }, { type: HostBinding, args: ['class.render-root',] }],
862
+ PopupMenuRendererComponent.ctorParameters = () => [];
863
+ PopupMenuRendererComponent.propDecorators = {
864
+ parent: [{ type: Input }],
865
+ menuComponent: [{ type: ViewChild, args: ['menu', { static: true },] }],
919
866
  commandFired: [{ type: Output }],
920
867
  triggers: [{ type: ViewChildren, args: [MatMenuTrigger,] }]
921
868
  };
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
869
 
970
870
  /**
971
871
  * Custom CSS:
@@ -1030,87 +930,12 @@ __decorate([
1030
930
  __metadata("design:type", Array)
1031
931
  ], CommandFaceComponent.prototype, "_rawFaces", void 0);
1032
932
 
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
933
  /**
1105
934
  *
1106
935
  */
1107
936
  class FlexComponent extends DisposableComponent {
1108
- constructor(parent) {
937
+ constructor() {
1109
938
  super();
1110
- this.parent = parent;
1111
- if (parent) {
1112
- parent.registerFlex(this);
1113
- }
1114
939
  }
1115
940
  ngOnInit() {
1116
941
  }
@@ -1121,41 +946,41 @@ FlexComponent.decorators = [
1121
946
  template: ``
1122
947
  },] }
1123
948
  ];
1124
- FlexComponent.ctorParameters = () => [
1125
- { type: CommandGroup }
1126
- ];
949
+ FlexComponent.ctorParameters = () => [];
1127
950
 
1128
- const ɵ0 = CommandGroup.factory;
1129
951
  /**
1130
952
  *
1131
953
  */
1132
954
  class MoreMenuComponent extends AbstractPopupMenuComponent {
1133
- constructor(group) {
1134
- super(group);
955
+ constructor(element, parent) {
956
+ super(element, parent);
1135
957
  this.tooltipModel = new MutableValueModel();
1136
958
  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
- }
959
+ this.faceModelDelegate.setDelegate(chain(this.tooltipModel).map(tooltip => {
960
+ return {
961
+ icon: () => 'mat:more_vert',
962
+ tooltip() {
963
+ return tooltip;
1145
964
  }
1146
- ];
1147
- }, { allowNil: true });
965
+ };
966
+ }, { allowNil: true }));
967
+ }
968
+ get face() {
969
+ return this.faceModelDelegate.value;
1148
970
  }
1149
971
  }
1150
972
  MoreMenuComponent.decorators = [
1151
973
  { type: Component, args: [{
1152
974
  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 }]
975
+ 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",
976
+ providers: [
977
+ { provide: POPUP_CONTAINER, useExisting: MoreMenuComponent }
978
+ ]
1155
979
  },] }
1156
980
  ];
1157
981
  MoreMenuComponent.ctorParameters = () => [
1158
- { type: CommandGroup }
982
+ { type: ElementRef },
983
+ { type: undefined, decorators: [{ type: Inject, args: [POPUP_CONTAINER,] }, { type: Optional }, { type: SkipSelf }] }
1159
984
  ];
1160
985
  MoreMenuComponent.propDecorators = {
1161
986
  tooltip: [{ type: Input }]
@@ -1165,101 +990,6 @@ __decorate([
1165
990
  __metadata("design:type", String)
1166
991
  ], MoreMenuComponent.prototype, "tooltip", void 0);
1167
992
 
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
993
  class FocusContainerComponent extends DisposableComponent {
1264
994
  constructor(focusManager) {
1265
995
  super();
@@ -2267,7 +1997,7 @@ SelectHeaderCellRendererComponent.ctorParameters = () => [];
2267
1997
 
2268
1998
  const noop = () => {
2269
1999
  };
2270
- const ɵ0$3 = noop;
2000
+ const ɵ0 = noop;
2271
2001
  const CELL_RENDERER_COMPONENT_ROW_CACHE = Symbol("aup-cell-renderer:row-data-cache");
2272
2002
  class ColumnModel {
2273
2003
  constructor(columnId, defaults) {
@@ -3157,14 +2887,12 @@ ComponentsModule.decorators = [
3157
2887
  ToolBarComponent,
3158
2888
  CommandComponent,
3159
2889
  PopupMenuComponent,
3160
- CommandGroupComponent,
3161
2890
  CommandFaceComponent,
3162
2891
  MoreMenuComponent,
3163
2892
  SeparatorComponent,
3164
2893
  FlexComponent,
3165
- CommandGroupMenuRendererComponent,
3166
- CommandGroupRendererComponent,
3167
- AbstractPopupMenuComponent
2894
+ AbstractPopupMenuComponent,
2895
+ PopupMenuRendererComponent
3168
2896
  ],
3169
2897
  imports: [
3170
2898
  CommonModule,
@@ -3211,7 +2939,6 @@ ComponentsModule.decorators = [
3211
2939
  IconComponent,
3212
2940
  SectionHeaderComponent,
3213
2941
  TableRowMenuComponent,
3214
- CommandGroupComponent,
3215
2942
  ToolBarComponent,
3216
2943
  CommandComponent,
3217
2944
  PopupMenuComponent,
@@ -7201,5 +6928,5 @@ function VisitParameterList(options) {
7201
6928
  * Generated bundle index. Do not edit.
7202
6929
  */
7203
6930
 
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 };
6931
+ 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
6932
  //# sourceMappingURL=coolon-angular-ui-powerups.js.map