@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.
@@ -5846,121 +5846,6 @@
5846
5846
  maxLength: [{ type: i0.Input }]
5847
5847
  };
5848
5848
 
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
5849
  var CacheService = /** @class */ (function () {
5965
5850
  function CacheService() {
5966
5851
  this.localStorageAvailable = false;
@@ -6186,6 +6071,174 @@
6186
6071
  id: [{ type: i0.Input }]
6187
6072
  };
6188
6073
 
6074
+ /**
6075
+ * Make an element resizable horizontally by wrapping it in the ResizableComponent.
6076
+ * Default widths / limits are applied but you can optionally override them
6077
+ * with min-width and max-width with style attributes
6078
+ * @example
6079
+ * <ec-resizable [style.width.px]="200"
6080
+ * [style.min-width.px]="75"
6081
+ * [style.max-width.px]="300">
6082
+ * <div> ... </div>
6083
+ * </ec-resizable>
6084
+ */
6085
+ var ResizableComponent = /** @class */ (function (_super) {
6086
+ __extends(ResizableComponent, _super);
6087
+ function ResizableComponent(el, renderer, cacheService, document) {
6088
+ var _this = _super.call(this, renderer, cacheService, document) || this;
6089
+ _this.el = el;
6090
+ //default rememberWidth to true for standard resizable, resizable tables default to false
6091
+ _this.rememberWidth = true;
6092
+ return _this;
6093
+ }
6094
+ /** Store the host element to reference later */
6095
+ ResizableComponent.prototype.ngOnInit = function () {
6096
+ this.currentEl = this.el.nativeElement;
6097
+ };
6098
+ /**
6099
+ * Set the new width of the element and emit the new width to subscribers
6100
+ */
6101
+ ResizableComponent.prototype.setWidth = function (width) {
6102
+ this.renderer.setStyle(this.currentEl, 'width', width + 'px');
6103
+ this.saveWidths([width]);
6104
+ };
6105
+ /**Called from the base class when cached widths are available and restoring
6106
+ * width is enabled. We only care about the first one because we only have one width
6107
+ */
6108
+ ResizableComponent.prototype.restoreWidths = function (widths) {
6109
+ this.setWidth(widths[0]);
6110
+ };
6111
+ return ResizableComponent;
6112
+ }(ResizableBase));
6113
+ ResizableComponent.decorators = [
6114
+ { type: i0.Component, args: [{
6115
+ selector: 'ec-resizable',
6116
+ template: "<div class=\"content\">\n <ng-content></ng-content>\n </div>\n <div class=\"handle\" (mousedown)=\"startDrag($event)\"></div>",
6117
+ 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}"]
6118
+ },] }
6119
+ ];
6120
+ ResizableComponent.ctorParameters = function () { return [
6121
+ { type: i0.ElementRef },
6122
+ { type: i0.Renderer2 },
6123
+ { type: CacheService },
6124
+ { type: Document, decorators: [{ type: i0.Inject, args: [common.DOCUMENT,] }] }
6125
+ ]; };
6126
+
6127
+ /** Exposes the markup and styles that represent the spinner. No inputs or outputs defined because it is just a visual component*/
6128
+ var SpinnerComponent = /** @class */ (function () {
6129
+ function SpinnerComponent() {
6130
+ }
6131
+ return SpinnerComponent;
6132
+ }());
6133
+ SpinnerComponent.decorators = [
6134
+ { type: i0.Component, args: [{
6135
+ selector: 'ec-spinner',
6136
+ 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>",
6137
+ 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}"]
6138
+ },] }
6139
+ ];
6140
+
6141
+ var SplashService = /** @class */ (function () {
6142
+ function SplashService() {
6143
+ /** Used to interact with the splash component
6144
+ * The splash component will subscribe to this and any components
6145
+ * that wish to bring the splash visible can use this to communicate
6146
+ * with the splash component.
6147
+ */
6148
+ this._splashVisibility = new rxjs.Subject();
6149
+ this.splashVisibility = this._splashVisibility;
6150
+ }
6151
+ /**
6152
+ * Shows the splash screen
6153
+ */
6154
+ SplashService.prototype.showSplash = function () {
6155
+ this._splashVisibility.next(true);
6156
+ };
6157
+ /**
6158
+ * Hides the splash screen
6159
+ */
6160
+ SplashService.prototype.hideSplash = function () {
6161
+ this._splashVisibility.next(false);
6162
+ };
6163
+ return SplashService;
6164
+ }());
6165
+ SplashService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SplashService_Factory() { return new SplashService(); }, token: SplashService, providedIn: "root" });
6166
+ SplashService.decorators = [
6167
+ { type: i0.Injectable, args: [{
6168
+ providedIn: 'root'
6169
+ },] }
6170
+ ];
6171
+ SplashService.ctorParameters = function () { return []; };
6172
+
6173
+ var SplashComponent = /** @class */ (function () {
6174
+ function SplashComponent(splashService) {
6175
+ this.splashService = splashService;
6176
+ /** Sets the visibility of the splash display */
6177
+ this.isVisible = true;
6178
+ this.stopAnimation = false;
6179
+ /** Emits when the service is destroyed */
6180
+ this.destroyed = new rxjs.Subject();
6181
+ }
6182
+ SplashComponent.prototype.ngOnInit = function () {
6183
+ var _this = this;
6184
+ this.splashService.splashVisibility.pipe(operators.takeUntil(this.destroyed), operators.tap(function (value) { return __awaiter(_this, void 0, void 0, function () {
6185
+ var _this = this;
6186
+ return __generator(this, function (_a) {
6187
+ if (value) {
6188
+ this.stopAnimation = false;
6189
+ }
6190
+ else {
6191
+ // Prevent animation from continuing after splash screen is hidden
6192
+ // but if we hide it then show while the timer is running, don't stop the animation after all
6193
+ rxjs.timer(1000).pipe(operators.takeUntil(this.splashService.splashVisibility)).subscribe(function () {
6194
+ _this.stopAnimation = true;
6195
+ });
6196
+ }
6197
+ return [2 /*return*/];
6198
+ });
6199
+ }); })).subscribe(function (showSplash) {
6200
+ _this.isVisible = showSplash;
6201
+ });
6202
+ };
6203
+ SplashComponent.prototype.ngOnDestroy = function () {
6204
+ this.destroyed.next();
6205
+ this.destroyed.unsubscribe();
6206
+ };
6207
+ return SplashComponent;
6208
+ }());
6209
+ SplashComponent.decorators = [
6210
+ { type: i0.Component, args: [{
6211
+ selector: 'ec-splash',
6212
+ 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>"
6213
+ },] }
6214
+ ];
6215
+ SplashComponent.ctorParameters = function () { return [
6216
+ { type: SplashService }
6217
+ ]; };
6218
+
6219
+ var ResizableColumnComponent = /** @class */ (function () {
6220
+ function ResizableColumnComponent(el) {
6221
+ this.el = el;
6222
+ this.onResize = new i0.EventEmitter();
6223
+ }
6224
+ ResizableColumnComponent.prototype.emitWidth = function (width) {
6225
+ this.onResize.emit(width);
6226
+ };
6227
+ return ResizableColumnComponent;
6228
+ }());
6229
+ ResizableColumnComponent.decorators = [
6230
+ { type: i0.Component, args: [{
6231
+ selector: 'th.is-resizable',
6232
+ 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"
6233
+ },] }
6234
+ ];
6235
+ ResizableColumnComponent.ctorParameters = function () { return [
6236
+ { type: i0.ElementRef }
6237
+ ]; };
6238
+ ResizableColumnComponent.propDecorators = {
6239
+ onResize: [{ type: i0.Output }]
6240
+ };
6241
+
6189
6242
  /**
6190
6243
  * Add the ability to resize columns to a standard HTML table.
6191
6244
  * Specify a column as resizable by adding the .is-resizable class to a <th>.
@@ -8093,6 +8146,34 @@
8093
8146
  width: [{ type: i0.Input, args: ['ecIfViewportWidth',] }]
8094
8147
  };
8095
8148
 
8149
+ var HighlightTextPipe = /** @class */ (function () {
8150
+ function HighlightTextPipe() {
8151
+ }
8152
+ HighlightTextPipe.prototype.transform = function (value, searchText) {
8153
+ var transformedValue = '';
8154
+ if (value && searchText) {
8155
+ var regex = new RegExp(this.escapeRegex(searchText), 'gi');
8156
+ transformedValue = value.replace(regex, this.strongWrap);
8157
+ }
8158
+ else {
8159
+ transformedValue = value;
8160
+ }
8161
+ return transformedValue;
8162
+ };
8163
+ HighlightTextPipe.prototype.strongWrap = function (match) {
8164
+ return "<strong class=\"text-highlight\">" + match + "</strong>";
8165
+ };
8166
+ HighlightTextPipe.prototype.escapeRegex = function (value) {
8167
+ return value.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
8168
+ };
8169
+ return HighlightTextPipe;
8170
+ }());
8171
+ HighlightTextPipe.decorators = [
8172
+ { type: i0.Pipe, args: [{
8173
+ name: 'highlightText'
8174
+ },] }
8175
+ ];
8176
+
8096
8177
  /**
8097
8178
  * Format a time to the user's preference for display
8098
8179
  */
