@coolon/angular-ui-powerups 3.7.0-alpha.6 → 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 +14 -0
  2. package/bundles/coolon-angular-ui-powerups.umd.js +322 -631
  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 +15 -12
  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 -15
  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 -562
  56. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  57. package/lib/components/commands/command/command.component.d.ts +7 -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 -50
  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 -105
  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,383 +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
- }
684
- initialise() {
685
- this.rebuildTemplates();
686
- }
687
- get rootTemplate() {
688
- return this._rootTemplate.readonly;
689
- }
690
- get registrations() {
691
- return this._registrations.readonly;
692
- }
693
- notifyChanged() {
694
- if (this.parent) {
695
- this.parent.notifyChanged();
696
- }
697
- else {
698
- this.rebuildTemplates();
699
- }
700
- }
701
- notifyChildFaceChanged(is, was) {
702
- this.notifyChanged();
703
- }
704
- rebuildTemplates() {
705
- this._rootTemplate.value = new ViewData.GroupData(this.faceListModel.value, this.xPosition, this.yPosition, this.registrations.value.map(r => r.toTemplate()));
706
611
  }
707
612
  get depth() {
708
- return this.isRoot() ? 0 : this.parent.depth + 1;
613
+ return this.hasParent() ? this.parent.depth + 1 : 0;
709
614
  }
