@energycap/components 0.27.2 → 0.27.3-ECAPID-377-Implement-Sidebar.20220121-0740

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.
@@ -5273,110 +5273,6 @@ JsonDisplayComponent.propDecorators = {
5273
5273
  maxLength: [{ type: Input }]
5274
5274
  };
5275
5275
 
5276
- /** Exposes the markup and styles that represent the spinner. No inputs or outputs defined because it is just a visual component*/
5277
- class SpinnerComponent {
5278
- }
5279
- SpinnerComponent.decorators = [
5280
- { type: Component, args: [{
5281
- selector: 'ec-spinner',
5282
- 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>",
5283
- 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}"]
5284
- },] }
5285
- ];
5286
-
5287
- class SplashService {
5288
- constructor() {
5289
- /** Used to interact with the splash component
5290
- * The splash component will subscribe to this and any components
5291
- * that wish to bring the splash visible can use this to communicate
5292
- * with the splash component.
5293
- */
5294
- this._splashVisibility = new Subject();
5295
- this.splashVisibility = this._splashVisibility;
5296
- }
5297
- /**
5298
- * Shows the splash screen
5299
- */
5300
- showSplash() {
5301
- this._splashVisibility.next(true);
5302
- }
5303
- /**
5304
- * Hides the splash screen
5305
- */
5306
- hideSplash() {
5307
- this._splashVisibility.next(false);
5308
- }
5309
- }
5310
- SplashService.ɵprov = ɵɵdefineInjectable({ factory: function SplashService_Factory() { return new SplashService(); }, token: SplashService, providedIn: "root" });
5311
- SplashService.decorators = [
5312
- { type: Injectable, args: [{
5313
- providedIn: 'root'
5314
- },] }
5315
- ];
5316
- SplashService.ctorParameters = () => [];
5317
-
5318
- class SplashComponent {
5319
- constructor(splashService) {
5320
- this.splashService = splashService;
5321
- /** Sets the visibility of the splash display */
5322
- this.isVisible = true;
5323
- this.stopAnimation = false;
5324
- /** Emits when the service is destroyed */
5325
- this.destroyed = new Subject();
5326
- }
5327
- ngOnInit() {
5328
- this.splashService.splashVisibility.pipe(takeUntil(this.destroyed), tap((value) => __awaiter(this, void 0, void 0, function* () {
5329
- if (value) {
5330
- this.stopAnimation = false;
5331
- }
5332
- else {
5333
- // Prevent animation from continuing after splash screen is hidden
5334
- // but if we hide it then show while the timer is running, don't stop the animation after all
5335
- timer(1000).pipe(takeUntil(this.splashService.splashVisibility)).subscribe(() => {
5336
- this.stopAnimation = true;
5337
- });
5338
- }
5339
- }))).subscribe(showSplash => {
5340
- this.isVisible = showSplash;
5341
- });
5342
- }
5343
- ngOnDestroy() {
5344
- this.destroyed.next();
5345
- this.destroyed.unsubscribe();
5346
- }
5347
- }
5348
- SplashComponent.decorators = [
5349
- { type: Component, args: [{
5350
- selector: 'ec-splash',
5351
- 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>"
5352
- },] }
5353
- ];
5354
- SplashComponent.ctorParameters = () => [
5355
- { type: SplashService }
5356
- ];
5357
-
5358
- class ResizableColumnComponent {
5359
- constructor(el) {
5360
- this.el = el;
5361
- this.onResize = new EventEmitter();
5362
- }
5363
- emitWidth(width) {
5364
- this.onResize.emit(width);
5365
- }
5366
- }
5367
- ResizableColumnComponent.decorators = [
5368
- { type: Component, args: [{
5369
- selector: 'th.is-resizable',
5370
- 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"
5371
- },] }
5372
- ];
5373
- ResizableColumnComponent.ctorParameters = () => [
5374
- { type: ElementRef }
5375
- ];
5376
- ResizableColumnComponent.propDecorators = {
5377
- onResize: [{ type: Output }]
5378
- };
5379
-
5380
5276
  class CacheService {
5381
5277
  constructor() {
5382
5278
  this.localStorageAvailable = false;
@@ -5595,6 +5491,163 @@ ResizableBase.propDecorators = {
5595
5491
  id: [{ type: Input }]
5596
5492
  };
5597
5493
 
5494
+ /**
5495
+ * Make an element resizable horizontally by wrapping it in the ResizableComponent.
5496
+ * Default widths / limits are applied but you can optionally override them
5497
+ * with min-width and max-width with style attributes
5498
+ * @example
5499
+ * <ec-resizable [style.width.px]="200"
5500
+ * [style.min-width.px]="75"
5501
+ * [style.max-width.px]="300">
5502
+ * <div> ... </div>
5503
+ * </ec-resizable>
5504
+ */
5505
+ class ResizableComponent extends ResizableBase {
5506
+ constructor(el, renderer, cacheService, document) {
5507
+ super(renderer, cacheService, document);
5508
+ this.el = el;
5509
+ //default rememberWidth to true for standard resizable, resizable tables default to false
5510
+ this.rememberWidth = true;
5511
+ }
5512
+ /** Store the host element to reference later */
5513
+ ngOnInit() {
5514
+ this.currentEl = this.el.nativeElement;
5515
+ }
5516
+ /**
5517
+ * Set the new width of the element and emit the new width to subscribers
5518
+ */
5519
+ setWidth(width) {
5520
+ this.renderer.setStyle(this.currentEl, 'width', width + 'px');
5521
+ this.saveWidths([width]);
5522
+ }
5523
+ /**Called from the base class when cached widths are available and restoring
5524
+ * width is enabled. We only care about the first one because we only have one width
5525
+ */
5526
+ restoreWidths(widths) {
5527
+ this.setWidth(widths[0]);
5528
+ }
5529
+ }
5530
+ ResizableComponent.decorators = [
5531
+ { type: Component, args: [{
5532
+ selector: 'ec-resizable',
5533
+ template: `<div class="content">
5534
+ <ng-content></ng-content>
5535
+ </div>
5536
+ <div class="handle" (mousedown)="startDrag($event)"></div>`,
5537
+ 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}"]
5538
+ },] }
5539
+ ];
5540
+ ResizableComponent.ctorParameters = () => [
5541
+ { type: ElementRef },
5542
+ { type: Renderer2 },
5543
+ { type: CacheService },
5544
+ { type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
5545
+ ];
5546
+
5547
+ /** Exposes the markup and styles that represent the spinner. No inputs or outputs defined because it is just a visual component*/
5548
+ class SpinnerComponent {
5549
+ }
5550
+ SpinnerComponent.decorators = [
5551
+ { type: Component, args: [{
5552
+ selector: 'ec-spinner',
5553
+ 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>",
5554
+ 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}"]
5555
+ },] }
5556
+ ];
5557
+
5558
+ class SplashService {
5559
+ constructor() {
5560
+ /** Used to interact with the splash component
5561
+ * The splash component will subscribe to this and any components
5562
+ * that wish to bring the splash visible can use this to communicate
5563
+ * with the splash component.
5564
+ */
5565
+ this._splashVisibility = new Subject();
5566
+ this.splashVisibility = this._splashVisibility;
5567
+ }
5568
+ /**
5569
+ * Shows the splash screen
5570
+ */
5571
+ showSplash() {
5572
+ this._splashVisibility.next(true);
5573
+ }
5574
+ /**
5575
+ * Hides the splash screen
5576
+ */
5577
+ hideSplash() {
5578
+ this._splashVisibility.next(false);
5579
+ }
5580
+ }
5581
+ SplashService.ɵprov = ɵɵdefineInjectable({ factory: function SplashService_Factory() { return new SplashService(); }, token: SplashService, providedIn: "root" });
5582
+ SplashService.decorators = [
5583
+ { type: Injectable, args: [{
5584
+ providedIn: 'root'
5585
+ },] }
5586
+ ];
5587
+ SplashService.ctorParameters = () => [];
5588
+
5589
+ class SplashComponent {
5590
+ constructor(splashService) {
5591
+ this.splashService = splashService;
5592
+ /** Sets the visibility of the splash display */
5593
+ this.isVisible = true;
5594
+ this.stopAnimation = false;
5595
+ /** Emits when the service is destroyed */
5596
+ this.destroyed = new Subject();
5597
+ }
5598
+ ngOnInit() {
5599
+ this.splashService.splashVisibility.pipe(takeUntil(this.destroyed), tap((value) => __awaiter(this, void 0, void 0, function* () {
5600
+ if (value) {
5601
+ this.stopAnimation = false;
5602
+ }
5603
+ else {
5604
+ // Prevent animation from continuing after splash screen is hidden
5605
+ // but if we hide it then show while the timer is running, don't stop the animation after all
5606
+ timer(1000).pipe(takeUntil(this.splashService.splashVisibility)).subscribe(() => {
5607
+ this.stopAnimation = true;
5608
+ });
5609
+ }
5610
+ }))).subscribe(showSplash => {
5611
+ this.isVisible = showSplash;
5612
+ });
5613
+ }
5614
+ ngOnDestroy() {
5615
+ this.destroyed.next();
5616
+ this.destroyed.unsubscribe();
5617
+ }
5618
+ }
5619
+ SplashComponent.decorators = [
5620
+ { type: Component, args: [{
5621
+ selector: 'ec-splash',
5622
+ 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>"
5623
+ },] }
5624
+ ];
5625
+ SplashComponent.ctorParameters = () => [
5626
+ { type: SplashService }
5627
+ ];
5628
+
5629
+ class ResizableColumnComponent {
5630
+ constructor(el) {
5631
+ this.el = el;
5632
+ this.onResize = new EventEmitter();
5633
+ }
5634
+ emitWidth(width) {
5635
+ this.onResize.emit(width);
5636
+ }
5637
+ }
5638
+ ResizableColumnComponent.decorators = [
5639
+ { type: Component, args: [{
5640
+ selector: 'th.is-resizable',
5641
+ 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"
5642
+ },] }
5643
+ ];
5644
+ ResizableColumnComponent.ctorParameters = () => [
5645
+ { type: ElementRef }
5646
+ ];
5647
+ ResizableColumnComponent.propDecorators = {
5648
+ onResize: [{ type: Output }]
5649
+ };
5650
+
5598
5651
  /**
5599
5652
  * Add the ability to resize columns to a standard HTML table.
5600
5653
  * Specify a column as resizable by adding the .is-resizable class to a <th>.
@@ -7443,6 +7496,31 @@ IfViewportWidthDirective.propDecorators = {
7443
7496
  width: [{ type: Input, args: ['ecIfViewportWidth',] }]
7444
7497
  };
7445
7498
 
7499
+ class HighlightTextPipe {
7500
+ transform(value, searchText) {
7501
+ let transformedValue = '';
7502
+ if (value && searchText) {
7503
+ const regex = new RegExp(this.escapeRegex(searchText), 'gi');
7504
+ transformedValue = value.replace(regex, this.strongWrap);
7505
+ }
7506
+ else {
7507
+ transformedValue = value;
7508
+ }
7509
+ return transformedValue;
7510
+ }
7511
+ strongWrap(match) {
7512
+ return `<strong class="text-highlight">${match}</strong>`;
7513
+ }
7514
+ escapeRegex(value) {
7515
+ return value.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
7516
+ }
7517
+ }
7518
+ HighlightTextPipe.decorators = [
7519
+ { type: Pipe, args: [{
7520
+ name: 'highlightText'
7521
+ },] }
7522
+ ];
7523
+
7446
7524
  /**
7447
7525
  * Format a time to the user's preference for display
7448
7526
  */
@@ -7529,7 +7607,7 @@ class PageTitleComponent {
7529
7607
  PageTitleComponent.decorators = [
7530
7608
  { type: Component, args: [{
7531
7609
  selector: 'app-page-title',
7532
- 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>",
7610
+ 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>",
7533
7611
  host: {
7534
7612
  class: 'd-flex'
7535
7613
  }
@@ -7594,7 +7672,7 @@ class PageViewComponent {
7594
7672
  PageViewComponent.decorators = [
7595
7673
  { type: Component, args: [{
7596
7674
  selector: 'ec-page-view',
7597
- 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",
7675
+ 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",
7598
7676
  host: {
7599
7677
  class: "flex-grow"
7600
7678
  },
@@ -7905,7 +7983,8 @@ ComponentsModule.decorators = [
7905
7983
  HierarchyTreeComponent,
7906
7984
  TreeComponent,
7907
7985
  RelativeDatePipe,
7908
- ResizableComponent
7986
+ ResizableComponent,
7987
+ HighlightTextPipe
7909
7988
  ],
7910
7989
  imports: [
7911
7990
  CommonModule,
@@ -7923,7 +8002,8 @@ ComponentsModule.decorators = [
7923
8002
  TimeDisplayPipe,
7924
8003
  MockDateDisplayPipe,
7925
8004
  RowCountPipe,
7926
- RelativeDatePipe
8005
+ RelativeDatePipe,
8006
+ HighlightTextPipe
7927
8007
  ],
7928
8008
  exports: [
7929
8009
  ButtonComponent,
@@ -7978,7 +8058,8 @@ ComponentsModule.decorators = [
7978
8058
  HierarchyTreeComponent,
7979
8059
  TreeComponent,
7980
8060
  RelativeDatePipe,
7981
- ResizableComponent
8061
+ ResizableComponent,
8062
+ HighlightTextPipe
7982
8063
  ]
7983
8064
  },] }
7984
8065
  ];
@@ -8057,59 +8138,6 @@ class Tag {
8057
8138
  }
8058
8139
  ;
8059
8140
 
8060
- /**
8061
- * Make an element resizable horizontally by wrapping it in the ResizableComponent.
8062
- * Default widths / limits are applied but you can optionally override them
8063
- * with min-width and max-width with style attributes
8064
- * @example
8065
- * <ec-resizable [style.width.px]="200"
8066
- * [style.min-width.px]="75"
8067
- * [style.max-width.px]="300">
8068
- * <div> ... </div>
8069
- * </ec-resizable>
8070
- */
8071
- class ResizableComponent extends ResizableBase {
8072
- constructor(el, renderer, cacheService, document) {
8073
- super(renderer, cacheService, document);
8074
- this.el = el;
8075
- //default rememberWidth to true for standard resizable, resizable tables default to false
8076
- this.rememberWidth = true;
8077
- }
8078
- /** Store the host element to reference later */
8079
- ngOnInit() {
8080
- this.currentEl = this.el.nativeElement;
8081
- }
8082
- /**
8083
- * Set the new width of the element and emit the new width to subscribers
8084
- */
8085
- setWidth(width) {
8086
- this.renderer.setStyle(this.currentEl, 'width', width + 'px');
8087
- this.saveWidths([width]);
8088
- }
8089
- /**Called from the base class when cached widths are available and restoring
8090
- * width is enabled. We only care about the first one because we only have one width
8091
- */
8092
- restoreWidths(widths) {
8093
- this.setWidth(widths[0]);
8094
- }
8095
- }
8096
- ResizableComponent.decorators = [
8097
- { type: Component, args: [{
8098
- selector: 'ec-resizable',
8099
- template: `<div class="content">
8100
- <ng-content></ng-content>
8101
- </div>
8102
- <div class="handle" (mousedown)="startDrag($event)"></div>`,
8103
- 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}"]
8104
- },] }
8105
- ];
8106
- ResizableComponent.ctorParameters = () => [
8107
- { type: ElementRef },
8108
- { type: Renderer2 },
8109
- { type: CacheService },
8110
- { type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
8111
- ];
8112
-
8113
8141
  class CustomValidators {
8114
8142
  }
8115
8143
  /**
@@ -8182,6 +8210,10 @@ class PageBaseComponent {
8182
8210
  * Default unknown save error message, override if a more specific message is needed
8183
8211
  */
8184
8212
  this.defaultUnknownSaveError = 'PageBaseUnknownSaveError_SC';
8213
+ /**
8214
+ * Used to opt out of hiding the splash screen when the page is loaded
8215
+ */
8216
+ this.skipHideSplashOnComplete = false;
8185
8217
  /**
8186
8218
  * Used to unsubscribe from observables
8187
8219
  */
@@ -8203,6 +8235,7 @@ class PageBaseComponent {
8203
8235
  this.router = injector.get(Router);
8204
8236
  this.activatedRoute = injector.get(ActivatedRoute);
8205
8237
  this.dialogService = injector.get(DialogService);
8238
+ this.splashService = injector.get(SplashService);
8206
8239
  }
8207
8240
  get errors() {
8208
8241
  return this._errors;
@@ -8250,6 +8283,9 @@ class PageBaseComponent {
8250
8283
  if (this.status.status === 'pending') {
8251
8284
  this.showStatus(PageStatus.Loaded);
8252
8285
  }
8286
+ if (!this.skipHideSplashOnComplete) {
8287
+ this.splashService.hideSplash();
8288
+ }
8253
8289
  this.setUpRouterSubscriptions();
8254
8290
  }
8255
8291
  catch (error) {
@@ -8600,6 +8636,13 @@ PageBaseComponentTestInjectorFactory.CoreProviders = [
8600
8636
  return new MockActivatedRoute();
8601
8637
  },
8602
8638
  deps: [],
8639
+ },
8640
+ {
8641
+ provide: SplashService,
8642
+ useFactory: () => {
8643
+ return SpyFactory.createSpy(SplashService);
8644
+ },
8645
+ deps: []
8603
8646
  }
8604
8647
  ];
8605
8648
  /**
@@ -8969,5 +9012,5 @@ class HierarchyBaseTestInjectorFactory {
8969
9012
  * Generated bundle index. Do not edit.
8970
9013
  */
8971
9014
 
8972
- export { AppBarComponent, AvatarComponent, BannerComponent, ButtonComponent, CacheService, CheckboxComponent, ClickAreaForDirective, CollapsibleToggleComponent, ComboboxComponent, ComponentsModule, ConfirmComponent, ConfirmDialogContext, CopyButtonDirective, CustomValidators, DateDisplayPipe, DateTimeHelper, DialogCloseDuration, DialogCloseEvent, DialogCloseLatestEvent, DialogComponent, DialogEvent, DialogGroupComponent, DialogOpenDuration, DialogOpenEndEvent, DialogOpenStartEvent, DialogResult, DialogService, DropdownComponent, ErrorService, FileTypeExtensions, FileUploadComponent, FormControlBase, FormControlComponent, FormGroupComponent, FormGroupHelper, HierarchyBase, HierarchyBaseTestInjectorFactory, HierarchyItem, HierarchyMocks, HierarchyTreeComponent, IfViewportWidthDirective, ItemDisplayComponent, JsonDisplayComponent, JsonHelper, MenuComponent, MockActivatedRoute, MockDateDisplayPipe, MockDialog, MockDialogContent, MockTranslateService, MockTranslationHelperService, NavGroup, NavItemActiveDirective, NumericboxComponent, Overlay, PageBaseComponent, PageBaseComponentTestHelper, PageBaseComponentTestInjectorFactory, PageInitResult, PageStatus, PageStatuses, PageTitleComponent, PageViewComponent, PanelCloseDuration, PanelOpenDuration, PopoverComponent, PopupContainerDirective, RadioButtonComponent, RadioButtonOption, RelativeDatePipe, ResizableBase, ResizableColumnComponent, ResizableComponent, RowCountPipe, ScrollService, SearchableTableComponent, SelectComponent, SpinnerComponent, SplashComponent, SplashService, SpyFactory, TableComponent, TableLockedColumnComponent, TableMasterHeaderRowComponent, TableMasterRowComponent, TablePaginationComponent, TableSelectableRowComponent, TableSelectableRowContext, TabsComponent, Tag, TagsComponent, TelemetryService, TelemetryTrackerService, TextboxComponent, TimeDisplayPipe, ToastComponent, ToastEvent, ToastService, ToasterComponent, TreeComponent, UnicodeStrings, UserPreferenceService, ValidationMessageService, ViewOverlayComponent, WindowService, WizardBaseComponent, WizardButtonsComponent, WizardProgressComponent, canadianPostalCodeRegex, clickEvent, dateInputFormatRegex, findAllSpacesPattern, forEachFormControl, getApiError, getControlValue, getDecimalPattern, integerPattern, isApiError, menuAnimationSpeed, mockRouterFactory, numericboxValidation, orderByIgnoreCase, otherZipCodeRegex, phoneNumberValidationPattern, sortByIgnoreCase, textboxValidation, unitedStatesZipCodeRegex, urlValidationPattern, validateFormGroupValuesAreUnique, ResizableTableDirective as ɵa, AvatarService as ɵb, TableDetailRowComponent as ɵc };
9015
+ export { AppBarComponent, AvatarComponent, BannerComponent, ButtonComponent, CacheService, CheckboxComponent, ClickAreaForDirective, CollapsibleToggleComponent, ComboboxComponent, ComponentsModule, ConfirmComponent, ConfirmDialogContext, CopyButtonDirective, CustomValidators, DateDisplayPipe, DateTimeHelper, DialogCloseDuration, DialogCloseEvent, DialogCloseLatestEvent, DialogComponent, DialogEvent, DialogGroupComponent, DialogOpenDuration, DialogOpenEndEvent, DialogOpenStartEvent, DialogResult, DialogService, DropdownComponent, ErrorService, FileTypeExtensions, FileUploadComponent, FormControlBase, FormControlComponent, FormGroupComponent, FormGroupHelper, HierarchyBase, HierarchyBaseTestInjectorFactory, HierarchyItem, HierarchyMocks, HierarchyTreeComponent, HighlightTextPipe, IfViewportWidthDirective, ItemDisplayComponent, JsonDisplayComponent, JsonHelper, MenuComponent, MockActivatedRoute, MockDateDisplayPipe, MockDialog, MockDialogContent, MockTranslateService, MockTranslationHelperService, NavGroup, NavItemActiveDirective, NumericboxComponent, Overlay, PageBaseComponent, PageBaseComponentTestHelper, PageBaseComponentTestInjectorFactory, PageInitResult, PageStatus, PageStatuses, PageTitleComponent, PageViewComponent, PanelCloseDuration, PanelOpenDuration, PopoverComponent, PopupContainerDirective, RadioButtonComponent, RadioButtonOption, RelativeDatePipe, ResizableBase, ResizableColumnComponent, ResizableComponent, RowCountPipe, ScrollService, SearchableTableComponent, SelectComponent, SpinnerComponent, SplashComponent, SplashService, SpyFactory, TableComponent, TableLockedColumnComponent, TableMasterHeaderRowComponent, TableMasterRowComponent, TablePaginationComponent, TableSelectableRowComponent, TableSelectableRowContext, TabsComponent, Tag, TagsComponent, TelemetryService, TelemetryTrackerService, TextboxComponent, TimeDisplayPipe, ToastComponent, ToastEvent, ToastService, ToasterComponent, TreeComponent, UnicodeStrings, UserPreferenceService, ValidationMessageService, ViewOverlayComponent, WindowService, WizardBaseComponent, WizardButtonsComponent, WizardProgressComponent, canadianPostalCodeRegex, clickEvent, dateInputFormatRegex, findAllSpacesPattern, forEachFormControl, getApiError, getControlValue, getDecimalPattern, integerPattern, isApiError, menuAnimationSpeed, mockRouterFactory, numericboxValidation, orderByIgnoreCase, otherZipCodeRegex, phoneNumberValidationPattern, sortByIgnoreCase, textboxValidation, unitedStatesZipCodeRegex, urlValidationPattern, validateFormGroupValuesAreUnique, ResizableTableDirective as ɵa, AvatarService as ɵb, TableDetailRowComponent as ɵc };
8973
9016
  //# sourceMappingURL=energycap-components.js.map