@energycap/components 0.27.2 → 0.27.3-ECAPID-377-Nav-Item-Test.20220125-1644

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.
@@ -2653,6 +2653,12 @@
2653
2653
  * Item currently highlighted by keyboard navigation
2654
2654
  */
2655
2655
  this.highlightedItem = null;
2656
+ /**
2657
+ * Tells the menu to maintain the selected/lastSelected item. Turning this off is useful for
2658
+ * action type menus that are displayed on the screen at all times and you do not
2659
+ * want the item to be selected when clicked.
2660
+ */
2661
+ this.maintainSelectedItem = true;
2656
2662
  /**
2657
2663
  * Emitted when `selected` is changed. Emits the referenced object.
2658
2664
  *
@@ -2676,6 +2682,9 @@
2676
2682
  */
2677
2683
  this.lastSelected = null;
2678
2684
  }
2685
+ MenuComponent.prototype.onRouterLinkActivated = function (event) {
2686
+ // this.selectItem(event.event, event.item);
2687
+ };
2679
2688
  /**
2680
2689
  * Sets & displays the interalized template based on
2681
2690
  * the set template.
@@ -2755,8 +2764,14 @@
2755
2764
  else {
2756
2765
  this.onSelection(item);
2757
2766
  }
2758
- this.selected = item;
2759
- this.lastSelected = item;
2767
+ if (this.maintainSelectedItem) {
2768
+ this.selected = item;
2769
+ this.lastSelected = item;
2770
+ }
2771
+ else {
2772
+ this.selected = null;
2773
+ this.lastSelected = null;
2774
+ }
2760
2775
  }
2761
2776
  };
2762
2777
  /**
@@ -2977,7 +2992,7 @@
2977
2992
  MenuComponent.decorators = [
2978
2993
  { type: i0.Component, args: [{
2979
2994
  selector: 'ec-menu',
2980
- template: "<nav>\r\n <div class=\"parent\"\r\n [class.no-data]=\"showNoItems && (!items || items.length === 0)\">\r\n <header id=\"{{id}}_header\"\r\n class=\"item-wrapper\"\r\n [class.is-selected]=\"highlightedItemIndex === -1\"\r\n *ngIf=\"parent\"\r\n (click)=\"back($event)\">\r\n <i class=\"ec-icon icon-angle-down rotate-90 flex-shrink\"></i>\r\n <span class=\"label text-truncate flex-grow\">{{parent?.label}}</span>\r\n </header>\r\n\r\n <ul id=\"{{id}}_list\">\r\n <li *ngFor=\"let item of items; index as i\"\r\n id=\"{{item.id || id + '_item' + i}}\"\r\n class=\"{{item.display || 'item'}} {{item.classList}}\"\r\n [attr.disabled]=\"item.disabled\"\r\n [hidden]=\"item.hidden\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemActiveQueryParams]=\"item.queryParams\"\r\n [ecNavItemActiveUrl]=\"item.url\"\r\n [ecNavItemActiveExactMatch]='item.isActiveExactMatch'\r\n (routerLinkActivated)=\"selectItem($event, item)\"\r\n [ngClass]=\"{'is-highlighted':(selected === item && item?.display !== 'heading') || highlightedItem === item, 'is-link': item.url, 'is-disabled': item.disabled, 'is-readonly': item.readonly, 'is-checked': item.checked}\"\r\n (click)=\"selectItem($event, item)\">\r\n\r\n <a *ngIf=\"item.url && !item.externalLink\"\r\n id=\"{{item.id}}_link\"\r\n class=\"item-wrapper\"\r\n [routerLink]=\"item.url\"\r\n [queryParams]=\"item.queryParams || null\"\r\n target=\"{{item.target || '_self'}}\">\r\n\r\n <ng-container *ngTemplateOutlet=\"internalizedTemplate; context: {$implicit: item}\"></ng-container>\r\n </a>\r\n\r\n <a *ngIf=\"item.url && item.externalLink\"\r\n id=\"{{item.id}}_link\"\r\n class=\"item-wrapper\"\r\n href=\"{{item.url}}\"\r\n target=\"{{item.target || '_self'}}\">\r\n\r\n <ng-container *ngTemplateOutlet=\"internalizedTemplate; context: {$implicit: item}\"></ng-container>\r\n </a>\r\n\r\n <div *ngIf=\"!item.url\"\r\n class=\"item-wrapper\">\r\n <ng-container *ngTemplateOutlet=\"internalizedTemplate; context: {$implicit: item}\"></ng-container>\r\n </div>\r\n </li>\r\n </ul>\r\n\r\n <p class=\"no-data-message\">{{noDataText | translate}}</p>\r\n </div>\r\n\r\n <!-- Child menu (Rendered to the right) -->\r\n <ec-menu *ngIf=\"selected?.items\"\r\n id=\"{{id}}_child\"\r\n class=\"child\"\r\n [parent]=\"selected\"\r\n [items]=\"selected?.items\"\r\n [showNoItems]=\"true\"\r\n [templateType]=\"templateType\"\r\n [enableKeyNav]=\"true\"\r\n (selectedChanged)=\"onSelection($event)\"\r\n (menuClosed)=\"toggleChildMenu(false)\">\r\n </ec-menu>\r\n</nav>\r\n\r\n<!-- 'label' Item Template -->\r\n<ng-template #label\r\n let-item>\r\n <span id=\"{{item.id}}_label\"\r\n class=\"label\">{{item.label}}</span>\r\n\r\n <i class=\"ec-icon icon-angle-down rotate-270\" *ngIf=\"item?.items\"></i>\r\n</ng-template>\r\n\r\n<!-- 'checkAndLabel' Item Template -->\r\n<ng-template #checkAndLabel\r\n let-item>\r\n\r\n <i class=\"ec-icon icon-check ec-icon-sm\" *ngIf=\"item.display !== 'heading'\"></i>\r\n\r\n <i class=\"ec-icon {{item.icon}} ml-2\" *ngIf=\"item.icon\"></i>\r\n\r\n <span id=\"{{item.id}}_label\"\r\n class=\"label\">{{item.label}}</span>\r\n\r\n <i class=\"ec-icon icon-angle-down rotate-270\" *ngIf=\"item?.items\"></i>\r\n</ng-template>\r\n\r\n<!-- 'iconAndLabel' Item Template -->\r\n<ng-template #iconAndLabel\r\n let-item>\r\n\r\n <i class=\"ec-icon {{item.icon}}\"></i>\r\n\r\n <span id=\"{{item.id}}_label\"\r\n class=\"label\">{{item.label}}</span>\r\n\r\n <i class=\"ec-icon icon-angle-down rotate-270\" *ngIf=\"item?.items\"></i>\r\n</ng-template>",
2995
+ template: "<nav>\r\n <div class=\"parent\"\r\n [class.no-data]=\"showNoItems && (!items || items.length === 0)\">\r\n <header id=\"{{id}}_header\"\r\n class=\"item-wrapper\"\r\n [class.is-selected]=\"highlightedItemIndex === -1\"\r\n *ngIf=\"parent\"\r\n (click)=\"back($event)\">\r\n <i class=\"ec-icon icon-angle-down rotate-90 flex-shrink\"></i>\r\n <span class=\"label text-truncate flex-grow\">{{parent?.label}}</span>\r\n </header>\r\n\r\n <ul id=\"{{id}}_list\">\r\n <li *ngFor=\"let item of items; index as i\"\r\n id=\"{{item.id || id + '_item' + i}}\"\r\n class=\"{{item.display || 'item'}} {{item.classList}}\"\r\n [attr.disabled]=\"item.disabled\"\r\n [hidden]=\"item.hidden\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemCurrentItem]=\"item\"\r\n [ecNavItemActiveQueryParams]=\"item.queryParams\"\r\n [ecNavItemActiveUrl]=\"item.url\"\r\n [ecNavItemActiveExactMatch]='item.isActiveExactMatch'\r\n (routerLinkActivated)=\"onRouterLinkActivated($event)\"\r\n [ngClass]=\"{'is-highlighted':(selected === item && item?.display !== 'heading') || highlightedItem === item, 'is-link': item.url, 'is-disabled': item.disabled, 'is-readonly': item.readonly, 'is-checked': item.checked}\"\r\n (click)=\"selectItem($event, item)\">\r\n\r\n <a *ngIf=\"item.url && !item.externalLink\"\r\n id=\"{{item.id}}_link\"\r\n class=\"item-wrapper\"\r\n [routerLink]=\"item.url\"\r\n [queryParams]=\"item.queryParams || null\"\r\n target=\"{{item.target || '_self'}}\">\r\n\r\n <ng-container *ngTemplateOutlet=\"internalizedTemplate; context: {$implicit: item}\"></ng-container>\r\n </a>\r\n\r\n <a *ngIf=\"item.url && item.externalLink\"\r\n id=\"{{item.id}}_link\"\r\n class=\"item-wrapper\"\r\n href=\"{{item.url}}\"\r\n target=\"{{item.target || '_self'}}\">\r\n\r\n <ng-container *ngTemplateOutlet=\"internalizedTemplate; context: {$implicit: item}\"></ng-container>\r\n </a>\r\n\r\n <div *ngIf=\"!item.url\"\r\n class=\"item-wrapper\">\r\n <ng-container *ngTemplateOutlet=\"internalizedTemplate; context: {$implicit: item}\"></ng-container>\r\n </div>\r\n </li>\r\n </ul>\r\n\r\n <p class=\"no-data-message\">{{noDataText | translate}}</p>\r\n </div>\r\n\r\n <!-- Child menu (Rendered to the right) -->\r\n <ec-menu *ngIf=\"selected?.items\"\r\n id=\"{{id}}_child\"\r\n class=\"child\"\r\n [parent]=\"selected\"\r\n [items]=\"selected?.items\"\r\n [showNoItems]=\"true\"\r\n [templateType]=\"templateType\"\r\n [enableKeyNav]=\"true\"\r\n (selectedChanged)=\"onSelection($event)\"\r\n (menuClosed)=\"toggleChildMenu(false)\">\r\n </ec-menu>\r\n</nav>\r\n\r\n<!-- 'label' Item Template -->\r\n<ng-template #label\r\n let-item>\r\n <span id=\"{{item.id}}_label\"\r\n class=\"label\">{{item.label}}</span>\r\n\r\n <i class=\"ec-icon icon-angle-down rotate-270\" *ngIf=\"item?.items\"></i>\r\n</ng-template>\r\n\r\n<!-- 'checkAndLabel' Item Template -->\r\n<ng-template #checkAndLabel\r\n let-item>\r\n\r\n <i class=\"ec-icon icon-check ec-icon-sm\" *ngIf=\"item.display !== 'heading'\"></i>\r\n\r\n <i class=\"ec-icon {{item.icon}} ml-2\" *ngIf=\"item.icon\"></i>\r\n\r\n <span id=\"{{item.id}}_label\"\r\n class=\"label\">{{item.label}}</span>\r\n\r\n <i class=\"ec-icon icon-angle-down rotate-270\" *ngIf=\"item?.items\"></i>\r\n</ng-template>\r\n\r\n<!-- 'iconAndLabel' Item Template -->\r\n<ng-template #iconAndLabel\r\n let-item>\r\n\r\n <i class=\"ec-icon {{item.icon}}\"></i>\r\n\r\n <span id=\"{{item.id}}_label\"\r\n class=\"label\">{{item.label}}</span>\r\n\r\n <i class=\"ec-icon icon-angle-down rotate-270\" *ngIf=\"item?.items\"></i>\r\n</ng-template>",
2981
2996
  styles: ["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{background-color:#fff;display:block;font-size:.875rem;font-weight:400}:host.open>nav>.child,:host.open>nav>.parent{height:100%;left:0;position:absolute;right:0;top:0;transition:transform .25s ease}:host.open>nav>.parent{transform:translateX(0)}:host.open>nav>.child{transform:translateX(100%)}:host.open-active>nav>.parent{transform:translateX(-100%)}:host.open-active>nav>.child{transform:translateX(0)}:host(.bg-transparent){background-color:transparent}:host-context(.is-always-open){height:100%}:host-context(.is-always-open) .item-wrapper{padding-left:1rem;padding-right:1rem}nav{height:100%;overflow:hidden}.parent,nav{display:flex;position:relative}.parent{flex:auto;flex-direction:column;max-width:100%}.parent>header{background-color:#dee2e4;color:rgba(26,26,35,.66);cursor:pointer}.parent>header.is-highlighted,.parent>header.is-selected{background-color:#d9edf2}.parent>header:hover{background-color:#bfe0e9}.parent.no-data ul{display:none}.parent.no-data .no-data-message{display:block}ul{flex:auto;height:100%;list-style:none;margin:0;overflow-y:auto;padding:0}ul li{cursor:pointer}ul li.is-highlighted,ul li.is-selected{background-color:#d9edf2}ul li:hover{background-color:#bfe0e9}ul li:focus{background-color:rgba(26,26,35,.38);outline:none}ul li:active{background-color:#0084a9;color:#fff}ul li.is-disabled,ul li:disabled{color:rgba(26,26,35,.66);cursor:default;opacity:.65}ul li a{border-bottom:0;color:inherit;text-decoration:none}ul li.heading{background-color:#dee2e4;color:rgba(26,26,35,.66)}ul li.heading .item-wrapper{cursor:default}ul li.divider{border-bottom:1px solid #d2d7d9}ul li.is-disabled,ul li.is-readonly{background-color:transparent;color:inherit;cursor:default}ul li.is-checked .icon-check{opacity:1}.item-wrapper{color:inherit;cursor:inherit;display:flex;line-height:1.25rem;min-height:1.75rem;padding:.25rem .5rem}.item-wrapper .label{margin-right:auto}.item-wrapper .label+.ec-icon{margin-left:.5rem}.item-wrapper .ec-icon{flex:none;margin-top:.125rem}.item-wrapper .ec-icon+.label{margin-left:.5rem}.item-wrapper .ec-icon-sm{margin-top:.25rem}.item-wrapper .icon-check{opacity:0}.no-data-message{color:rgba(26,26,35,.38);display:none;font-size:1rem;margin-bottom:0;padding:1rem;text-align:center}:host-context(ec-tree) ul{overflow-x:hidden}:host-context(ec-tree) li{white-space:nowrap}:host-context(ec-tree) li.is-highlighted,:host-context(ec-tree) li.is-selected{font-weight:700}:host-context(ec-tree) li.is-highlighted:not(:hover),:host-context(ec-tree) li.is-selected:not(:hover){background-color:transparent}"]
2982
2997
  },] }
2983
2998
  ];
@@ -3000,6 +3015,7 @@
3000
3015
  noDataText: [{ type: i0.Input }],
3001
3016
  enableKeyNav: [{ type: i0.Input }],
3002
3017
  highlightedItem: [{ type: i0.Input }],
3018
+ maintainSelectedItem: [{ type: i0.Input }],
3003
3019
  selectedChanged: [{ type: i0.Output }],
3004
3020
  menuClosed: [{ type: i0.Output }],
3005
3021
  labelTemplate: [{ type: i0.ViewChild, args: ['label', { static: true },] }],
@@ -3806,7 +3822,7 @@
3806
3822
  if (this._url && this.classValue) {
3807
3823
  if (this.router.isActive(this._url, this._exact)) {
3808
3824
  this.renderer.addClass(this.el.nativeElement, this.classValue);
3809
- this.routerLinkActivated.emit(new Event('routerLinkActivated'));
3825
+ this.routerLinkActivated.emit({ event: new Event('routerLinkActivated'), item: this.currentItem });
3810
3826
  }
3811
3827
  else {
3812
3828
  this.renderer.removeClass(this.el.nativeElement, this.classValue);
@@ -3830,6 +3846,7 @@
3830
3846
  classValue: [{ type: i0.Input, args: ['ecNavItemActive',] }],
3831
3847
  exact: [{ type: i0.Input, args: ['ecNavItemActiveExactMatch',] }],
3832
3848
  queryParams: [{ type: i0.Input, args: ['ecNavItemActiveQueryParams',] }],
3849
+ currentItem: [{ type: i0.Input, args: ['ecNavItemCurrentItem',] }],
3833
3850
  url: [{ type: i0.Input, args: ['ecNavItemActiveUrl',] }],
3834
3851
  routerLinkActivated: [{ type: i0.Output }]
3835
3852
  };
@@ -5846,121 +5863,6 @@
5846
5863
  maxLength: [{ type: i0.Input }]
5847
5864
  };
5848
5865
 
5849
- /** Exposes the markup and styles that represent the spinner. No inputs or outputs defined because it is just a visual component*/
5850
- var SpinnerComponent = /** @class */ (function () {
5851
- function SpinnerComponent() {
5852
- }
5853
- return SpinnerComponent;
5854
- }());
5855
- SpinnerComponent.decorators = [
5856
- { type: i0.Component, args: [{
5857
- selector: 'ec-spinner',
5858
- template: "<div class=\"spinner\">\r\n <span class=\"spinner-dot\"></span>\r\n <span class=\"spinner-dot\"></span>\r\n <span class=\"spinner-dot\"></span>\r\n <span class=\"spinner-dot\"></span>\r\n</div>",
5859
- styles: ["@-webkit-keyframes sk-bouncedelay{0%,80%,to{opacity:0}40%{opacity:1}}@keyframes sk-bouncedelay{0%,80%,to{opacity:0}40%{opacity:1}}.spinner{display:flex}.spinner-dot{-webkit-animation:sk-bouncedelay 1.7s ease-in-out infinite both;animation:sk-bouncedelay 1.7s ease-in-out infinite both;background-color:#0084a9;height:.75rem;margin-right:.25rem;width:.75rem}.spinner-dot:first-child{-webkit-animation-delay:-.6s;animation-delay:-.6s}.spinner-dot:nth-child(2){-webkit-animation-delay:-.4s;animation-delay:-.4s}.spinner-dot:nth-child(3){-webkit-animation-delay:-.2s;animation-delay:-.2s}:host(.spinner-small) .spinner-dot{-webkit-animation:sk-bouncedelay 1.7s ease-in-out infinite both;animation:sk-bouncedelay 1.7s ease-in-out infinite both;background-color:#0084a9;height:.5rem;margin-right:.1666666667rem;width:.5rem}:host(.spinner-small) .spinner-dot:first-child{-webkit-animation-delay:-.6s;animation-delay:-.6s}:host(.spinner-small) .spinner-dot:nth-child(2){-webkit-animation-delay:-.4s;animation-delay:-.4s}:host(.spinner-small) .spinner-dot:nth-child(3){-webkit-animation-delay:-.2s;animation-delay:-.2s}"]
5860
- },] }
5861
- ];
5862
-
5863
- var SplashService = /** @class */ (function () {
5864
- function SplashService() {
5865
- /** Used to interact with the splash component
5866
- * The splash component will subscribe to this and any components
5867
- * that wish to bring the splash visible can use this to communicate
5868
- * with the splash component.
5869
- */
5870
- this._splashVisibility = new rxjs.Subject();
5871
- this.splashVisibility = this._splashVisibility;
5872
- }
5873
- /**
5874
- * Shows the splash screen
5875
- */
5876
- SplashService.prototype.showSplash = function () {
5877
- this._splashVisibility.next(true);
5878
- };
5879
- /**
5880
- * Hides the splash screen
5881
- */
5882
- SplashService.prototype.hideSplash = function () {
5883
- this._splashVisibility.next(false);
5884
- };
5885
- return SplashService;
5886
- }());
5887
- SplashService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SplashService_Factory() { return new SplashService(); }, token: SplashService, providedIn: "root" });
5888
- SplashService.decorators = [
5889
- { type: i0.Injectable, args: [{
5890
- providedIn: 'root'
5891
- },] }
5892
- ];
5893
- SplashService.ctorParameters = function () { return []; };
5894
-
5895
- var SplashComponent = /** @class */ (function () {
5896
- function SplashComponent(splashService) {
5897
- this.splashService = splashService;
5898
- /** Sets the visibility of the splash display */
5899
- this.isVisible = true;
5900
- this.stopAnimation = false;
5901
- /** Emits when the service is destroyed */
5902
- this.destroyed = new rxjs.Subject();
5903
- }
5904
- SplashComponent.prototype.ngOnInit = function () {
5905
- var _this = this;
5906
- this.splashService.splashVisibility.pipe(operators.takeUntil(this.destroyed), operators.tap(function (value) { return __awaiter(_this, void 0, void 0, function () {
5907
- var _this = this;
5908
- return __generator(this, function (_a) {
5909
- if (value) {
5910
- this.stopAnimation = false;
5911
- }
5912
- else {
5913
- // Prevent animation from continuing after splash screen is hidden
5914
- // but if we hide it then show while the timer is running, don't stop the animation after all
5915
- rxjs.timer(1000).pipe(operators.takeUntil(this.splashService.splashVisibility)).subscribe(function () {
5916
- _this.stopAnimation = true;
5917
- });
5918
- }
5919
- return [2 /*return*/];
5920
- });
5921
- }); })).subscribe(function (showSplash) {
5922
- _this.isVisible = showSplash;
5923
- });
5924
- };
5925
- SplashComponent.prototype.ngOnDestroy = function () {
5926
- this.destroyed.next();
5927
- this.destroyed.unsubscribe();
5928
- };
5929
- return SplashComponent;
5930
- }());
5931
- SplashComponent.decorators = [
5932
- { type: i0.Component, args: [{
5933
- selector: 'ec-splash',
5934
- template: "<div class=\"app-splash\"\r\n [class.app-loaded]=\"!isVisible\">\r\n\r\n <!-- This is the raw icon.svg file so we can animate it -->\r\n <svg [class.d-none]=\"stopAnimation\" \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"50\"\r\n height=\"50\"\r\n viewBox=\"0 0 50 50\">\r\n <g>\r\n <g>\r\n <path fill=\"#A0AD39\"\r\n fill-rule=\"nonzero\"\r\n d=\"M34.93,32.25 L34.93,37.25 L15.21,37.25 L15.21,32.25 L34.93,32.25 Z M28.45,22.48 L28.45,27.48 L15.21,27.48 L15.21,22.48 L28.45,22.48 Z M34.93,12.71 L34.93,17.71 L15.21,17.71 L15.21,12.71 L34.93,12.71 Z\" />\r\n <path fill=\"#A0AD39\"\r\n d=\"M24.99,5 C31.1,5 36.56,7.75 40.23,12.07 L44.33,9.16 C39.75,3.57 32.78,0 24.99,0 C17.2,0 10.23,3.57 5.65,9.16 L9.75,12.07 C13.42,7.75 18.88,5 24.99,5 Z\" />\r\n </g>\r\n <path fill=\"#17303B\"\r\n d=\"M40.24,37.93 C36.57,42.25 31.11,45 25,45 C18.89,45 13.43,42.25 9.76,37.93 L9.78,37.92 C6.82,34.43 5,29.94 5,25 C5,21.86 5.74,18.91 7.03,16.26 L2.89,13.33 C1.05,16.81 0,20.78 0,25 C0,31.01 2.13,36.52 5.66,40.83 L5.66,40.83 C10.24,46.42 17.21,49.99 25,49.99 C32.79,49.99 39.76,46.42 44.34,40.83 L40.24,37.93 Z\" />\r\n </g>\r\n\r\n </svg>\r\n</div>"
5935
- },] }
5936
- ];
5937
- SplashComponent.ctorParameters = function () { return [
5938
- { type: SplashService }
5939
- ]; };
5940
-
5941
- var ResizableColumnComponent = /** @class */ (function () {
5942
- function ResizableColumnComponent(el) {
5943
- this.el = el;
5944
- this.onResize = new i0.EventEmitter();
5945
- }
5946
- ResizableColumnComponent.prototype.emitWidth = function (width) {
5947
- this.onResize.emit(width);
5948
- };
5949
- return ResizableColumnComponent;
5950
- }());
5951
- ResizableColumnComponent.decorators = [
5952
- { type: i0.Component, args: [{
5953
- selector: 'th.is-resizable',
5954
- template: "<div class=\"content-wrapper\">\r\n <div class=\"content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n<div class=\"handle\"></div>\r\n"
5955
- },] }
5956
- ];
5957
- ResizableColumnComponent.ctorParameters = function () { return [
5958
- { type: i0.ElementRef }
5959
- ]; };
5960
- ResizableColumnComponent.propDecorators = {
5961
- onResize: [{ type: i0.Output }]
5962
- };
5963
-
5964
5866
  var CacheService = /** @class */ (function () {
5965
5867
  function CacheService() {
5966
5868
  this.localStorageAvailable = false;
@@ -6186,6 +6088,174 @@
6186
6088
  id: [{ type: i0.Input }]
6187
6089
  };
6188
6090
 
6091
+ /**
6092
+ * Make an element resizable horizontally by wrapping it in the ResizableComponent.
6093
+ * Default widths / limits are applied but you can optionally override them
6094
+ * with min-width and max-width with style attributes
6095
+ * @example
6096
+ * <ec-resizable [style.width.px]="200"
6097
+ * [style.min-width.px]="75"
6098
+ * [style.max-width.px]="300">
6099
+ * <div> ... </div>
6100
+ * </ec-resizable>
6101
+ */
6102
+ var ResizableComponent = /** @class */ (function (_super) {
6103
+ __extends(ResizableComponent, _super);
6104
+ function ResizableComponent(el, renderer, cacheService, document) {
6105
+ var _this = _super.call(this, renderer, cacheService, document) || this;
6106
+ _this.el = el;
6107
+ //default rememberWidth to true for standard resizable, resizable tables default to false
6108
+ _this.rememberWidth = true;
6109
+ return _this;
6110
+ }
6111
+ /** Store the host element to reference later */
6112
+ ResizableComponent.prototype.ngOnInit = function () {
6113
+ this.currentEl = this.el.nativeElement;
6114
+ };
6115
+ /**
6116
+ * Set the new width of the element and emit the new width to subscribers
6117
+ */
6118
+ ResizableComponent.prototype.setWidth = function (width) {
6119
+ this.renderer.setStyle(this.currentEl, 'width', width + 'px');
6120
+ this.saveWidths([width]);
6121
+ };
6122
+ /**Called from the base class when cached widths are available and restoring
6123
+ * width is enabled. We only care about the first one because we only have one width
6124
+ */
6125
+ ResizableComponent.prototype.restoreWidths = function (widths) {
6126
+ this.setWidth(widths[0]);
6127
+ };
6128
+ return ResizableComponent;
6129
+ }(ResizableBase));
6130
+ ResizableComponent.decorators = [
6131
+ { type: i0.Component, args: [{
6132
+ selector: 'ec-resizable',
6133
+ template: "<div class=\"content\">\n <ng-content></ng-content>\n </div>\n <div class=\"handle\" (mousedown)=\"startDrag($event)\"></div>",
6134
+ styles: ["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{border-right:1px solid #d2d7d9;display:flex;max-width:480px;min-width:100px;position:relative;width:240px}:host.is-active{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}:host.is-active .handle:after{background-color:#0084a9}.handle{height:100%;padding:0 5px;position:absolute;right:-7px;top:0;width:13px;z-index:30}.handle:after{content:\"\";display:block;height:100%;position:relative;transition:background-color .3s ease}.handle:hover{cursor:col-resize}.handle:hover:after{background-color:#0084a9}.content{display:flex;overflow:hidden}.content,.content ::ng-deep>*{flex:1 1;min-height:0;min-width:0}"]
6135
+ },] }
6136
+ ];
6137
+ ResizableComponent.ctorParameters = function () { return [
6138
+ { type: i0.ElementRef },
6139
+ { type: i0.Renderer2 },
6140
+ { type: CacheService },
6141
+ { type: Document, decorators: [{ type: i0.Inject, args: [common.DOCUMENT,] }] }
6142
+ ]; };
6143
+
6144
+ /** Exposes the markup and styles that represent the spinner. No inputs or outputs defined because it is just a visual component*/
6145
+ var SpinnerComponent = /** @class */ (function () {
6146
+ function SpinnerComponent() {
6147
+ }
6148
+ return SpinnerComponent;
6149
+ }());
6150
+ SpinnerComponent.decorators = [
6151
+ { type: i0.Component, args: [{
6152
+ selector: 'ec-spinner',
6153
+ template: "<div class=\"spinner\">\r\n <span class=\"spinner-dot\"></span>\r\n <span class=\"spinner-dot\"></span>\r\n <span class=\"spinner-dot\"></span>\r\n <span class=\"spinner-dot\"></span>\r\n</div>",
6154
+ styles: ["@-webkit-keyframes sk-bouncedelay{0%,80%,to{opacity:0}40%{opacity:1}}@keyframes sk-bouncedelay{0%,80%,to{opacity:0}40%{opacity:1}}.spinner{display:flex}.spinner-dot{-webkit-animation:sk-bouncedelay 1.7s ease-in-out infinite both;animation:sk-bouncedelay 1.7s ease-in-out infinite both;background-color:#0084a9;height:.75rem;margin-right:.25rem;width:.75rem}.spinner-dot:first-child{-webkit-animation-delay:-.6s;animation-delay:-.6s}.spinner-dot:nth-child(2){-webkit-animation-delay:-.4s;animation-delay:-.4s}.spinner-dot:nth-child(3){-webkit-animation-delay:-.2s;animation-delay:-.2s}:host(.spinner-small) .spinner-dot{-webkit-animation:sk-bouncedelay 1.7s ease-in-out infinite both;animation:sk-bouncedelay 1.7s ease-in-out infinite both;background-color:#0084a9;height:.5rem;margin-right:.1666666667rem;width:.5rem}:host(.spinner-small) .spinner-dot:first-child{-webkit-animation-delay:-.6s;animation-delay:-.6s}:host(.spinner-small) .spinner-dot:nth-child(2){-webkit-animation-delay:-.4s;animation-delay:-.4s}:host(.spinner-small) .spinner-dot:nth-child(3){-webkit-animation-delay:-.2s;animation-delay:-.2s}"]
6155
+ },] }
6156
+ ];
6157
+
6158
+ var SplashService = /** @class */ (function () {
6159
+ function SplashService() {
6160
+ /** Used to interact with the splash component
6161
+ * The splash component will subscribe to this and any components
6162
+ * that wish to bring the splash visible can use this to communicate
6163
+ * with the splash component.
6164
+ */
6165
+ this._splashVisibility = new rxjs.Subject();
6166
+ this.splashVisibility = this._splashVisibility;
6167
+ }
6168
+ /**
6169
+ * Shows the splash screen
6170
+ */
6171
+ SplashService.prototype.showSplash = function () {
6172
+ this._splashVisibility.next(true);
6173
+ };
6174
+ /**
6175
+ * Hides the splash screen
6176
+ */
6177
+ SplashService.prototype.hideSplash = function () {
6178
+ this._splashVisibility.next(false);
6179
+ };
6180
+ return SplashService;
6181
+ }());
6182
+ SplashService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SplashService_Factory() { return new SplashService(); }, token: SplashService, providedIn: "root" });
6183
+ SplashService.decorators = [
6184
+ { type: i0.Injectable, args: [{
6185
+ providedIn: 'root'
6186
+ },] }
6187
+ ];
6188
+ SplashService.ctorParameters = function () { return []; };
6189
+
6190
+ var SplashComponent = /** @class */ (function () {
6191
+ function SplashComponent(splashService) {
6192
+ this.splashService = splashService;
6193
+ /** Sets the visibility of the splash display */
6194
+ this.isVisible = true;
6195
+ this.stopAnimation = false;
6196
+ /** Emits when the service is destroyed */
6197
+ this.destroyed = new rxjs.Subject();
6198
+ }
6199
+ SplashComponent.prototype.ngOnInit = function () {
6200
+ var _this = this;
6201
+ this.splashService.splashVisibility.pipe(operators.takeUntil(this.destroyed), operators.tap(function (value) { return __awaiter(_this, void 0, void 0, function () {
6202
+ var _this = this;
6203
+ return __generator(this, function (_a) {
6204
+ if (value) {
6205
+ this.stopAnimation = false;
6206
+ }
6207
+ else {
6208
+ // Prevent animation from continuing after splash screen is hidden
6209
+ // but if we hide it then show while the timer is running, don't stop the animation after all
6210
+ rxjs.timer(1000).pipe(operators.takeUntil(this.splashService.splashVisibility)).subscribe(function () {
6211
+ _this.stopAnimation = true;
6212
+ });
6213
+ }
6214
+ return [2 /*return*/];
6215
+ });
6216
+ }); })).subscribe(function (showSplash) {
6217
+ _this.isVisible = showSplash;
6218
+ });
6219
+ };
6220
+ SplashComponent.prototype.ngOnDestroy = function () {
6221
+ this.destroyed.next();
6222
+ this.destroyed.unsubscribe();
6223
+ };
6224
+ return SplashComponent;
6225
+ }());
6226
+ SplashComponent.decorators = [
6227
+ { type: i0.Component, args: [{
6228
+ selector: 'ec-splash',
6229
+ template: "<div class=\"app-splash\"\r\n [class.app-loaded]=\"!isVisible\">\r\n\r\n <!-- This is the raw icon.svg file so we can animate it -->\r\n <svg [class.d-none]=\"stopAnimation\" \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"50\"\r\n height=\"50\"\r\n viewBox=\"0 0 50 50\">\r\n <g>\r\n <g>\r\n <path fill=\"#A0AD39\"\r\n fill-rule=\"nonzero\"\r\n d=\"M34.93,32.25 L34.93,37.25 L15.21,37.25 L15.21,32.25 L34.93,32.25 Z M28.45,22.48 L28.45,27.48 L15.21,27.48 L15.21,22.48 L28.45,22.48 Z M34.93,12.71 L34.93,17.71 L15.21,17.71 L15.21,12.71 L34.93,12.71 Z\" />\r\n <path fill=\"#A0AD39\"\r\n d=\"M24.99,5 C31.1,5 36.56,7.75 40.23,12.07 L44.33,9.16 C39.75,3.57 32.78,0 24.99,0 C17.2,0 10.23,3.57 5.65,9.16 L9.75,12.07 C13.42,7.75 18.88,5 24.99,5 Z\" />\r\n </g>\r\n <path fill=\"#17303B\"\r\n d=\"M40.24,37.93 C36.57,42.25 31.11,45 25,45 C18.89,45 13.43,42.25 9.76,37.93 L9.78,37.92 C6.82,34.43 5,29.94 5,25 C5,21.86 5.74,18.91 7.03,16.26 L2.89,13.33 C1.05,16.81 0,20.78 0,25 C0,31.01 2.13,36.52 5.66,40.83 L5.66,40.83 C10.24,46.42 17.21,49.99 25,49.99 C32.79,49.99 39.76,46.42 44.34,40.83 L40.24,37.93 Z\" />\r\n </g>\r\n\r\n </svg>\r\n</div>"
6230
+ },] }
6231
+ ];
6232
+ SplashComponent.ctorParameters = function () { return [
6233
+ { type: SplashService }
6234
+ ]; };
6235
+
6236
+ var ResizableColumnComponent = /** @class */ (function () {
6237
+ function ResizableColumnComponent(el) {
6238
+ this.el = el;
6239
+ this.onResize = new i0.EventEmitter();
6240
+ }
6241
+ ResizableColumnComponent.prototype.emitWidth = function (width) {
6242
+ this.onResize.emit(width);
6243
+ };
6244
+ return ResizableColumnComponent;
6245
+ }());
6246
+ ResizableColumnComponent.decorators = [
6247
+ { type: i0.Component, args: [{
6248
+ selector: 'th.is-resizable',
6249
+ template: "<div class=\"content-wrapper\">\r\n <div class=\"content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n<div class=\"handle\"></div>\r\n"
6250
+ },] }
6251
+ ];
6252
+ ResizableColumnComponent.ctorParameters = function () { return [
6253
+ { type: i0.ElementRef }
6254
+ ]; };
6255
+ ResizableColumnComponent.propDecorators = {
6256
+ onResize: [{ type: i0.Output }]
6257
+ };
6258
+
6189
6259
  /**
6190
6260
  * Add the ability to resize columns to a standard HTML table.
6191
6261
  * Specify a column as resizable by adding the .is-resizable class to a <th>.
@@ -8093,6 +8163,34 @@
8093
8163
  width: [{ type: i0.Input, args: ['ecIfViewportWidth',] }]
8094
8164
  };
8095
8165
 
8166
+ var HighlightTextPipe = /** @class */ (function () {
8167
+ function HighlightTextPipe() {
8168
+ }
8169
+ HighlightTextPipe.prototype.transform = function (value, searchText) {
8170
+ var transformedValue = '';
8171
+ if (value && searchText) {
8172
+ var regex = new RegExp(this.escapeRegex(searchText), 'gi');
8173
+ transformedValue = value.replace(regex, this.strongWrap);
8174
+ }
8175
+ else {
8176
+ transformedValue = value;
8177
+ }
8178
+ return transformedValue;
8179
+ };
8180
+ HighlightTextPipe.prototype.strongWrap = function (match) {
8181
+ return "<strong class=\"text-highlight\">" + match + "</strong>";
8182
+ };
8183
+ HighlightTextPipe.prototype.escapeRegex = function (value) {
8184
+ return value.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
8185
+ };
8186
+ return HighlightTextPipe;
8187
+ }());
8188
+ HighlightTextPipe.decorators = [
8189
+ { type: i0.Pipe, args: [{
8190
+ name: 'highlightText'
8191
+ },] }
8192
+ ];
8193
+
8096
8194
  /**
8097
8195
  * Format a time to the user's preference for display
8098
8196
  */