710
- isRoot() {
711
- return false;
615
+ hasParent() {
616
+ return !!this.parent;
712
617
  }
713
- registerCommand(command, faceListModel) {
714
- return this.register(new Registration.CommandRegistration(command, faceListModel));
715
- }
716
- registerGroup(group, faceModel) {
717
- return this.register(new Registration.GroupRegistration(faceModel, group));
718
- }
719
- registerFlex(component) {
720
- return this.register(new Registration.FlexRegistration());
721
- }
722
- registerSeparator(component) {
723
- return this.register(new Registration.SeparatorRegistration());
724
- }
725
- register(registration) {
726
- this._registrations.push(registration);
727
- if (registration instanceof Registration.FaceRegistration) {
728
- const { when } = Dsl.disposeWith(registration);
729
- when(registration.faceListModel).changes((is, was) => {
730
- this.notifyChildFaceChanged(is, was);
731
- }, { asLongAs: this.initialised });
732
- }
733
- registration.onDispose(() => this._registrations.remove(registration));
734
- return registration;
618
+ get orientation() {
619
+ return CommandContainer.Orientation.VERTICAL;
735
620
  }
736
621
  }
737
- (function (CommandGroup) {
738
- class Root extends CommandGroup {
739
- constructor() {
740
- super();
741
- const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
742
- when(this.faceListModel).changes(() => this.notifyChanged());
743
- }
744
- isRoot() {
745
- return true;
746
- }
747
- }
748
- __decorate([
749
- TrackExternal(),
750
- __metadata("design:type", ListModel)
751
- ], Root.prototype, "faceListModel", void 0);
752
- __decorate([
753
- TrackExternal({ defaultValue: 'after' }),
754
- __metadata("design:type", ValueModel)
755
- ], Root.prototype, "xPositionModel", void 0);
756
- __decorate([
757
- StoreInValueModel('xPositionModel'),
758
- __metadata("design:type", String)
759
- ], Root.prototype, "xPosition", void 0);
760
- __decorate([
761
- TrackExternal({ defaultValue: 'below' }),
762
- __metadata("design:type", ValueModel)
763
- ], Root.prototype, "yPositionModel", void 0);
764
- __decorate([
765
- StoreInValueModel('yPositionModel'),
766
- __metadata("design:type", String)
767
- ], Root.prototype, "yPosition", void 0);
768
- CommandGroup.Root = Root;
769
- function factory() {
770
- return new Root();
771
- }
772
- CommandGroup.factory = factory;
773
- })(CommandGroup || (CommandGroup = {}));
774
-
775
- class AbstractPopupMenuComponent extends DisposableComponent {
776
- constructor(group) {
777
- super();
778
- this.group = group;
779
- }
780
- get xPosition() {
781
- return this.group.xPosition;
782
- }
783
- set xPosition(position) {
784
- this.group.xPosition = position;
785
- }
786
- get yPosition() {
787
- 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');
788
640
  }
789
- set yPosition(position) {
790
- this.group.yPosition = position;
641
+ get faceAdapter() {
642
+ return this.faceAdapterModel.value;
791
643
  }
792
- ngAfterContentInit() {
793
- this.group.initialise();
644
+ isRoot() {
645
+ return !this.parent;
794
646
  }
795
- ngOnInit() {
647
+ register(component) {
648
+ this._unorderedChildren.push(component);
649
+ return Disposable.disposableThatRuns(() => {
650
+ this._unorderedChildren.remove(component);
651
+ });
796
652
  }
797
- // @Trace()
798
- closeMenu() {
653
+ onCommandFired() {
799
654
  this.triggers.forEach(trigger => {
800
655
  if (trigger.menuOpen) {
801
656
  trigger.closeMenu();
802
657
  }
803
658
  });
804
659
  }
660
+ getFace() {
661
+ return this.faceAdapter.face;
662
+ }
805
663
  }
806
664
  AbstractPopupMenuComponent.decorators = [
807
665
  { type: Component, args: [{
808
- selector: 'aup-abstract-popup-menu-component',
666
+ selector: 'aup-abstract-popup-menu',
809
667
  template: ''
810
668
  },] }
811
669
  ];
812
670
  AbstractPopupMenuComponent.ctorParameters = () => [
813
- { type: CommandGroup }
671
+ { type: ElementRef },
672
+ { type: undefined, decorators: [{ type: Inject, args: [POPUP_CONTAINER,] }] }
814
673
  ];
815
674
  AbstractPopupMenuComponent.propDecorators = {
816
675
  xPosition: [{ type: Input }],
817
676
  yPosition: [{ type: Input }],
818
677
  triggers: [{ type: ViewChildren, args: [MatMenuTrigger,] }]
819
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);
820
685
 
821
- var TrackBy;
822
- (function (TrackBy) {
823
- TrackBy.byIndex = (data, index) => index;
824
- })(TrackBy || (TrackBy = {}));
825
-
826
- class CommandGroupMenuRendererComponent extends DisposableComponent {
827
- constructor(parent) {
686
+ /**
687
+ *
688
+ */
689
+ class ToolBarComponent extends CommandContainer {
690
+ constructor() {
828
691
  super();
829
- this.parent = parent;
830
- this.groupViewDataModel = new MutableValueModel();
831
- this.commandFired = new EventEmitter();
832
- this.ViewData = ViewData;
833
- this.TrackBy = TrackBy;
834
- const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
835
- this.children = chain(this.groupViewDataModel).pluckList('children');
836
- this.hasMixedIcons = chain(this.groupViewDataModel).pluck('hasMixedIcons');
837
692
  }
838
- executeCommand(data) {
839
- ViewData.getCommand(data).execute().finally(() => {
840
- this.commandFired.emit();
841
- });
693
+ get orientation() {
694
+ return CommandContainer.Orientation.HORIZONTAL;
842
695
  }
843
- isEnabled(data) {
844
- return ViewData.getCommand(data).enabled.value;
696
+ // @Trace()
697
+ ngOnInit() {
845
698
  }
846
699
  // @Trace()
847
- onCommandFired() {
848
- this.commandFired.emit();
849
- this.triggers.forEach(trigger => {
850
- if (trigger.menuOpen) {
851
- trigger.closeMenu();
852
- }
853
- });
700
+ ngAfterContentInit() {
701
+ // this.group.initialise();
702
+ }
703
+ // @Trace()
704
+ ngAfterViewInit() {
854
705
  }
855
706
  }
856
- CommandGroupMenuRendererComponent.decorators = [
707
+ ToolBarComponent.decorators = [
857
708
  { type: Component, args: [{
858
- selector: 'aup-command-group-menu',
859
- 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}"]
860
713
  },] }
861
714
  ];
862
- CommandGroupMenuRendererComponent.ctorParameters = () => [
863
- { 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
+ },] }
864
744
  ];
865
- CommandGroupMenuRendererComponent.propDecorators = {
866
- menuComponent: [{ type: ViewChild, args: ['menu', { static: true },] }],
867
- groupViewData: [{ type: Input }],
868
- commandFired: [{ type: Output }],
869
- 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',] }]
870
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 }]
779
+ };
780
+ __decorate([
781
+ TrackExternal({ delegateTo: 'faceModelDelegate' }),
782
+ __metadata("design:type", ValueModel)
783
+ ], PopupMenuComponent.prototype, "faceModel", void 0);
871
784
  __decorate([
872
- StoreInValueModel('groupViewDataModel'),
873
- __metadata("design:type", ViewData.GroupData)
874
- ], CommandGroupMenuRendererComponent.prototype, "groupViewData", void 0);
785
+ StoreInValueModel('faceModel'),
786
+ __metadata("design:type", Object)
787
+ ], PopupMenuComponent.prototype, "face", void 0);
875
788
 
876
- class CommandGroupRendererComponent extends DisposableComponent {
789
+ class PopupMenuRendererComponent extends DisposableComponent {
877
790
  constructor() {
878
791
  super();
879
- this.renderRootNode = true;
792
+ this._childList = new DelegatingListModel();
880
793
  this.commandFired = new EventEmitter();
881
- this.ViewData = ViewData;
882
794
  this.TrackBy = TrackBy;
883
795
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
884
- this.childViewDataModels = chain(this.groupViewDataModel)
885
- .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;
886
825
  }
887
826
  // @Trace()
888
827
  onCommandFired() {
@@ -893,69 +832,39 @@ class CommandGroupRendererComponent extends DisposableComponent {
893
832
  }
894
833
  });
895
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
+ }
896
854
  }
897
- CommandGroupRendererComponent.decorators = [
855
+ PopupMenuRendererComponent.decorators = [
898
856
  { type: Component, args: [{
899
- selector: 'aup-command-group-renderer',
900
- 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",
901
- 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"
902
859
  },] }
903
860
  ];
904
- CommandGroupRendererComponent.ctorParameters = () => [];
905
- CommandGroupRendererComponent.propDecorators = {
906
- groupViewDataModel: [{ type: Input }],
907
- groupViewData: [{ type: Input }],
908
- 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 },] }],
909
865
  commandFired: [{ type: Output }],
910
866
  triggers: [{ type: ViewChildren, args: [MatMenuTrigger,] }]
911
867
  };