@@ -8185,7 +8266,7 @@
8185
8266
  PageTitleComponent.decorators = [
8186
8267
  { type: i0.Component, args: [{
8187
8268
  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>",
8269
+ 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
8270
  host: {
8190
8271
  class: 'd-flex'
8191
8272
  }
@@ -8251,7 +8332,7 @@
8251
8332
  PageViewComponent.decorators = [
8252
8333
  { type: i0.Component, args: [{
8253
8334
  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",
8335
+ 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
8336
  host: {
8256
8337
  class: "flex-grow"
8257
8338
  },
@@ -8576,7 +8657,8 @@
8576
8657
  HierarchyTreeComponent,
8577
8658
  TreeComponent,
8578
8659
  RelativeDatePipe,
8579
- ResizableComponent
8660
+ ResizableComponent,
8661
+ HighlightTextPipe
8580
8662
  ],
8581
8663
  imports: [
8582
8664
  common.CommonModule,
@@ -8594,7 +8676,8 @@
8594
8676
  TimeDisplayPipe,
8595
8677
  MockDateDisplayPipe,
8596
8678
  RowCountPipe,
8597
- RelativeDatePipe
8679
+ RelativeDatePipe,
8680
+ HighlightTextPipe
8598
8681
  ],
8599
8682
  exports: [
8600
8683
  ButtonComponent,
@@ -8649,7 +8732,8 @@
8649
8732
  HierarchyTreeComponent,
8650
8733
  TreeComponent,
8651
8734
  RelativeDatePipe,
8652
- ResizableComponent
8735
+ ResizableComponent,
8736
+ HighlightTextPipe
8653
8737
  ]
8654
8738
  },] }
8655
8739
  ];
@@ -8735,59 +8819,6 @@
8735
8819
  }());
8736
8820
  ;
8737
8821
 
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
8822
  var CustomValidators = /** @class */ (function () {
8792
8823
  function CustomValidators() {
8793
8824
  }
@@ -8882,6 +8913,10 @@
8882
8913
  * Default unknown save error message, override if a more specific message is needed
8883
8914
  */
8884
8915
  this.defaultUnknownSaveError = 'PageBaseUnknownSaveError_SC';
8916
+ /**
8917
+ * Used to opt out of hiding the splash screen when the page is loaded
8918
+ */
8919
+ this.skipHideSplashOnComplete = false;
8885
8920
  /**
8886
8921
  * Used to unsubscribe from observables
8887
8922
  */
@@ -8903,6 +8938,7 @@
8903
8938
  this.router = injector.get(i1$1.Router);
8904
8939
  this.activatedRoute = injector.get(i1$1.ActivatedRoute);
8905
8940
  this.dialogService = injector.get(DialogService);
8941
+ this.splashService = injector.get(SplashService);
8906
8942
  }
8907
8943
  Object.defineProperty(PageBaseComponent.prototype, "errors", {
8908
8944
  get: function () {
@@ -8977,6 +9013,9 @@
8977
9013
  if (this.status.status === 'pending') {
8978
9014
  this.showStatus(exports.PageStatus.Loaded);
8979
9015
  }
9016
+ if (!this.skipHideSplashOnComplete) {
9017
+ this.splashService.hideSplash();
9018
+ }
8980
9019
  this.setUpRouterSubscriptions();
8981
9020
  return [3 /*break*/, 5];
8982
9021
  case 4:
@@ -9387,6 +9426,13 @@
9387
9426
  return new MockActivatedRoute();
9388
9427
  },
9389
9428
  deps: [],
9429
+ },
9430
+ {
9431
+ provide: SplashService,
9432
+ useFactory: function () {
9433
+ return SpyFactory.createSpy(SplashService);
9434
+ },
9435
+ deps: []
9390
9436
  }
9391
9437
  ];
9392
9438
  /**
@@ -9831,6 +9877,7 @@
9831
9877
  exports.HierarchyBaseTestInjectorFactory = HierarchyBaseTestInjectorFactory;
9832
9878
  exports.HierarchyItem = HierarchyItem;
9833
9879
  exports.HierarchyTreeComponent = HierarchyTreeComponent;
9880
+ exports.HighlightTextPipe = HighlightTextPipe;
9834
9881
  exports.IfViewportWidthDirective = IfViewportWidthDirective;
9835
9882
  exports.ItemDisplayComponent = ItemDisplayComponent;
9836
9883
  exports.JsonDisplayComponent = JsonDisplayComponent;