@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.
- package/bundles/energycap-components.umd.js +241 -177
- package/bundles/energycap-components.umd.js.map +1 -1
- package/bundles/energycap-components.umd.min.js +1 -1
- package/bundles/energycap-components.umd.min.js.map +1 -1
- package/energycap-components.metadata.json +1 -1
- package/esm2015/lib/components.module.js +9 -5
- package/esm2015/lib/controls/menu/menu.component.js +20 -4
- package/esm2015/lib/controls/navigation/nav-item-active.directive.js +3 -2
- package/esm2015/lib/display/hierarchy/hierarchy-base.js +1 -1
- package/esm2015/lib/shared/display/pipes/highlight-text.pipe.js +26 -0
- package/esm2015/lib/shared/page/page-base/page-base.component.js +10 -1
- package/esm2015/lib/shared/page/page-title/page-title.component.js +2 -2
- package/esm2015/lib/shared/page/page-view/page-view.component.js +2 -2
- package/esm2015/lib/shared/testing/page-base-component-test-injector-factory.spec.js +9 -1
- package/esm2015/public-api.js +2 -1
- package/fesm2015/energycap-components.js +227 -167
- package/fesm2015/energycap-components.js.map +1 -1
- package/lib/controls/menu/menu.component.d.ts +10 -0
- package/lib/controls/navigation/nav-item-active.directive.d.ts +6 -1
- package/lib/display/hierarchy/hierarchy-base.d.ts +5 -0
- package/lib/shared/display/pipes/highlight-text.pipe.d.ts +6 -0
- package/lib/shared/page/page-base/page-base.component.d.ts +6 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -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.
|
|
2759
|
-
|
|
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)=\"
|
|
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
|
|
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;
|