912
- __decorate([
913
- TrackExternal(),
914
- __metadata("design:type", ValueModel)
915
- ], CommandGroupRendererComponent.prototype, "groupViewDataModel", void 0);
916
- __decorate([
917
- StoreInValueModel('groupViewDataModel'),
918
- __metadata("design:type", ViewData.GroupData)
919
- ], CommandGroupRendererComponent.prototype, "groupViewData", void 0);
920
-
921
- class CommandGroupComponent extends CommandGroup {
922
- constructor(parent) {
923
- super(parent);
924
- this.parent = parent;
925
- this.xPosition = 'after';
926
- this.yPosition = 'below';
927
- const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
928
- this.faceListModel = chain(this.faceModel).mapToList(v => [v]);
929
- this.parent.registerGroup(this, this.faceListModel);
930
- when(this.faceListModel).changes(() => this.notifyChanged());
931
- }
932
- }
933
- CommandGroupComponent.decorators = [
934
- { type: Component, args: [{
935
- selector: 'aup-command-group',
936
- template: '',
937
- providers: [
938
- { provide: CommandGroup, useExisting: CommandGroupComponent }
939
- ]
940
- },] }
941
- ];
942
- CommandGroupComponent.ctorParameters = () => [
943
- { type: CommandGroup, decorators: [{ type: SkipSelf }] }
944
- ];
945
- CommandGroupComponent.propDecorators = {
946
- faceModel: [{ type: Input }],
947
- face: [{ type: Input }],
948
- xPosition: [{ type: Input }],
949
- yPosition: [{ type: Input }]
950
- };
951
- __decorate([
952
- TrackExternal(),
953
- __metadata("design:type", ValueModel)
954
- ], CommandGroupComponent.prototype, "faceModel", void 0);
955
- __decorate([
956
- StoreInValueModel('faceModel'),
957
- __metadata("design:type", Object)
958
- ], CommandGroupComponent.prototype, "face", void 0);
959
868
 
