@energycap/components 0.28.7 → 0.28.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/energycap-components.umd.js +213 -11
- 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 +6 -3
- package/esm2015/lib/controls/item-picker/item-picker.component.js +189 -0
- package/esm2015/lib/display/table/searchable-table.component.js +7 -4
- package/esm2015/lib/display/table/table-selectable-row.component.js +6 -3
- package/esm2015/lib/display/table/table.component.js +2 -2
- package/esm2015/lib/shared/wizard/wizard-buttons/wizard-buttons.component.js +4 -2
- package/esm2015/lib/shared/wizard/wizard-progress/wizard-progress.component.js +3 -3
- package/esm2015/public-api.js +2 -1
- package/fesm2015/energycap-components.js +205 -12
- package/fesm2015/energycap-components.js.map +1 -1
- package/lib/controls/item-picker/item-picker.component.d.ts +108 -0
- package/lib/display/table/searchable-table.component.d.ts +2 -0
- package/lib/shared/wizard/wizard-buttons/wizard-buttons.component.d.ts +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/src/assets/locales/en_US.json +3 -1
|
@@ -6223,7 +6223,7 @@ class TableSelectableRowComponent {
|
|
|
6223
6223
|
else {
|
|
6224
6224
|
let rowCheckbox = (_b = (_a = this.context) === null || _a === void 0 ? void 0 : _a.rowCheckboxes) === null || _b === void 0 ? void 0 : _b.at(this.rowIndex);
|
|
6225
6225
|
if (!this.isHeader && !rowCheckbox) {
|
|
6226
|
-
rowCheckbox = new FormControl(
|
|
6226
|
+
rowCheckbox = new FormControl(this.isSelected);
|
|
6227
6227
|
(_c = this.context) === null || _c === void 0 ? void 0 : _c.rowCheckboxes.push(rowCheckbox);
|
|
6228
6228
|
}
|
|
6229
6229
|
this.formControl = this.isHeader ? this.context.selectAllCheckbox : rowCheckbox;
|
|
@@ -6242,6 +6242,9 @@ class TableSelectableRowComponent {
|
|
|
6242
6242
|
if (changes.enabled && !this.enabled && ((_a = this.formControl) === null || _a === void 0 ? void 0 : _a.value) === true) {
|
|
6243
6243
|
this.formControl.setValue(false);
|
|
6244
6244
|
}
|
|
6245
|
+
if (changes.isSelected && this.formControl) {
|
|
6246
|
+
this.formControl.setValue(this.isSelected);
|
|
6247
|
+
}
|
|
6245
6248
|
}
|
|
6246
6249
|
/** Tell the header checkbox to refresh the selectAll subscription because a row was removed*/
|
|
6247
6250
|
ngOnDestroy() {
|
|
@@ -6344,7 +6347,7 @@ TableSelectableRowComponent.propDecorators = {
|
|
|
6344
6347
|
context: [{ type: Input, args: ['selectionContext',] }],
|
|
6345
6348
|
rowIndex: [{ type: Input }],
|
|
6346
6349
|
lockedColOptions: [{ type: Input }],
|
|
6347
|
-
isSelected: [{ type: HostBinding, args: ['class.is-selected',] }],
|
|
6350
|
+
isSelected: [{ type: HostBinding, args: ['class.is-selected',] }, { type: Input }],
|
|
6348
6351
|
isHeader: [{ type: HostBinding, args: ['class.is-header',] }],
|
|
6349
6352
|
rowClicked: [{ type: HostListener, args: ['click', ['$event'],] }]
|
|
6350
6353
|
};
|
|
@@ -6440,6 +6443,8 @@ class SearchableTableComponent {
|
|
|
6440
6443
|
this.removeCard = false;
|
|
6441
6444
|
/** Classes to add to the overlay/card element */
|
|
6442
6445
|
this.overlayClasses = '';
|
|
6446
|
+
/** When true the overlay and table will not have flex-shrink-max but instead flex-grow */
|
|
6447
|
+
this.fillParentHeight = false;
|
|
6443
6448
|
/**
|
|
6444
6449
|
* Text displayed in the footer.
|
|
6445
6450
|
* Sometimes `noDataMessage`, sometimes `noSearchResultsMessage`
|
|
@@ -6590,8 +6595,8 @@ class SearchableTableComponent {
|
|
|
6590
6595
|
SearchableTableComponent.decorators = [
|
|
6591
6596
|
{ type: Component, args: [{
|
|
6592
6597
|
selector: 'ec-searchable-table',
|
|
6593
|
-
template: "<header *ngIf=\"!hideHeader\"\r\n class=\"d-flex flex-shrink align-items-center mb-3\">\r\n <ec-textbox id=\"{{id}}_searchbox\"\r\n *ngIf=\"!hideSearchControl\"\r\n class=\"mb-0 flex-grow mr-2\"\r\n [autofocus]=\"autofocus\"\r\n [formModel]=\"searchModel\"\r\n [tabindex]=\"searchboxTabIndex\"\r\n [placeholder]=\"searchboxPlaceholder\"\r\n [readonly]=\"searchboxReadonly\"></ec-textbox>\r\n <div class=\"flex-grow\">\r\n <ng-content select=\".searchable-table-controls\"></ng-content>\r\n </div>\r\n</header>\r\n<section id=\"{{id}}_card\"\r\n class=\"d-flex flex-column
|
|
6594
|
-
styles: ["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:flex;flex:1 1;flex-direction:column;min-height:0}:host ::ng-deep .card-header+ec-table.is-selectable th{height:2.5rem;padding-bottom:.9375rem}:host ::ng-deep .card-header+ec-table.is-selectable th.is-resizable .handle{padding-top:.5rem}:host ::ng-deep .card-header+ec-table.is-selectable th.is-resizable .handle:before{top:.5rem}:host ::ng-deep .card-header+ec-table.is-selectable .selectable-table-toolbar{height:2.5rem;padding-bottom:.5rem}footer{font-size:.75rem;line-height:1rem}footer.has-results{color:rgba(26,26,35,.38);text-align:right}.card.has-mask{min-height:15rem}"]
|
|
6598
|
+
template: "<header *ngIf=\"!hideHeader\"\r\n class=\"d-flex flex-shrink align-items-center mb-3\">\r\n <ec-textbox id=\"{{id}}_searchbox\"\r\n *ngIf=\"!hideSearchControl\"\r\n class=\"mb-0 flex-grow mr-2\"\r\n [autofocus]=\"autofocus\"\r\n [formModel]=\"searchModel\"\r\n [tabindex]=\"searchboxTabIndex\"\r\n [placeholder]=\"searchboxPlaceholder\"\r\n [readonly]=\"searchboxReadonly\"></ec-textbox>\r\n <div class=\"flex-grow\">\r\n <ng-content select=\".searchable-table-controls\"></ng-content>\r\n </div>\r\n</header>\r\n<section id=\"{{id}}_card\"\r\n class=\"d-flex flex-column {{overlayClasses}}\"\r\n [ngClass]=\"{'is-translucent': status.status !== 'error', 'has-mask': status.status !== 'hasData', 'card m-0 bg-content': !customContentTemplate && !removeCard}\"\r\n ecOverlay\r\n [status]=\"status.status\"\r\n [message]=\"status.message\"\r\n [displayAsMask]=\"true\">\r\n <ng-content select=\".card-header\"></ng-content>\r\n <ng-container *ngTemplateOutlet=\"customContentTemplate || defaultContentTemplate\">\r\n </ng-container>\r\n\r\n <!-- the default template is an ec-table with proxied-over searchable table inputs. \r\n If that doesn't work for you then you can specify a customContentTemplate to use instead\r\n and still retain all the event handling, header, footer pagination, etc support -->\r\n <ng-template #defaultContentTemplate>\r\n <ec-table id=\"{{id}}_table\"\r\n class=\"{{tableClasses}}\"\r\n [class.is-fixed]=\"tableLayoutFixed\"\r\n [sortable]=\"sortable\"\r\n [sort]=\"sort\"\r\n (sortChange)=\"onSortChange($event)\"\r\n [resizable]=\"resizable\"\r\n [scrollable]=\"true\"\r\n [selectable]=\"selectable\"\r\n [selectionContext]=\"selectionContext\"\r\n [selectionToolbarTemplate]=\"selectionToolbarTemplate\"\r\n [resizableColumns]=\"resizableColumns\">\r\n <ng-content></ng-content>\r\n </ec-table>\r\n </ng-template>\r\n\r\n <!-- pagination footer visible if table is page-able and there are more than one page of results -->\r\n <footer *ngIf=\"!hideFooter && pageable && searchResults.totalItemsBeforePaging! > pageSize!\"\r\n class=\"d-flex flex-shrink align-items-center\"\r\n [class.border-top]=\"!customContentTemplate\">\r\n <ec-table-pagination id=\"{{id}}_pager\"\r\n class=\"font-color-primary\"\r\n [totalItems]=\"searchResults.totalItemsBeforePaging\"\r\n [pageSize]=\"pageSize\"\r\n [maxTabs]=\"maxTabs\"\r\n [pageNumber]=\"pageInfo?.pageNumber\"\r\n (pageChanged)=\"onPageChange($event)\">\r\n </ec-table-pagination>\r\n <div id=\"resultsCount\"\r\n *ngIf=\"searchResults?.items?.length\"\r\n class=\"ml-auto mr-2 font-color-hint text-truncate\" \r\n title=\"{{resultsCount}} {{additionalCountText}}\">{{resultsCount}} {{additionalCountText}}</div>\r\n </footer>\r\n\r\n <!-- default footer: visible if hideFooter is false and table is not page-able or there are only one page of results (always shows if there is a caption to indicate no results) -->\r\n <footer *ngIf=\"(!hideFooter && (!pageable || searchResults.totalItemsBeforePaging! <= pageSize!)) || tableCaption\"\r\n class=\"p-2 d-flex\"\r\n [ngClass]=\"{'has-results': searchResults?.items?.length, 'border-top': searchResults?.items?.length && !customContentTemplate}\">\r\n <ng-content *ngIf=\"!tableCaption\"\r\n select=\".searchable-table-footer\"></ng-content>\r\n <div id=\"tableCaption\"\r\n *ngIf=\"tableCaption\"\r\n [innerHTML]=\"tableCaption\"></div>\r\n <div id=\"resultsCount\"\r\n *ngIf=\"searchResults?.items?.length\"\r\n class=\"ml-auto text-truncate\"\r\n title=\"{{resultsCount}} {{additionalCountText}}\">{{resultsCount}} {{additionalCountText}}</div>\r\n </footer>\r\n</section>",
|
|
6599
|
+
styles: ["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{--ec-flex-ec-table:var(--ec-flex-properties,0 1 auto);--ec-flex-overlay-section:var(--ec-flex-properties,0 1 auto);--ec-flex-properties:0 1 auto;display:flex;flex:1 1;flex-direction:column;min-height:0}:host ::ng-deep .card-header+ec-table.is-selectable th{height:2.5rem;padding-bottom:.9375rem}:host ::ng-deep .card-header+ec-table.is-selectable th.is-resizable .handle{padding-top:.5rem}:host ::ng-deep .card-header+ec-table.is-selectable th.is-resizable .handle:before{top:.5rem}:host ::ng-deep .card-header+ec-table.is-selectable .selectable-table-toolbar{height:2.5rem;padding-bottom:.5rem}section{flex:var(--ec-flex-overlay-section);min-height:0}ec-table{flex:var(--ec-flex-ec-table);min-height:0}footer{font-size:.75rem;line-height:1rem}footer.has-results{color:rgba(26,26,35,.38);text-align:right}.card.has-mask{min-height:15rem}"]
|
|
6595
6600
|
},] }
|
|
6596
6601
|
];
|
|
6597
6602
|
SearchableTableComponent.ctorParameters = () => [
|
|
@@ -6635,7 +6640,8 @@ SearchableTableComponent.propDecorators = {
|
|
|
6635
6640
|
selectable: [{ type: Input }],
|
|
6636
6641
|
customContentTemplate: [{ type: Input }],
|
|
6637
6642
|
removeCard: [{ type: Input }],
|
|
6638
|
-
overlayClasses: [{ type: Input }]
|
|
6643
|
+
overlayClasses: [{ type: Input }],
|
|
6644
|
+
fillParentHeight: [{ type: Input }]
|
|
6639
6645
|
};
|
|
6640
6646
|
|
|
6641
6647
|
class TableDetailRowComponent {
|
|
@@ -7036,7 +7042,7 @@ class TableComponent {
|
|
|
7036
7042
|
TableComponent.decorators = [
|
|
7037
7043
|
{ type: Component, args: [{
|
|
7038
7044
|
selector: 'ec-table',
|
|
7039
|
-
template: "<div class=\"selectable-table-toolbar\"\r\n *ngIf=\"hasSelection\">\r\n <ng-container *ngTemplateOutlet=\"selectionToolbarTemplate\"></ng-container>\r\n</div>\r\n<div id=\"{{id}}-scroll-container\" \r\n class=\"table-scroll-container\">\r\n <table class=\"main-table\"\r\n id=\"{{id}}\"\r\n [ecResizableTable]=\"resizable\"\r\n [containerEl]=\"el\"\r\n [sortableTable]=\"sortable\"\r\n [resizableColumns]=\"resizableColumns\">\r\n <ng-content></ng-content>\r\n </table>\r\n</div>",
|
|
7045
|
+
template: "<div class=\"selectable-table-toolbar\"\r\n *ngIf=\"hasSelection && selectionToolbarTemplate\">\r\n <ng-container *ngTemplateOutlet=\"selectionToolbarTemplate\"></ng-container>\r\n</div>\r\n<div id=\"{{id}}-scroll-container\" \r\n class=\"table-scroll-container\">\r\n <table class=\"main-table\"\r\n id=\"{{id}}\"\r\n [ecResizableTable]=\"resizable\"\r\n [containerEl]=\"el\"\r\n [sortableTable]=\"sortable\"\r\n [resizableColumns]=\"resizableColumns\">\r\n <ng-content></ng-content>\r\n </table>\r\n</div>",
|
|
7040
7046
|
encapsulation: ViewEncapsulation.None,
|
|
7041
7047
|
styles: ["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}ec-table{display:flex;min-height:0;position:relative}ec-table .table-scroll-container{flex:1 1;min-height:0;overflow-y:auto}ec-table .main-table{border-collapse:separate;border-spacing:0;font-size:.75rem;width:100%}ec-table .main-table th{border-bottom:1px solid rgba(26,26,35,.87);color:rgba(26,26,35,.66);font-weight:400;height:2rem;line-height:1rem;overflow:hidden;padding:.5rem;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}ec-table .main-table th:first-child{padding-left:1rem}ec-table .main-table th:last-child{padding-right:1rem}ec-table .main-table td{border-top:1px solid rgba(26,26,35,.18);height:2rem;line-height:1rem;overflow:hidden;padding:.5rem;text-overflow:ellipsis;vertical-align:top;white-space:nowrap}ec-table .main-table td:first-child{padding-left:1rem}ec-table .main-table td:last-child{padding-right:1rem}ec-table .main-table tbody>tr:first-child td{border-top:0}ec-table .main-table tbody>tr.is-error td{background-color:#ecc4c5}ec-table .main-table tbody>tr.is-success td{background-color:#dff0d8}ec-table .main-table tfoot td{font-weight:700}ec-table .main-table tbody>tr.is-selected,ec-table .main-table tbody>tr.is-selected>td{background-color:#dae4e9}ec-table .main-table tr.is-heading td{border-top:0;color:rgba(26,26,35,.66);font-size:.75rem;font-weight:700;line-height:1.333333333;padding-bottom:0;text-transform:uppercase;vertical-align:bottom}ec-table .main-table tr.is-heading+tr td{border-top:0}ec-table .main-table td.actions-col,ec-table .main-table th.actions-col{padding:0}ec-table .main-table td.actions-1,ec-table .main-table th.actions-1{width:2.0625rem}ec-table .main-table td.actions-2,ec-table .main-table th.actions-2{width:4.0625rem}ec-table .main-table td.actions-3,ec-table .main-table th.actions-3{width:6.0625rem}ec-table .main-table td.actions-4,ec-table .main-table th.actions-4{width:8.0625rem}ec-table .main-table td.actions-5,ec-table .main-table th.actions-5{width:10.0625rem}ec-table.is-condensed td,ec-table.is-condensed th{height:1.5rem;padding-bottom:.25rem;padding-top:.25rem}ec-table.is-condensed:not(.has-borders)>table td{border-bottom-width:0;border-top-width:0}ec-table .selectable-table-toolbar{align-items:center;background-color:#fff;border-bottom:1px solid rgba(26,26,35,.87);display:flex;height:3rem;left:calc(var(--selection-toolbar-left, 0rem) + 1.5625rem);padding:0 .5rem;position:absolute;right:0;top:0;z-index:4}ec-table.is-scrollable>.table-scroll-container>table{position:relative}ec-table.is-scrollable>.table-scroll-container>table>thead th{background-color:#fff;position:sticky!important;top:0;z-index:1}ec-table.is-scrollable>.table-scroll-container>table>tfoot td{background-color:#fff;bottom:0;position:sticky!important;z-index:1}ec-table.is-scrollable.bg-body>.table-scroll-container>table>tfoot td,ec-table.is-scrollable.bg-body>.table-scroll-container>table>thead th{background-color:#f1f3f4}ec-table.is-sortable th[data-sortfield]{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper{cursor:pointer;display:flex}ec-table.is-sortable th[data-sortfield].is-resizable .content{flex:0 1 auto}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper:after{background-position:50%;background-repeat:no-repeat;content:\"\";display:none;flex:none;height:.875rem;margin:0 .25rem;vertical-align:top;width:.875rem}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-asc .content-wrapper:after,ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after{background-image:url('data:image/svg+xml;charset=utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path fill=\"rgba(26, 26, 35, 0.66)\" d=\"M14 8.828V27a2 2 0 1 0 4 0V8.828l4.586 4.586a2 2 0 0 0 2.828-2.828l-8-8a2 2 0 0 0-2.828 0l-8 8a2 2 0 0 0 2.828 2.828L14 8.828z\"/></svg>');display:inline-block}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield].is-resizable.text-right .content-wrapper{flex-direction:row-reverse}ec-table.is-sortable th[data-sortfield]:not(.is-resizable){cursor:pointer}ec-table.is-sortable th[data-sortfield]:not(.is-resizable):after{background-position:50%;background-repeat:no-repeat;content:\"\";display:none;height:.875rem;margin:0 .25rem;vertical-align:top;width:.875rem}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-asc:after,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after{background-image:url('data:image/svg+xml;charset=utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path fill=\"rgba(26, 26, 35, 0.66)\" d=\"M14 8.828V27a2 2 0 1 0 4 0V8.828l4.586 4.586a2 2 0 0 0 2.828-2.828l-8-8a2 2 0 0 0-2.828 0l-8 8a2 2 0 0 0 2.828 2.828L14 8.828z\"/></svg>');display:inline-block}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:after{content:\"\";display:none!important}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:before{background-position:50%;background-repeat:no-repeat;content:\"\";display:none;height:.875rem;margin:0 .25rem;vertical-align:top;width:.875rem}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-asc:before,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before{background-image:url('data:image/svg+xml;charset=utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path fill=\"rgba(26, 26, 35, 0.66)\" d=\"M14 8.828V27a2 2 0 1 0 4 0V8.828l4.586 4.586a2 2 0 0 0 2.828-2.828l-8-8a2 2 0 0 0-2.828 0l-8 8a2 2 0 0 0 2.828 2.828L14 8.828z\"/></svg>');display:inline-block}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before{transform:scaleY(-1)}ec-table.is-resizable .main-table{table-layout:fixed;width:100%}ec-table.is-resizable th.is-resizable{overflow:visible;position:relative;z-index:1}ec-table.is-resizable th.is-resizable.is-active{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}ec-table.is-resizable th.is-resizable.is-active .handle:after{background-color:#0084a9}ec-table.is-resizable th.is-resizable .handle{height:100%;padding:.5rem 0 .5rem 10px;position:absolute;right:-7px;right:0;top:0;width:13px;z-index:30}ec-table.is-resizable th.is-resizable .handle:after{content:\"\";display:block;height:100%;position:relative;transition:background-color .3s ease}ec-table.is-resizable th.is-resizable .handle:hover{cursor:col-resize}ec-table.is-resizable th.is-resizable .handle:hover:after{background-color:#0084a9}ec-table.is-resizable th.is-resizable .handle:before{background-color:#d2d7d9;bottom:.5rem;content:\"\";display:block;position:absolute;right:0;top:.5rem;width:1px}ec-table.is-resizable th.is-resizable .content{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-resizable th.is-resizable:last-child .handle:before{display:none}ec-table.is-resizable td,ec-table.is-resizable th{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-selectable .main-table thead th{height:3rem}ec-table.is-selectable .main-table tbody>tr:hover>td{background-color:#bfe0e9;border-color:transparent;cursor:pointer}ec-table.is-selectable .main-table tbody>tr:hover.is-selected{background-color:#dae4e9}ec-table.is-selectable .main-table tbody>tr:hover+tr>td{border-color:#bfe0e9}ec-table.is-selectable th.is-resizable .handle{padding-bottom:1rem;padding-top:1rem}ec-table.is-selectable th.is-resizable .handle:before{bottom:1rem;top:1rem}ec-table.is-master-detail>table{table-layout:fixed}ec-table.is-form-table td{border-top:0;font-size:1rem;height:2.5rem;line-height:2rem;padding-bottom:.25rem;padding-top:.25rem}ec-table.is-form-table tr:first-child td{height:2.75rem;padding-top:.5rem}ec-table.is-form-table tr:last-child td{height:2.75rem;padding-bottom:.5rem}ec-table.is-fixed .main-table{table-layout:fixed}"]
|
|
7042
7048
|
},] }
|
|
@@ -7923,6 +7929,7 @@ class WizardButtonsComponent {
|
|
|
7923
7929
|
this.nextLabel = 'Next_TC';
|
|
7924
7930
|
this.backLabel = 'Back_TC';
|
|
7925
7931
|
this.cancelLabel = 'Cancel';
|
|
7932
|
+
this.saveLabel = 'Save';
|
|
7926
7933
|
this.cancelId = 'cancelWizardDialog';
|
|
7927
7934
|
this.saveId = 'saveWizardDialog';
|
|
7928
7935
|
this.tabindex = 0;
|
|
@@ -7947,7 +7954,7 @@ class WizardButtonsComponent {
|
|
|
7947
7954
|
WizardButtonsComponent.decorators = [
|
|
7948
7955
|
{ type: Component, args: [{
|
|
7949
7956
|
selector: 'ec-wizard-buttons',
|
|
7950
|
-
template: "<ec-button id=\"{{saveId}}\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hideNextSaveButton\"\r\n type=\"primary\"\r\n [label]=\"(!showSave ? nextLabel :
|
|
7957
|
+
template: "<ec-button id=\"{{saveId}}\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hideNextSaveButton\"\r\n type=\"primary\"\r\n [label]=\"(!showSave ? nextLabel : saveLabel)\"\r\n [tabindex]=\"!tabindex ? 0 : tabindex\"\r\n (clicked)=\"!showSave ? onNextTab() : onSave($event)\"\r\n [disabled]=\"status?.status === 'pending' || status?.status === 'error'\">\r\n</ec-button>\r\n<ec-button id=\"previousTab\"\r\n class=\"ml-2\"\r\n *ngIf=\"showBack\"\r\n type=\"secondary\"\r\n [label]=\"backLabel\"\r\n [tabindex]=\"!tabindex ? 0 : tabindex+1\"\r\n (clicked)=\"onPreviousTab()\">\r\n</ec-button>\r\n<ec-button id=\"{{cancelId}}\"\r\n type=\"secondary\"\r\n [label]=\"cancelLabel\"\r\n [tabindex]=\"!tabindex ? 0 : tabindex+2\"\r\n (clicked)=\"onCancel()\">\r\n</ec-button>\r\n",
|
|
7951
7958
|
styles: [":host{display:flex;flex-direction:row-reverse}:host-context(ec-page-view .titlebar>.actions){flex-direction:row}"]
|
|
7952
7959
|
},] }
|
|
7953
7960
|
];
|
|
@@ -7956,6 +7963,7 @@ WizardButtonsComponent.propDecorators = {
|
|
|
7956
7963
|
nextLabel: [{ type: Input }],
|
|
7957
7964
|
backLabel: [{ type: Input }],
|
|
7958
7965
|
cancelLabel: [{ type: Input }],
|
|
7966
|
+
saveLabel: [{ type: Input }],
|
|
7959
7967
|
cancelId: [{ type: Input }],
|
|
7960
7968
|
saveId: [{ type: Input }],
|
|
7961
7969
|
tabindex: [{ type: Input }],
|
|
@@ -7975,8 +7983,8 @@ class WizardProgressComponent {
|
|
|
7975
7983
|
WizardProgressComponent.decorators = [
|
|
7976
7984
|
{ type: Component, args: [{
|
|
7977
7985
|
selector: 'ec-wizard-progress',
|
|
7978
|
-
template: "<div *ngFor=\"let tab of tabGroup?.items; index as index\"\r\n class=\"progress-tab
|
|
7979
|
-
styles: [".progress-tab,:host{align-items:center;display:flex}.progress-tab.is-active{font-weight:700}
|
|
7986
|
+
template: "<div *ngFor=\"let tab of tabGroup?.items; index as index; first as isFirst; last as isLast\"\r\n class=\"progress-tab\"\r\n [class.ml-2]=\"!isFirst\"\r\n [class.is-active]=\"currentTab?.id === tab.id\">\r\n\r\n <i *ngIf=\"tab.completed\"\r\n class=\"ec-icon icon-check-circle mr-1 font-color-success\"></i>\r\n <span *ngIf=\"!tab.completed\">{{index+1}}. </span>\r\n <span>{{tab.label | translate}}</span>\r\n <i *ngIf=\"!isLast\"\r\n class=\"ec-icon icon-angle-down rotate-270 ml-2\"></i>\r\n</div>",
|
|
7987
|
+
styles: [":host{padding:0 1rem}.progress-tab,:host{align-items:center;display:flex}.progress-tab.is-active{font-weight:700}"]
|
|
7980
7988
|
},] }
|
|
7981
7989
|
];
|
|
7982
7990
|
WizardProgressComponent.ctorParameters = () => [];
|
|
@@ -8116,6 +8124,189 @@ FormControlLabelComponent.propDecorators = {
|
|
|
8116
8124
|
hideValidationMessage: [{ type: Input }]
|
|
8117
8125
|
};
|
|
8118
8126
|
|
|
8127
|
+
;
|
|
8128
|
+
class ItemPickerSelectableContext extends TableSelectableRowContext {
|
|
8129
|
+
constructor() {
|
|
8130
|
+
super(...arguments);
|
|
8131
|
+
/** id/value map of the selected items. Used for keeping track of what is selected */
|
|
8132
|
+
this.selectedItemsMap = new Map();
|
|
8133
|
+
/**
|
|
8134
|
+
* Gives a way to tell the picker component that the map was modified externally and to update
|
|
8135
|
+
* the available/selected lists
|
|
8136
|
+
*/
|
|
8137
|
+
this.selectedItemsMapChanged = new Subject();
|
|
8138
|
+
}
|
|
8139
|
+
}
|
|
8140
|
+
class ItemPickerComponent {
|
|
8141
|
+
constructor() {
|
|
8142
|
+
/** Identifier for the component. This will be added to the beginning of all internal action elements */
|
|
8143
|
+
this.id = '';
|
|
8144
|
+
/** Title displayed above the available items table */
|
|
8145
|
+
this.availableTitle = '';
|
|
8146
|
+
/** Title displayed above the selected items list */
|
|
8147
|
+
this.selectedTitle = '';
|
|
8148
|
+
/** The type of item being selected. Ex. Meters, Addresses */
|
|
8149
|
+
this.itemName = '';
|
|
8150
|
+
/** Used by the internal Searchable Table when there is no available items to choose from based on the getItems results. Do not supply
|
|
8151
|
+
* to inherit the default message.
|
|
8152
|
+
*/
|
|
8153
|
+
this.noDataMessage = '';
|
|
8154
|
+
/** List of available items to pick from */
|
|
8155
|
+
this.availableItems = [];
|
|
8156
|
+
/**
|
|
8157
|
+
* Selected items array. Created from the selected items map. Binding to the
|
|
8158
|
+
* map iterate values caused angular "expression changed" errors so after a map
|
|
8159
|
+
* update this gets set to the values
|
|
8160
|
+
*/
|
|
8161
|
+
this.selectedItems = [];
|
|
8162
|
+
/** Track by used for the searchable table rows */
|
|
8163
|
+
this.trackByIndex = (index) => index;
|
|
8164
|
+
this.tableStatus = new Overlay('hasData');
|
|
8165
|
+
/** Used to shut down our subscriptions when the component is destroyed */
|
|
8166
|
+
this.destroyed = new Subject();
|
|
8167
|
+
}
|
|
8168
|
+
ngOnInit() {
|
|
8169
|
+
this.setupRowCheckboxesWatcher();
|
|
8170
|
+
this.setupSelectedItemsChangedWatcher();
|
|
8171
|
+
}
|
|
8172
|
+
/**
|
|
8173
|
+
* Watch for changes and react if the custom item template value changes
|
|
8174
|
+
*/
|
|
8175
|
+
ngOnChanges() {
|
|
8176
|
+
this.setInternalizedTemplates();
|
|
8177
|
+
}
|
|
8178
|
+
ngOnDestroy() {
|
|
8179
|
+
this.destroyed.next();
|
|
8180
|
+
this.destroyed.unsubscribe();
|
|
8181
|
+
}
|
|
8182
|
+
/**
|
|
8183
|
+
* Called by the searchable table when a new set of items are returned from the getItems call
|
|
8184
|
+
* @param results
|
|
8185
|
+
*/
|
|
8186
|
+
onItemsChange(results) {
|
|
8187
|
+
// Check to see if any of the items are marked to be selected by default and if so
|
|
8188
|
+
// add them to the map.
|
|
8189
|
+
results.items.forEach(item => {
|
|
8190
|
+
var _a, _b;
|
|
8191
|
+
if (item.defaultSelected && !((_a = this.selectionContext) === null || _a === void 0 ? void 0 : _a.selectedItemsMap.has(item.id))) {
|
|
8192
|
+
(_b = this.selectionContext) === null || _b === void 0 ? void 0 : _b.selectedItemsMap.set(item.id, item);
|
|
8193
|
+
}
|
|
8194
|
+
});
|
|
8195
|
+
this.availableItems = results.items;
|
|
8196
|
+
}
|
|
8197
|
+
/**
|
|
8198
|
+
* Called when the clear selection link button is clicked
|
|
8199
|
+
*/
|
|
8200
|
+
onClearSelectionClick() {
|
|
8201
|
+
this.selectionContext.selectedItemsMap = new Map();
|
|
8202
|
+
this.selectionContext.rowCheckboxes.controls.forEach(control => control.setValue(false));
|
|
8203
|
+
}
|
|
8204
|
+
/**
|
|
8205
|
+
* Called when the remove item button is clicked for a selected item
|
|
8206
|
+
* @param removeItem
|
|
8207
|
+
*/
|
|
8208
|
+
removeSelectedItem(removeItem) {
|
|
8209
|
+
let foundIndex = this.availableItems.findIndex(item => item.id === removeItem.id);
|
|
8210
|
+
if (foundIndex > -1) {
|
|
8211
|
+
// Update the row checkbox since the item exists in the page being viewed
|
|
8212
|
+
// The value change handler for row checkboxes will update the map/selected items
|
|
8213
|
+
this.selectionContext.rowCheckboxes.at(foundIndex).setValue(false);
|
|
8214
|
+
}
|
|
8215
|
+
else {
|
|
8216
|
+
// The item being removed is not on the current page so just update the
|
|
8217
|
+
// map/selected items
|
|
8218
|
+
this.selectionContext.selectedItemsMap.delete(removeItem.id);
|
|
8219
|
+
this.selectedItems = Array.from(this.selectionContext.selectedItemsMap.values());
|
|
8220
|
+
}
|
|
8221
|
+
}
|
|
8222
|
+
/**
|
|
8223
|
+
* Watch for changes to the row checkboxes form array and update the selected items
|
|
8224
|
+
* list
|
|
8225
|
+
*/
|
|
8226
|
+
setupRowCheckboxesWatcher() {
|
|
8227
|
+
var _a;
|
|
8228
|
+
(_a = this.selectionContext) === null || _a === void 0 ? void 0 : _a.rowCheckboxes.valueChanges.pipe(
|
|
8229
|
+
// Debounce 10 is simply to not spam the change handler on load/page change
|
|
8230
|
+
// Otherwise this will get called every time a new row is added to the table
|
|
8231
|
+
debounceTime(10), takeUntil(this.destroyed)).subscribe((rowValues) => {
|
|
8232
|
+
var _a;
|
|
8233
|
+
rowValues.forEach((selected, index) => {
|
|
8234
|
+
var _a, _b, _c, _d;
|
|
8235
|
+
let availableItem = this.availableItems[index];
|
|
8236
|
+
if (!selected && ((_a = this.selectionContext) === null || _a === void 0 ? void 0 : _a.selectedItemsMap.has(availableItem.id))) {
|
|
8237
|
+
(_b = this.selectionContext) === null || _b === void 0 ? void 0 : _b.selectedItemsMap.delete(availableItem.id);
|
|
8238
|
+
}
|
|
8239
|
+
else if (selected && !((_c = this.selectionContext) === null || _c === void 0 ? void 0 : _c.selectedItemsMap.has(availableItem.id))) {
|
|
8240
|
+
(_d = this.selectionContext) === null || _d === void 0 ? void 0 : _d.selectedItemsMap.set(availableItem.id, availableItem);
|
|
8241
|
+
}
|
|
8242
|
+
});
|
|
8243
|
+
this.selectedItems = Array.from((_a = this.selectionContext) === null || _a === void 0 ? void 0 : _a.selectedItemsMap.values());
|
|
8244
|
+
});
|
|
8245
|
+
}
|
|
8246
|
+
/**
|
|
8247
|
+
* Watch to be told if changes to the map were made outside of the component and if so update
|
|
8248
|
+
* the array displayed in the selected list and select checkboxes for visible available items
|
|
8249
|
+
*/
|
|
8250
|
+
setupSelectedItemsChangedWatcher() {
|
|
8251
|
+
this.selectionContext.selectedItemsMapChanged.pipe(takeUntil(this.destroyed)).subscribe(() => {
|
|
8252
|
+
var _a;
|
|
8253
|
+
if (this.selectionContext) {
|
|
8254
|
+
this.selectedItems = Array.from((_a = this.selectionContext) === null || _a === void 0 ? void 0 : _a.selectedItemsMap.values());
|
|
8255
|
+
this.availableItems.forEach((item, index) => {
|
|
8256
|
+
if (this.selectionContext.selectedItemsMap.has(item.id)) {
|
|
8257
|
+
this.selectionContext.rowCheckboxes.at(index).setValue(true);
|
|
8258
|
+
}
|
|
8259
|
+
});
|
|
8260
|
+
}
|
|
8261
|
+
});
|
|
8262
|
+
}
|
|
8263
|
+
setInternalizedTemplates() {
|
|
8264
|
+
if (this.customAvailableHeaderTemplate) {
|
|
8265
|
+
this.internalizedAvailableHeaderTemplate = this.customAvailableHeaderTemplate;
|
|
8266
|
+
}
|
|
8267
|
+
else {
|
|
8268
|
+
this.internalizedAvailableHeaderTemplate = this.defaultAvailableHeaderTemplate;
|
|
8269
|
+
}
|
|
8270
|
+
if (this.customAvailableItemTemplate) {
|
|
8271
|
+
this.internalizedAvailableItemTemplate = this.customAvailableItemTemplate;
|
|
8272
|
+
}
|
|
8273
|
+
else {
|
|
8274
|
+
this.internalizedAvailableItemTemplate = this.defaultAvailableItemTemplate;
|
|
8275
|
+
}
|
|
8276
|
+
if (this.customSelectedItemTemplate) {
|
|
8277
|
+
this.internalizedSelectedItemTemplate = this.customSelectedItemTemplate;
|
|
8278
|
+
}
|
|
8279
|
+
else {
|
|
8280
|
+
this.internalizedSelectedItemTemplate = this.defaultSelectedItemTemplate;
|
|
8281
|
+
}
|
|
8282
|
+
}
|
|
8283
|
+
}
|
|
8284
|
+
ItemPickerComponent.decorators = [
|
|
8285
|
+
{ type: Component, args: [{
|
|
8286
|
+
selector: 'ec-item-picker',
|
|
8287
|
+
template: "<div class=\"d-flex flex-grow card\">\r\n <ec-searchable-table id=\"{{id}}_searchableTable\"\r\n class=\"flex-grow\"\r\n [fillParentHeight]=\"true\"\r\n [hideHeader]=\"true\"\r\n [hideSearchControl]=\"true\"\r\n [removeCard]=\"true\"\r\n [pageable]=\"true\"\r\n [pageSize]=\"50\"\r\n [objectType]=\"itemName\"\r\n [formModel]=\"formModel\"\r\n [ready]=\"ready\"\r\n [getItems]=\"getItems\"\r\n [selectable]=\"true\"\r\n [noDataMessage]=\"noDataMessage\"\r\n [selectionContext]=\"selectionContext\"\r\n [status]=\"tableStatus\"\r\n (itemsChange)=\"onItemsChange($event)\"\r\n [style.--ec-flex-properties]=\"(availableItems.length || tableStatus.status === 'pending' || tableStatus.status === 'error' ) ? '1 1 auto' : '0 1 auto'\">\r\n <thead>\r\n <tr ecTableSelectableRow\r\n [selectionContext]=\"selectionContext\">\r\n <ng-container *ngTemplateOutlet=\"internalizedAvailableHeaderTemplate;\">\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let item of availableItems; index as rowIndex; trackBy: trackByIndex\">\r\n <tr ecTableSelectableRow\r\n [selectionContext]=\"selectionContext\"\r\n [rowIndex]=\"rowIndex\"\r\n [isSelected]=\"selectionContext?.selectedItemsMap.has(item.id)\">\r\n <ng-container *ngTemplateOutlet=\"internalizedAvailableItemTemplate; context: {$implicit: item}\">\r\n </ng-container>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </ec-searchable-table>\r\n\r\n <div class=\"d-flex flex-column flex-grow\">\r\n <div class=\"d-flex flex-shrink align-items-center px-2\"\r\n [style.height.rem]=\"3\">\r\n <span class=\"text-heading-2\">{{selectedTitle | translate}}</span>\r\n <a *ngIf=\"selectedItems.length\"\r\n id=\"{{id}}_clearSelection\"\r\n class=\"ml-auto\"\r\n href=\"javascript:void(0)\"\r\n (click)=\"onClearSelectionClick()\"\r\n translate>\r\n ClearSelection_TC\r\n </a>\r\n </div>\r\n\r\n <div class=\"d-flex flex-column flex-grow scroll-y\">\r\n <ng-container *ngIf=\"selectedItems.length\">\r\n <div *ngFor=\"let item of selectedItems; last as isLast\"\r\n class=\"d-flex align-items-center pl-2\"\r\n [class.border-bottom]=\"!isLast\">\r\n <ng-container *ngTemplateOutlet=\"internalizedSelectedItemTemplate; context: {$implicit: item}\"></ng-container>\r\n\r\n <ec-button id=\"{{id}}_removeSelected_{{item.id}}\"\r\n class=\"ml-auto\"\r\n type=\"icon\"\r\n icon=\"ec-icon icon-cancel\"\r\n (clicked)=\"removeSelectedItem(item)\">\r\n </ec-button>\r\n </div>\r\n </ng-container>\r\n <span *ngIf=\"!selectedItems.length\"\r\n class=\"px-2 pt-2 font-size-small\"\r\n translate\r\n [translateParams]=\"{itemName: itemName | translate}\">\r\n ItemPickerNoItemsSelected_SC\r\n </span>\r\n </div>\r\n\r\n <div *ngIf=\"selectedItems.length\"\r\n class=\"d-flex flex-shrink px-2 border-top align-items-center\"\r\n [style.height.px]=\"40\">\r\n <span class=\"ml-auto text-caption-1 font-color-hint\">\r\n {{selectedItems.length}} {{itemName | translate}}\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #defaultAvailableHeaderTemplate>\r\n <th class=\"text-heading-2 font-color-primary\">{{availableTitle | translate}}</th>\r\n</ng-template>\r\n\r\n<ng-template #defaultAvailableItemTemplate let-item>\r\n <td>{{item.label}}</td>\r\n</ng-template>\r\n\r\n<ng-template #defaultSelectedItemTemplate let-item>\r\n {{item.label}}\r\n</ng-template>",
|
|
8288
|
+
styles: ["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}::ng-deep ec-table .main-table thead th{border-bottom:0}ec-searchable-table{border-right:2px solid #d2d7d9}.card{border:0}"]
|
|
8289
|
+
},] }
|
|
8290
|
+
];
|
|
8291
|
+
ItemPickerComponent.ctorParameters = () => [];
|
|
8292
|
+
ItemPickerComponent.propDecorators = {
|
|
8293
|
+
id: [{ type: Input }],
|
|
8294
|
+
availableTitle: [{ type: Input }],
|
|
8295
|
+
selectedTitle: [{ type: Input }],
|
|
8296
|
+
itemName: [{ type: Input }],
|
|
8297
|
+
formModel: [{ type: Input }],
|
|
8298
|
+
customAvailableHeaderTemplate: [{ type: Input }],
|
|
8299
|
+
customAvailableItemTemplate: [{ type: Input }],
|
|
8300
|
+
customSelectedItemTemplate: [{ type: Input }],
|
|
8301
|
+
ready: [{ type: Input }],
|
|
8302
|
+
getItems: [{ type: Input }],
|
|
8303
|
+
selectionContext: [{ type: Input }],
|
|
8304
|
+
noDataMessage: [{ type: Input }],
|
|
8305
|
+
defaultAvailableHeaderTemplate: [{ type: ViewChild, args: ['defaultAvailableHeaderTemplate', { static: true },] }],
|
|
8306
|
+
defaultAvailableItemTemplate: [{ type: ViewChild, args: ['defaultAvailableItemTemplate', { static: true },] }],
|
|
8307
|
+
defaultSelectedItemTemplate: [{ type: ViewChild, args: ['defaultSelectedItemTemplate', { static: true },] }]
|
|
8308
|
+
};
|
|
8309
|
+
|
|
8119
8310
|
class ComponentsModule {
|
|
8120
8311
|
/**
|
|
8121
8312
|
* Providing services through the forRoot pattern here ensures that the components module and the importing
|
|
@@ -8194,7 +8385,8 @@ ComponentsModule.decorators = [
|
|
|
8194
8385
|
RelativeDatePipe,
|
|
8195
8386
|
ResizableComponent,
|
|
8196
8387
|
HighlightTextPipe,
|
|
8197
|
-
FormControlLabelComponent
|
|
8388
|
+
FormControlLabelComponent,
|
|
8389
|
+
ItemPickerComponent
|
|
8198
8390
|
],
|
|
8199
8391
|
imports: [
|
|
8200
8392
|
CommonModule,
|
|
@@ -8270,7 +8462,8 @@ ComponentsModule.decorators = [
|
|
|
8270
8462
|
RelativeDatePipe,
|
|
8271
8463
|
ResizableComponent,
|
|
8272
8464
|
HighlightTextPipe,
|
|
8273
|
-
FormControlLabelComponent
|
|
8465
|
+
FormControlLabelComponent,
|
|
8466
|
+
ItemPickerComponent
|
|
8274
8467
|
]
|
|
8275
8468
|
},] }
|
|
8276
8469
|
];
|
|
@@ -9245,5 +9438,5 @@ class HierarchyBaseTestInjectorFactory {
|
|
|
9245
9438
|
* Generated bundle index. Do not edit.
|
|
9246
9439
|
*/
|
|
9247
9440
|
|
|
9248
|
-
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, FormControlLabelComponent, 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, domainPattern, 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 };
|
|
9441
|
+
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, FormControlLabelComponent, FormGroupComponent, FormGroupHelper, HierarchyBase, HierarchyBaseTestInjectorFactory, HierarchyItem, HierarchyMocks, HierarchyTreeComponent, HighlightTextPipe, IfViewportWidthDirective, ItemDisplayComponent, ItemPickerComponent, ItemPickerSelectableContext, 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, domainPattern, 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 };
|
|
9249
9442
|
//# sourceMappingURL=energycap-components.js.map
|