@@ -8185,7 +8283,7 @@
8185
8283
  PageTitleComponent.decorators = [
8186
8284
  { type: i0.Component, args: [{
8187
8285
  selector: 'app-page-title',
8188
- template: "<i *ngIf=\"titleIcon\"\r\n class=\"flex-shrink mr-1 my-1 ec-icon ec-icon-md {{titleIcon}}\"></i>\r\n<div>\r\n <h1 *ngIf=\"title\"\r\n class=\"text-title-1 mb-0 py-1 text-truncate\">{{title}}</h1>\r\n <p *ngIf=\"subTitle\"\r\n class=\"text-caption-1 mb-0 mt-n1 text-truncate\">{{subTitle}}</p>\r\n</div>",
8286
+ template: "<i *ngIf=\"titleIcon\"\r\n class=\"flex-shrink mr-1 my-1 ec-icon ec-icon-md {{titleIcon}}\"></i>\r\n<div class=\"text-truncate\">\r\n <h1 *ngIf=\"title\"\r\n class=\"text-title-1 mb-0 py-1 text-truncate\"\r\n title=\"{{title}}\">{{title}}</h1>\r\n <p *ngIf=\"subTitle\"\r\n class=\"text-caption-1 mb-0 mt-n1 text-truncate\">{{subTitle}}</p>\r\n</div>",
8189
8287
  host: {
8190
8288
  class: 'd-flex'
8191
8289
  }
@@ -8251,7 +8349,7 @@
8251
8349
  PageViewComponent.decorators = [
8252
8350
  { type: i0.Component, args: [{
8253
8351
  selector: 'ec-page-view',
8254
- template: "<div ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [displayAsMask]=\"true\"\r\n class=\"bg-body flex-grow d-flex\">\r\n <div id=\"PageViewScrollContainer\" \r\n class=\"d-flex flex-column flex-grow scroll-y\" \r\n [class.is-dialog]=\"isDialog\"\r\n [class.fit-content]=\"fitContent\"\r\n [class.sticky-footer]=\"stickyFooter && !!footerTemplate\"\r\n [class.overlay-visible]=\"status?.status !== 'hasData'\">\r\n <section>\r\n <ng-content></ng-content> \r\n </section>\r\n \r\n <footer>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </footer>\r\n\r\n <header *ngIf=\"showHeader\">\r\n \r\n <ol id=\"breadcrumbs\"\r\n *ngIf=\"breadcrumbs?.length && !isDialog\">\r\n <li *ngFor=\"let crumb of breadcrumbs; last as isLast\">\r\n <a *ngIf=\"crumb.url; else label\"\r\n [routerLink]=\"crumb.url\">\r\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\r\n </a>\r\n <ng-template #label>{{crumb.label}}</ng-template>\r\n </li>\r\n </ol>\r\n \r\n <div *ngIf=\"!customHeaderTemplate; else customHeaderOutlet\" class=\"titlebar\">\r\n <app-page-title *ngIf=\"!customTitleTemplate; else customTitle\" \r\n [title]=\"title\"\r\n [subTitle]=\"subTitle\"\r\n [titleIcon]=\"titleIcon\"\r\n class=\"title\">\r\n </app-page-title>\r\n \r\n <ng-template #customTitle>\r\n <div class=\"title\">\r\n <ng-container *ngTemplateOutlet=\"customTitleTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n \r\n <div class=\"actions\">\r\n <ec-button id=\"primaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hidePrimaryAction && onPrimaryAction.observers?.length\"\r\n [disabled]=\"status?.status === 'pending'\"\r\n type=\"primary\"\r\n [label]=\"primaryActionLabel\"\r\n (clicked)=\"primaryAction($event)\">\r\n </ec-button>\r\n <ec-button id=\"secondaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hideSecondaryAction && onSecondaryAction.observers?.length\"\r\n type=\"secondary\"\r\n [label]=\"secondaryActionLabel\"\r\n (clicked)=\"secondaryAction($event)\">\r\n </ec-button>\r\n <ec-dropdown id=\"moreActions\"\r\n *ngIf=\"moreActions?.length\"\r\n [disabled]=\"status?.status === 'pending'\"\r\n class=\"ml-2\"\r\n buttonType=\"secondary\"\r\n [label]=\"moreActionsLabel\"\r\n [items]=\"moreActions\">\r\n </ec-dropdown>\r\n <ng-container *ngTemplateOutlet=\"customActionsTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n \r\n <ng-template #customHeaderOutlet> \r\n <div class=\"page-header\">\r\n <ng-container *ngTemplateOutlet=\"customHeaderTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n \r\n <ec-banner *ngIf=\"errors\"\r\n id=\"pageViewErrors\"\r\n [class.border-bottom-0]=\"!isDialog\">\r\n <div [innerHtml]=\"errors\"></div>\r\n </ec-banner>\r\n </header>\r\n </div>\r\n</div>\r\n\r\n",
8352
+ template: "<div ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [displayAsMask]=\"true\"\r\n class=\"bg-body flex-grow d-flex\">\r\n <div id=\"PageViewScrollContainer\" \r\n class=\"d-flex flex-column flex-grow scroll-y\" \r\n [class.is-dialog]=\"isDialog\"\r\n [class.fit-content]=\"fitContent\"\r\n [class.sticky-footer]=\"stickyFooter && !!footerTemplate\"\r\n [class.overlay-visible]=\"status?.status !== 'hasData'\">\r\n <section>\r\n <ng-content></ng-content> \r\n </section>\r\n \r\n <footer>\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </footer>\r\n\r\n <header *ngIf=\"showHeader\">\r\n \r\n <ol id=\"breadcrumbs\"\r\n *ngIf=\"breadcrumbs?.length && !isDialog\">\r\n <li *ngFor=\"let crumb of breadcrumbs; last as isLast\">\r\n <a *ngIf=\"crumb.url; else label\"\r\n [routerLink]=\"crumb.url\">\r\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\r\n </a>\r\n <ng-template #label>{{crumb.label}}</ng-template>\r\n </li>\r\n </ol>\r\n \r\n <div *ngIf=\"!customHeaderTemplate; else customHeaderOutlet\" class=\"titlebar\">\r\n <app-page-title *ngIf=\"!customTitleTemplate; else customTitle\" \r\n [title]=\"title\"\r\n [subTitle]=\"subTitle\"\r\n [titleIcon]=\"titleIcon\"\r\n class=\"title text-truncate\">\r\n </app-page-title>\r\n \r\n <ng-template #customTitle>\r\n <div class=\"title\">\r\n <ng-container *ngTemplateOutlet=\"customTitleTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n \r\n <div class=\"actions\">\r\n <ec-button id=\"primaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hidePrimaryAction && onPrimaryAction.observers?.length\"\r\n [disabled]=\"status?.status === 'pending'\"\r\n type=\"primary\"\r\n [label]=\"primaryActionLabel\"\r\n (clicked)=\"primaryAction($event)\">\r\n </ec-button>\r\n <ec-button id=\"secondaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hideSecondaryAction && onSecondaryAction.observers?.length\"\r\n type=\"secondary\"\r\n [label]=\"secondaryActionLabel\"\r\n (clicked)=\"secondaryAction($event)\">\r\n </ec-button>\r\n <ec-dropdown id=\"moreActions\"\r\n *ngIf=\"moreActions?.length\"\r\n [disabled]=\"status?.status === 'pending'\"\r\n class=\"ml-2\"\r\n buttonType=\"secondary\"\r\n [label]=\"moreActionsLabel\"\r\n [items]=\"moreActions\">\r\n </ec-dropdown>\r\n <ng-container *ngTemplateOutlet=\"customActionsTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n \r\n <ng-template #customHeaderOutlet> \r\n <div class=\"page-header\">\r\n <ng-container *ngTemplateOutlet=\"customHeaderTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n \r\n <ec-banner *ngIf=\"errors\"\r\n id=\"pageViewErrors\"\r\n [class.border-bottom-0]=\"!isDialog\">\r\n <div [innerHtml]=\"errors\"></div>\r\n </ec-banner>\r\n </header>\r\n </div>\r\n</div>\r\n\r\n",
8255
8353
  host: {
8256
8354
  class: "flex-grow"
8257
8355
  },
@@ -8576,7 +8674,8 @@
8576
8674
  HierarchyTreeComponent,
8577
8675
  TreeComponent,
8578
8676
  RelativeDatePipe,
8579
- ResizableComponent
8677
+ ResizableComponent,
8678
+ HighlightTextPipe
8580
8679
  ],
8581
8680
  imports: [
8582
8681
  common.CommonModule,
@@ -8594,7 +8693,8 @@
8594
8693
  TimeDisplayPipe,
8595
8694
  MockDateDisplayPipe,
8596
8695
  RowCountPipe,
8597
- RelativeDatePipe
8696
+ RelativeDatePipe,
8697
+ HighlightTextPipe
8598
8698
  ],
8599
8699
  exports: [
8600
8700
  ButtonComponent,
@@ -8649,7 +8749,8 @@
8649
8749
  HierarchyTreeComponent,
8650
8750
  TreeComponent,
8651
8751
  RelativeDatePipe,
8652
- ResizableComponent
8752
+ ResizableComponent,
8753
+ HighlightTextPipe
8653
8754
  ]
8654
8755
  },] }
8655
8756
  ];
@@ -8735,59 +8836,6 @@
8735
8836
  }());
8736
8837
  ;
8737
8838
 
8738
- /**
8739
- * Make an element resizable horizontally by wrapping it in the ResizableComponent.
8740
- * Default widths / limits are applied but you can optionally override them
8741
- * with min-width and max-width with style attributes
8742
- * @example
8743
- * <ec-resizable [style.width.px]="200"
8744
- * [style.min-width.px]="75"
8745
- * [style.max-width.px]="300">
8746
- * <div> ... </div>
8747
- * </ec-resizable>
8748
- */
8749
- var ResizableComponent = /** @class */ (function (_super) {
8750
- __extends(ResizableComponent, _super);
8751
- function ResizableComponent(el, renderer, cacheService, document) {
8752
- var _this = _super.call(this, renderer, cacheService, document) || this;
8753
- _this.el = el;
8754
- //default rememberWidth to true for standard resizable, resizable tables default to false
8755
- _this.rememberWidth = true;
8756
- return _this;
8757
- }
8758
- /** Store the host element to reference later */
8759
- ResizableComponent.prototype.ngOnInit = function () {
8760
- this.currentEl = this.el.nativeElement;
8761
- };
8762
- /**
8763
- * Set the new width of the element and emit the new width to subscribers
8764
- */
8765
- ResizableComponent.prototype.setWidth = function (width) {
8766
- this.renderer.setStyle(this.currentEl, 'width', width + 'px');
8767
- this.saveWidths([width]);
8768
- };
8769
- /**Called from the base class when cached widths are available and restoring
8770
- * width is enabled. We only care about the first one because we only have one width
8771
- */
8772
- ResizableComponent.prototype.restoreWidths = function (widths) {
8773
- this.setWidth(widths[0]);
8774
- };
8775
- return ResizableComponent;
8776
- }(ResizableBase));
8777
- ResizableComponent.decorators = [
8778
- { type: i0.Component, args: [{
8779
- selector: 'ec-resizable',
8780
- template: "<div class=\"content\">\n <ng-content></ng-content>\n </div>\n <div class=\"handle\" (mousedown)=\"startDrag($event)\"></div>",
8781
- styles: ["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{border-right:1px solid #d2d7d9;display:flex;max-width:480px;min-width:100px;position:relative;width:240px}:host.is-active{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}:host.is-active .handle:after{background-color:#0084a9}.handle{height:100%;padding:0 5px;position:absolute;right:-7px;top:0;width:13px;z-index:30}.handle:after{content:\"\";display:block;height:100%;position:relative;transition:background-color .3s ease}.handle:hover{cursor:col-resize}.handle:hover:after{background-color:#0084a9}.content{display:flex;overflow:hidden}.content,.content ::ng-deep>*{flex:1 1;min-height:0;min-width:0}"]
8782
- },] }
8783
- ];
8784
- ResizableComponent.ctorParameters = function () { return [
8785
- { type: i0.ElementRef },
8786
- { type: i0.Renderer2 },
8787
- { type: CacheService },
8788
- { type: Document, decorators: [{ type: i0.Inject, args: [common.DOCUMENT,] }] }
8789
- ]; };
8790
-
8791
8839
  var CustomValidators = /** @class */ (function () {
8792
8840
  function CustomValidators() {
8793
8841
  }
@@ -8882,6 +8930,10 @@
8882
8930
  * Default unknown save error message, override if a more specific message is needed
8883
8931
  */
8884
8932
  this.defaultUnknownSaveError = 'PageBaseUnknownSaveError_SC';
8933
+ /**
8934
+ * Used to opt out of hiding the splash screen when the page is loaded
8935
+ */
8936
+ this.skipHideSplashOnComplete = false;
8885
8937
  /**
8886
8938
  * Used to unsubscribe from observables
8887
8939
  */
@@ -8903,6 +8955,7 @@
8903
8955
  this.router = injector.get(i1$1.Router);
8904
8956
  this.activatedRoute = injector.get(i1$1.ActivatedRoute);
8905
8957
  this.dialogService = injector.get(DialogService);
8958
+ this.splashService = injector.get(SplashService);
8906
8959
  }
8907
8960
  Object.defineProperty(PageBaseComponent.prototype, "errors", {
8908
8961
  get: function () {
@@ -8977,6 +9030,9 @@
8977
9030
  if (this.status.status === 'pending') {
8978
9031
  this.showStatus(exports.PageStatus.Loaded);
8979
9032
  }
9033
+ if (!this.skipHideSplashOnComplete) {
9034
+ this.splashService.hideSplash();
9035
+ }
8980
9036
  this.setUpRouterSubscriptions();
8981
9037
  return [3 /*break*/, 5];
8982
9038
  case 4:
@@ -9387,6 +9443,13 @@
9387
9443
  return new MockActivatedRoute();
9388
9444
  },
9389
9445
  deps: [],
9446
+ },
9447
+ {
9448
+ provide: SplashService,
9449
+ useFactory: function () {
9450
+ return SpyFactory.createSpy(SplashService);
9451
+ },
9452
+ deps: []
9390
9453
  }
9391
9454
  ];
9392
9455
  /**
@@ -9831,6 +9894,7 @@
9831
9894
  exports.HierarchyBaseTestInjectorFactory = HierarchyBaseTestInjectorFactory;
9832
9895
  exports.HierarchyItem = HierarchyItem;
9833
9896
  exports.HierarchyTreeComponent = HierarchyTreeComponent;
9897
+ exports.HighlightTextPipe = HighlightTextPipe;
9834
9898
  exports.IfViewportWidthDirective = IfViewportWidthDirective;
9835
9899
  exports.ItemDisplayComponent = ItemDisplayComponent;
9836
9900
  exports.JsonDisplayComponent = JsonDisplayComponent;