960
869
  /**
961
870
  * Custom CSS:
@@ -1020,82 +929,12 @@ __decorate([
1020
929
  __metadata("design:type", Array)
1021
930
  ], CommandFaceComponent.prototype, "_rawFaces", void 0);
1022
931
 
1023
- /**
1024
- *
1025
- */
1026
- class CommandComponent extends DisposableComponent {
1027
- constructor(parent) {
1028
- super();
1029
- this.parent = parent;
1030
- this.CommandFace = CommandFace;
1031
- const { chain, switchOn } = Dsl.disposeWith(this);
1032
- this.faces = chain(this.command.busy).mapToList(busy => {
1033
- return busy ?
1034
- [this.busyFaceModel.value, this.faceModel.value] :
1035
- [this.faceModel.value, this.busyFaceModel.value];
1036
- }, { allowNil: true, dependsOn: [this.faceModel, this.busyFaceModel] })
1037
- .rejectNil();
1038
- this.activeFace = this.faces.first();
1039
- this.buttonStyle = chain(this.activeFace).map(f => CommandFace.getStyleOf(f));
1040
- this.colorModel = chain(this.activeFace).map(f => CommandFace.getColorOf(f));
1041
- if (parent) {
1042
- this.registerDisposable(this.parent.registerCommand(this.command, this.faces));
1043
- }
1044
- }
1045
- isActive(face) {
1046
- return this.activeFace.query().equals(face);
1047
- }
1048
- ngOnInit() {
1049
- }
1050
- }
1051
- CommandComponent.decorators = [
1052
- { type: Component, args: [{
1053
- selector: 'aup-command',
1054
- 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",
1055
- styles: [":host{display:inline-flex;flex-direction:row;justify-content:stretch}button{flex:1}"]
1056
- },] }
1057
- ];
1058
- CommandComponent.ctorParameters = () => [
1059
- { type: CommandGroup, decorators: [{ type: Optional }] }
1060
- ];
1061
- CommandComponent.propDecorators = {
1062
- command: [{ type: Input }],
1063
- faceModel: [{ type: Input }],
1064
- face: [{ type: Input }],
1065
- busyFaceModel: [{ type: Input }],
1066
- busyFace: [{ type: Input }]
1067
- };
1068
- __decorate([
1069
- TrackExternal(),
1070
- __metadata("design:type", Command)
1071
- ], CommandComponent.prototype, "command", void 0);
1072
- __decorate([
1073
- TrackExternal(),
1074
- __metadata("design:type", ValueModel)
1075
- ], CommandComponent.prototype, "faceModel", void 0);
1076
- __decorate([
1077
- StoreInValueModel('faceModel'),
1078
- __metadata("design:type", Object)
1079
- ], CommandComponent.prototype, "face", void 0);
1080
- __decorate([
1081
- TrackExternal(),
1082
- __metadata("design:type", ValueModel)
1083
- ], CommandComponent.prototype, "busyFaceModel", void 0);
1084
- __decorate([
1085
- StoreInValueModel('busyFaceModel'),
1086
- __metadata("design:type", Object)
1087
- ], CommandComponent.prototype, "busyFace", void 0);
1088
-
1089
932
  /**
1090
933
  *
1091
934
  */
1092
935
  class FlexComponent extends DisposableComponent {
1093
- constructor(parent) {
936
+ constructor() {
1094
937
  super();
1095
- this.parent = parent;
1096
- if (parent) {
1097
- parent.registerFlex(this);
1098
- }
1099
938
  }
1100
939
  ngOnInit() {
1101
940
  }
@@ -1106,41 +945,41 @@ FlexComponent.decorators = [
1106
945
  template: ``
1107
946
  },] }
1108
947
  ];
1109
- FlexComponent.ctorParameters = () => [
1110
- { type: CommandGroup }
1111
- ];
948
+ FlexComponent.ctorParameters = () => [];
1112
949
 
1113
- const ɵ0 = CommandGroup.factory;
1114
950
  /**
1115
951
  *
1116
952
  */
1117
953
  class MoreMenuComponent extends AbstractPopupMenuComponent {
1118
- constructor(group) {
1119
- super(group);
954
+ constructor(element, parent) {
955
+ super(element, parent);
1120
956
  this.tooltipModel = new MutableValueModel();
1121
957
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
1122
- group.xPosition = 'before'; // this should be the default unless overridden by the user.
1123
- group.faceListModel = chain(this.tooltipModel).mapToList(tooltip => {
1124
- return [
1125
- {
1126
- icon: () => 'mat:more_vert',
1127
- tooltip() {
1128
- return tooltip;
1129
- }
958
+ this.faceModelDelegate.setDelegate(chain(this.tooltipModel).map(tooltip => {
959
+ return {
960
+ icon: () => 'mat:more_vert',
961
+ tooltip() {
962
+ return tooltip;
1130
963
  }
1131
- ];
1132
- }, { allowNil: true });
964
+ };
965
+ }, { allowNil: true }));
966
+ }
967
+ get face() {
968
+ return this.faceModelDelegate.value;
1133
969
  }
1134
970
  }
1135
971
  MoreMenuComponent.decorators = [
1136
972
  { type: Component, args: [{
1137
973
  selector: 'aup-more-menu',
1138
- template: '<aup-command-group-renderer [renderRootNode]="true" [groupViewDataModel]="group.rootTemplate" (commandFired)="closeMenu()"></aup-command-group-renderer>',
1139
- 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
+ ]
1140
978
  },] }
1141
979
  ];
1142
980
  MoreMenuComponent.ctorParameters = () => [
1143
- { type: CommandGroup }
981
+ { type: ElementRef },
982
+ { type: undefined, decorators: [{ type: Inject, args: [POPUP_CONTAINER,] }, { type: Optional }, { type: SkipSelf }] }
1144
983
  ];
1145
984
  MoreMenuComponent.propDecorators = {
1146
985
  tooltip: [{ type: Input }]
@@ -1150,100 +989,6 @@ __decorate([
1150
989
  __metadata("design:type", String)
1151
990
  ], MoreMenuComponent.prototype, "tooltip", void 0);
1152
991
 
1153
- const ɵ0$1 = CommandGroup.factory;
1154
- /**
1155
- *
1156
- */
1157
- class PopupMenuComponent extends AbstractPopupMenuComponent {
1158
- constructor(group) {
1159
- super(group);
1160
- const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
1161
- group.faceListModel = chain(this.faceModel).mapToList(face => [face]);
1162
- }
1163
- }
1164
- PopupMenuComponent.decorators = [
1165
- { type: Component, args: [{
1166
- selector: 'aup-popup-menu',
1167
- template: '<aup-command-group-renderer [renderRootNode]="true" [groupViewDataModel]="group.rootTemplate" (commandFired)="closeMenu()"></aup-command-group-renderer>',
1168
- providers: [{ provide: CommandGroup, useFactory: ɵ0$1 }]
1169
- },] }
1170
- ];
1171
- PopupMenuComponent.ctorParameters = () => [
1172
- { type: CommandGroup }
1173
- ];
1174
- PopupMenuComponent.propDecorators = {
1175
- faceModel: [{ type: Input }],
1176
- face: [{ type: Input }]
1177
- };
1178
- __decorate([
1179
- TrackExternal(),
1180
- __metadata("design:type", ValueModel)
1181
- ], PopupMenuComponent.prototype, "faceModel", void 0);
1182
- __decorate([
1183
- StoreInValueModel('faceModel'),
1184
- __metadata("design:type", Object)
1185
- ], PopupMenuComponent.prototype, "face", void 0);
1186
-
1187
- /**
1188
- *
1189
- */
1190
- class SeparatorComponent extends DisposableComponent {
1191
- constructor(parent) {
1192
- super();
1193
- this.parent = parent;
1194
- if (parent) {
1195
- parent.registerSeparator(this);
1196
- }
1197
- }
1198
- isVertical() {
1199
- return this === null || this === void 0 ? void 0 : this.parent.isRoot();
1200
- }
1201
- ngOnInit() {
1202
- }
1203
- }
1204
- SeparatorComponent.decorators = [
1205
- { type: Component, args: [{
1206
- selector: 'aup-separator',
1207
- template: `
1208
- <mat-divider [vertical]="isVertical()"></mat-divider>`
1209
- },] }
1210
- ];
1211
- SeparatorComponent.ctorParameters = () => [
1212
- { type: CommandGroup, decorators: [{ type: Optional }] }
1213
- ];
1214
-
1215
- const ɵ0$2 = CommandGroup.factory;
1216
- /**
1217
- *
1218
- */
1219
- class ToolBarComponent extends DisposableComponent {
1220
- constructor(group) {
1221
- super();
1222
- this.group = group;
1223
- }
1224
- // @Trace()
1225
- ngOnInit() {
1226
- }
1227
- // @Trace()
1228
- ngAfterContentInit() {
1229
- this.group.initialise();
1230
- }
1231
- // @Trace()
1232
- ngAfterViewInit() {
1233
- }
1234
- }
1235
- ToolBarComponent.decorators = [
1236
- { type: Component, args: [{
1237
- selector: 'aup-tool-bar',
1238
- template: '<aup-command-group-renderer [renderRootNode]="false" [groupViewDataModel]="group.rootTemplate"></aup-command-group-renderer>',
1239
- providers: [{ provide: CommandGroup, useFactory: ɵ0$2 }],
1240
- 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}"]
1241
- },] }
1242
- ];
1243
- ToolBarComponent.ctorParameters = () => [
1244
- { type: CommandGroup }
1245
- ];
1246
-
1247
992
  class FocusContainerComponent extends DisposableComponent {
1248
993
  constructor(focusManager) {
1249
994
  super();
@@ -2251,7 +1996,7 @@ SelectHeaderCellRendererComponent.ctorParameters = () => [];
2251
1996
 
2252
1997
  const noop = () => {
2253
1998
  };
2254
- const ɵ0$3 = noop;
1999
+ const ɵ0 = noop;
2255
2000
  const CELL_RENDERER_COMPONENT_ROW_CACHE = Symbol("aup-cell-renderer:row-data-cache");
2256
2001
  class ColumnModel {
2257
2002
  constructor(columnId, defaults) {
@@ -3141,14 +2886,12 @@ ComponentsModule.decorators = [
3141
2886
  ToolBarComponent,
3142
2887
  CommandComponent,
3143
2888
  PopupMenuComponent,
3144
- CommandGroupComponent,
3145
2889
  CommandFaceComponent,
3146
2890
  MoreMenuComponent,
3147
2891
  SeparatorComponent,
3148
2892
  FlexComponent,
3149
- CommandGroupMenuRendererComponent,
3150
- CommandGroupRendererComponent,
3151
- AbstractPopupMenuComponent
2893
+ AbstractPopupMenuComponent,
2894
+ PopupMenuRendererComponent
3152
2895
  ],
3153
2896
  imports: [
3154
2897
  CommonModule,
@@ -3195,7 +2938,6 @@ ComponentsModule.decorators = [
3195
2938
  IconComponent,
3196
2939
  SectionHeaderComponent,
3197
2940
  TableRowMenuComponent,
3198
- CommandGroupComponent,
3199
2941
  ToolBarComponent,
3200
2942
  CommandComponent,
3201
2943
  PopupMenuComponent,
@@ -7185,5 +6927,5 @@ function VisitParameterList(options) {
7185
6927
  * Generated bundle index. Do not edit.
7186
6928
  */
7187
6929
 
7188
- 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 };
7189
6931
  //# sourceMappingURL=coolon-angular-ui-powerups.js.map