@clr/angular 17.3.1 → 17.4.0
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/accordion/accordion-panel.d.ts +0 -3
- package/accordion/stepper/models/stepper.model.d.ts +3 -0
- package/accordion/stepper/providers/stepper.service.d.ts +2 -0
- package/accordion/stepper/step-button.d.ts +2 -0
- package/accordion/stepper/stepper-panel.d.ts +3 -2
- package/clarity.api.md +26 -12
- package/data/datagrid/built-in/filters/datagrid-numeric-filter.d.ts +5 -1
- package/data/datagrid/datagrid-column.d.ts +7 -3
- package/data/datagrid/render/main-renderer.d.ts +1 -0
- package/esm2020/accordion/accordion-panel.mjs +3 -6
- package/esm2020/accordion/stepper/models/stepper.model.mjs +16 -1
- package/esm2020/accordion/stepper/providers/stepper.service.mjs +12 -1
- package/esm2020/accordion/stepper/step-button.mjs +13 -3
- package/esm2020/accordion/stepper/stepper-panel.mjs +4 -4
- package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter.mjs +79 -47
- package/esm2020/data/datagrid/datagrid-column.mjs +18 -8
- package/esm2020/data/datagrid/render/main-renderer.mjs +13 -1
- package/esm2020/layout/nav/nav-level.mjs +5 -3
- package/esm2020/utils/i18n/common-strings.default.mjs +4 -1
- package/esm2020/utils/i18n/common-strings.interface.mjs +1 -1
- package/esm2020/wizard/wizard-stepnav-item.mjs +23 -9
- package/fesm2015/clr-angular.mjs +199 -96
- package/fesm2015/clr-angular.mjs.map +1 -1
- package/fesm2020/clr-angular.mjs +199 -96
- package/fesm2020/clr-angular.mjs.map +1 -1
- package/package.json +2 -2
- package/utils/i18n/common-strings.interface.d.ts +12 -0
package/fesm2015/clr-angular.mjs
CHANGED
|
@@ -225,19 +225,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
225
225
|
}]
|
|
226
226
|
}] });
|
|
227
227
|
|
|
228
|
-
/*
|
|
229
|
-
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
230
|
-
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
231
|
-
* This software is released under MIT license.
|
|
232
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
233
|
-
*/
|
|
234
|
-
var AccordionStatus;
|
|
235
|
-
(function (AccordionStatus) {
|
|
236
|
-
AccordionStatus["Inactive"] = "inactive";
|
|
237
|
-
AccordionStatus["Error"] = "error";
|
|
238
|
-
AccordionStatus["Complete"] = "complete";
|
|
239
|
-
})(AccordionStatus || (AccordionStatus = {}));
|
|
240
|
-
|
|
241
228
|
/*
|
|
242
229
|
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
243
230
|
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
@@ -330,6 +317,8 @@ const commonStringsDefault = {
|
|
|
330
317
|
datagridFilterDialogAriaLabel: 'Filter dialog',
|
|
331
318
|
columnSeparatorAriaLabel: 'Column resize handle',
|
|
332
319
|
columnSeparatorDescription: 'Use left or right key to resize the column',
|
|
320
|
+
fromLabel: 'From',
|
|
321
|
+
toLabel: 'To',
|
|
333
322
|
// Alert
|
|
334
323
|
alertCloseButtonAriaLabel: 'Close alert',
|
|
335
324
|
alertNextAlertAriaLabel: 'Next alert message, {CURRENT} of {COUNT}',
|
|
@@ -375,6 +364,7 @@ const commonStringsDefault = {
|
|
|
375
364
|
datagridExpandableRowContent: 'Expandable row content',
|
|
376
365
|
datagridExpandableRowsHelperText: `Screen reader table commands may not work for viewing expanded content, please use your screen reader's browse mode to read the content exposed by this button`,
|
|
377
366
|
// Wizard
|
|
367
|
+
wizardStep: 'Step',
|
|
378
368
|
wizardStepSuccess: 'Completed',
|
|
379
369
|
wizardStepError: 'Error',
|
|
380
370
|
wizardStepnavAriaLabel: 'Step navigation',
|
|
@@ -446,6 +436,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
446
436
|
}]
|
|
447
437
|
}] });
|
|
448
438
|
|
|
439
|
+
/*
|
|
440
|
+
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
441
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
442
|
+
* This software is released under MIT license.
|
|
443
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
444
|
+
*/
|
|
445
|
+
var AccordionStatus;
|
|
446
|
+
(function (AccordionStatus) {
|
|
447
|
+
AccordionStatus["Inactive"] = "inactive";
|
|
448
|
+
AccordionStatus["Error"] = "error";
|
|
449
|
+
AccordionStatus["Complete"] = "complete";
|
|
450
|
+
})(AccordionStatus || (AccordionStatus = {}));
|
|
451
|
+
|
|
449
452
|
/*
|
|
450
453
|
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
451
454
|
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
@@ -575,8 +578,6 @@ class ClrAccordionPanel {
|
|
|
575
578
|
this.disabled = false;
|
|
576
579
|
this.panelOpen = false;
|
|
577
580
|
this.panelOpenChange = new EventEmitter();
|
|
578
|
-
this.AccordionStatus = AccordionStatus;
|
|
579
|
-
this.isAccordion = true;
|
|
580
581
|
this._id = uniqueIdFactory();
|
|
581
582
|
}
|
|
582
583
|
get id() {
|
|
@@ -652,10 +653,10 @@ class ClrAccordionPanel {
|
|
|
652
653
|
}
|
|
653
654
|
}
|
|
654
655
|
ClrAccordionPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAccordionPanel, deps: [{ token: ClrCommonStringsService }, { token: AccordionService }, { token: IfExpandService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
655
|
-
ClrAccordionPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrAccordionPanel, selector: "clr-accordion-panel", inputs: { disabled: ["clrAccordionPanelDisabled", "disabled"], panelOpen: ["clrAccordionPanelOpen", "panelOpen"] }, outputs: { panelOpenChange: "clrAccordionPanelOpenChange" }, host: { properties: { "class.clr-accordion-panel": "true", "class.clr-accordion-panel-disabled": "this.disabled" } }, providers: [IfExpandService], queries: [{ propertyName: "accordionDescription", predicate: ClrAccordionDescription }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"
|
|
656
|
+
ClrAccordionPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrAccordionPanel, selector: "clr-accordion-panel", inputs: { disabled: ["clrAccordionPanelDisabled", "disabled"], panelOpen: ["clrAccordionPanelOpen", "panelOpen"] }, outputs: { panelOpenChange: "clrAccordionPanelOpenChange" }, host: { properties: { "class.clr-accordion-panel": "true", "class.clr-accordion-panel-disabled": "this.disabled" } }, providers: [IfExpandService], queries: [{ propertyName: "accordionDescription", predicate: ClrAccordionDescription }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], animations: panelAnimation, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
656
657
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAccordionPanel, decorators: [{
|
|
657
658
|
type: Component,
|
|
658
|
-
args: [{ selector: 'clr-accordion-panel', host: { '[class.clr-accordion-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: panelAnimation, providers: [IfExpandService], template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"
|
|
659
|
+
args: [{ selector: 'clr-accordion-panel', host: { '[class.clr-accordion-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: panelAnimation, providers: [IfExpandService], template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n" }]
|
|
659
660
|
}], ctorParameters: function () { return [{ type: ClrCommonStringsService }, { type: AccordionService }, { type: IfExpandService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { disabled: [{
|
|
660
661
|
type: Input,
|
|
661
662
|
args: ['clrAccordionPanelDisabled']
|
|
@@ -975,6 +976,9 @@ class StepperModel extends AccordionModel {
|
|
|
975
976
|
this._panels[panelId].open = !this._panels[panelId].open;
|
|
976
977
|
}
|
|
977
978
|
}
|
|
979
|
+
navigateToPreviousPanel(currentPanelId) {
|
|
980
|
+
this.openPreviousPanel(this._panels[currentPanelId].id);
|
|
981
|
+
}
|
|
978
982
|
navigateToNextPanel(currentPanelId, currentPanelValid = true) {
|
|
979
983
|
if (currentPanelValid) {
|
|
980
984
|
this.completePanel(currentPanelId);
|
|
@@ -1018,6 +1022,9 @@ class StepperModel extends AccordionModel {
|
|
|
1018
1022
|
getNextPanel(currentPanelId) {
|
|
1019
1023
|
return this.panels.find(s => s.index === this._panels[currentPanelId].index + 1);
|
|
1020
1024
|
}
|
|
1025
|
+
getPreviousPanel(currentPanelId) {
|
|
1026
|
+
return this.panels.find(s => s.index === this._panels[currentPanelId].index - 1);
|
|
1027
|
+
}
|
|
1021
1028
|
resetAllFuturePanels(panelId) {
|
|
1022
1029
|
this.panels.filter(panel => panel.index >= this._panels[panelId].index).forEach(panel => this.resetPanel(panel.id));
|
|
1023
1030
|
}
|
|
@@ -1056,6 +1063,15 @@ class StepperModel extends AccordionModel {
|
|
|
1056
1063
|
this._panels[nextPanel.id].disabled = true;
|
|
1057
1064
|
}
|
|
1058
1065
|
}
|
|
1066
|
+
openPreviousPanel(currentPanelId) {
|
|
1067
|
+
const prevPanel = this.getPreviousPanel(currentPanelId);
|
|
1068
|
+
if (prevPanel) {
|
|
1069
|
+
this._panels[currentPanelId].open = false;
|
|
1070
|
+
this._panels[currentPanelId].disabled = false;
|
|
1071
|
+
this._panels[prevPanel.id].open = true;
|
|
1072
|
+
this._panels[prevPanel.id].disabled = true;
|
|
1073
|
+
}
|
|
1074
|
+
}
|
|
1059
1075
|
setPanelError(panelId) {
|
|
1060
1076
|
this.resetAllFuturePanels(panelId);
|
|
1061
1077
|
this._panels[panelId].open = true;
|
|
@@ -1102,6 +1118,11 @@ class StepperService extends AccordionService {
|
|
|
1102
1118
|
this.accordion.setPanelsWithErrors(ids);
|
|
1103
1119
|
this.emitUpdatedPanels();
|
|
1104
1120
|
}
|
|
1121
|
+
navigateToPreviousPanel(currentPanelId) {
|
|
1122
|
+
this.accordion.navigateToPreviousPanel(currentPanelId);
|
|
1123
|
+
this.updatePreviousStep(currentPanelId);
|
|
1124
|
+
this.emitUpdatedPanels();
|
|
1125
|
+
}
|
|
1105
1126
|
navigateToNextPanel(currentPanelId, currentPanelValid = true) {
|
|
1106
1127
|
this.accordion.navigateToNextPanel(currentPanelId, currentPanelValid);
|
|
1107
1128
|
this.updateNextStep(currentPanelId, currentPanelValid);
|
|
@@ -1120,6 +1141,12 @@ class StepperService extends AccordionService {
|
|
|
1120
1141
|
this._activeStepChanges.next(currentPanelId);
|
|
1121
1142
|
}
|
|
1122
1143
|
}
|
|
1144
|
+
updatePreviousStep(currentPanelId) {
|
|
1145
|
+
const prevPanel = this.accordion.getPreviousPanel(currentPanelId);
|
|
1146
|
+
if (prevPanel) {
|
|
1147
|
+
this._activeStepChanges.next(prevPanel.id);
|
|
1148
|
+
}
|
|
1149
|
+
}
|
|
1123
1150
|
getAllCompletedPanelChanges() {
|
|
1124
1151
|
return this._panelsChanges.pipe(map(() => this.accordion.allPanelsCompleted), distinctUntilChanged());
|
|
1125
1152
|
}
|
|
@@ -1144,7 +1171,7 @@ class ClrStepperPanel extends ClrAccordionPanel {
|
|
|
1144
1171
|
this.formGroupName = formGroupName;
|
|
1145
1172
|
this.ngModelGroup = ngModelGroup;
|
|
1146
1173
|
this.stepperService = stepperService;
|
|
1147
|
-
this.
|
|
1174
|
+
this.AccordionStatus = AccordionStatus;
|
|
1148
1175
|
this.subscriptions = [];
|
|
1149
1176
|
}
|
|
1150
1177
|
get id() {
|
|
@@ -1195,10 +1222,10 @@ class ClrStepperPanel extends ClrAccordionPanel {
|
|
|
1195
1222
|
}
|
|
1196
1223
|
}
|
|
1197
1224
|
ClrStepperPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrStepperPanel, deps: [{ token: PLATFORM_ID }, { token: ClrCommonStringsService }, { token: i1.FormGroupName, optional: true }, { token: i1.NgModelGroup, optional: true }, { token: StepperService }, { token: IfExpandService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1198
|
-
ClrStepperPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrStepperPanel, selector: "clr-stepper-panel", host: { properties: { "class.clr-
|
|
1225
|
+
ClrStepperPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrStepperPanel, selector: "clr-stepper-panel", host: { properties: { "class.clr-stepper-panel": "true" } }, providers: [IfExpandService], viewQueries: [{ propertyName: "headerButton", first: true, predicate: ["headerButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header clr-stepper-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [attr.aria-disabled]=\"panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-step-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle clr-step-angle\"></cds-icon>\n <cds-icon\n status=\"danger\"\n *ngIf=\"panel.status === AccordionStatus.Error\"\n shape=\"exclamation-circle\"\n class=\"clr-step-error-icon\"\n ></cds-icon>\n <cds-icon\n status=\"success\"\n *ngIf=\"panel.status === AccordionStatus.Complete\"\n shape=\"check-circle\"\n class=\"clr-step-complete-icon\"\n ></cds-icon>\n </span>\n <span class=\"clr-step-title-wrapper\">\n <span class=\"clr-step-number\">{{panelNumber}}.</span>\n <ng-content select=\"clr-step-title\"></ng-content>\n </span>\n <ng-content select=\"clr-step-description\"></ng-content>\n </button>\n <div class=\"clr-sr-only\" role=\"status\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\"> {{ stepErrorText(panelNumber)}} </ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">\n {{ stepCompleteText(panelNumber)}}\n </ng-container>\n </div>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], animations: stepAnimation, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1199
1226
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrStepperPanel, decorators: [{
|
|
1200
1227
|
type: Component,
|
|
1201
|
-
args: [{ selector: 'clr-stepper-panel', host: { '[class.clr-
|
|
1228
|
+
args: [{ selector: 'clr-stepper-panel', host: { '[class.clr-stepper-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: stepAnimation, providers: [IfExpandService], template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header clr-stepper-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [attr.aria-disabled]=\"panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-step-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle clr-step-angle\"></cds-icon>\n <cds-icon\n status=\"danger\"\n *ngIf=\"panel.status === AccordionStatus.Error\"\n shape=\"exclamation-circle\"\n class=\"clr-step-error-icon\"\n ></cds-icon>\n <cds-icon\n status=\"success\"\n *ngIf=\"panel.status === AccordionStatus.Complete\"\n shape=\"check-circle\"\n class=\"clr-step-complete-icon\"\n ></cds-icon>\n </span>\n <span class=\"clr-step-title-wrapper\">\n <span class=\"clr-step-number\">{{panelNumber}}.</span>\n <ng-content select=\"clr-step-title\"></ng-content>\n </span>\n <ng-content select=\"clr-step-description\"></ng-content>\n </button>\n <div class=\"clr-sr-only\" role=\"status\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\"> {{ stepErrorText(panelNumber)}} </ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">\n {{ stepCompleteText(panelNumber)}}\n </ng-container>\n </div>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n" }]
|
|
1202
1229
|
}], ctorParameters: function () {
|
|
1203
1230
|
return [{ type: undefined, decorators: [{
|
|
1204
1231
|
type: Inject,
|
|
@@ -1222,6 +1249,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
1222
1249
|
var ClrStepButtonType;
|
|
1223
1250
|
(function (ClrStepButtonType) {
|
|
1224
1251
|
ClrStepButtonType["Next"] = "next";
|
|
1252
|
+
ClrStepButtonType["Previous"] = "previous";
|
|
1225
1253
|
ClrStepButtonType["Submit"] = "submit";
|
|
1226
1254
|
})(ClrStepButtonType || (ClrStepButtonType = {}));
|
|
1227
1255
|
class ClrStepButton {
|
|
@@ -1230,16 +1258,22 @@ class ClrStepButton {
|
|
|
1230
1258
|
this.stepperService = stepperService;
|
|
1231
1259
|
this.type = ClrStepButtonType.Next;
|
|
1232
1260
|
this.submitButton = false;
|
|
1261
|
+
this.previousButton = false;
|
|
1233
1262
|
}
|
|
1234
1263
|
ngOnInit() {
|
|
1235
1264
|
this.submitButton = this.type === ClrStepButtonType.Submit;
|
|
1265
|
+
this.previousButton = this.type === ClrStepButtonType.Previous;
|
|
1236
1266
|
}
|
|
1237
1267
|
navigateToNextPanel() {
|
|
1268
|
+
if (this.previousButton) {
|
|
1269
|
+
this.stepperService.navigateToPreviousPanel(this.clrStep.id);
|
|
1270
|
+
return;
|
|
1271
|
+
}
|
|
1238
1272
|
this.stepperService.navigateToNextPanel(this.clrStep.id, this.clrStep.formGroup.valid);
|
|
1239
1273
|
}
|
|
1240
1274
|
}
|
|
1241
1275
|
ClrStepButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrStepButton, deps: [{ token: ClrStepperPanel }, { token: StepperService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1242
|
-
ClrStepButton.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: ClrStepButton, selector: "[clrStepButton]", inputs: { type: ["clrStepButton", "type"] }, host: { listeners: { "click": "navigateToNextPanel()" }, properties: { "class.clr-step-button": "true", "class.btn": "true", "type": "'button'", "class.btn-
|
|
1276
|
+
ClrStepButton.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: ClrStepButton, selector: "[clrStepButton]", inputs: { type: ["clrStepButton", "type"] }, host: { listeners: { "click": "navigateToNextPanel()" }, properties: { "class.clr-step-button": "true", "class.btn": "true", "type": "'button'", "class.btn-success": "this.submitButton", "class.btn-link": "this.previousButton" } }, ngImport: i0 });
|
|
1243
1277
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrStepButton, decorators: [{
|
|
1244
1278
|
type: Directive,
|
|
1245
1279
|
args: [{
|
|
@@ -1255,7 +1289,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
1255
1289
|
args: ['clrStepButton']
|
|
1256
1290
|
}], submitButton: [{
|
|
1257
1291
|
type: HostBinding,
|
|
1258
|
-
args: ['class.btn-
|
|
1292
|
+
args: ['class.btn-success']
|
|
1293
|
+
}], previousButton: [{
|
|
1294
|
+
type: HostBinding,
|
|
1295
|
+
args: ['class.btn-link']
|
|
1259
1296
|
}], navigateToNextPanel: [{
|
|
1260
1297
|
type: HostListener,
|
|
1261
1298
|
args: ['click']
|
|
@@ -12809,6 +12846,12 @@ class DatagridNumericFilter extends DatagridFilterRegistrar {
|
|
|
12809
12846
|
get minPlaceholderValue() {
|
|
12810
12847
|
return this.minPlaceholder || this.commonStrings.keys.minValue;
|
|
12811
12848
|
}
|
|
12849
|
+
get fromLabelValue() {
|
|
12850
|
+
return this.fromLabel || this.commonStrings.keys.fromLabel;
|
|
12851
|
+
}
|
|
12852
|
+
get toLabelValue() {
|
|
12853
|
+
return this.toLabel || this.commonStrings.keys.toLabel;
|
|
12854
|
+
}
|
|
12812
12855
|
get low() {
|
|
12813
12856
|
if (typeof this.filter.low === 'number' && isFinite(this.filter.low)) {
|
|
12814
12857
|
return this.filter.low;
|
|
@@ -12871,31 +12914,40 @@ class DatagridNumericFilter extends DatagridFilterRegistrar {
|
|
|
12871
12914
|
}
|
|
12872
12915
|
}
|
|
12873
12916
|
DatagridNumericFilter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatagridNumericFilter, deps: [{ token: FiltersProvider }, { token: DomAdapter }, { token: ClrCommonStringsService }, { token: ClrPopoverToggleService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
12874
|
-
DatagridNumericFilter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: DatagridNumericFilter, selector: "clr-dg-numeric-filter", inputs: { minPlaceholder: ["clrFilterMinPlaceholder", "minPlaceholder"], maxPlaceholder: ["clrFilterMaxPlaceholder", "maxPlaceholder"], value: ["clrFilterValue", "value"], customNumericFilter: ["clrDgNumericFilter", "customNumericFilter"] }, outputs: { filterValueChange: "clrFilterValueChange" }, providers: [{ provide: CustomFilter, useExisting: DatagridNumericFilter }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input_low"], descendants: true }, { propertyName: "filterContainer", first: true, predicate: ClrDatagridFilter, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
12917
|
+
DatagridNumericFilter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: DatagridNumericFilter, selector: "clr-dg-numeric-filter", inputs: { minPlaceholder: ["clrFilterMinPlaceholder", "minPlaceholder"], maxPlaceholder: ["clrFilterMaxPlaceholder", "maxPlaceholder"], fromLabel: ["clrFilterFromLabel", "fromLabel"], toLabel: ["clrFilterToLabel", "toLabel"], value: ["clrFilterValue", "value"], customNumericFilter: ["clrDgNumericFilter", "customNumericFilter"] }, outputs: { filterValueChange: "clrFilterValueChange" }, providers: [{ provide: CustomFilter, useExisting: DatagridNumericFilter }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input_low"], descendants: true }, { propertyName: "filterContainer", first: true, predicate: ClrDatagridFilter, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
12875
12918
|
<clr-dg-filter [clrDgFilter]="registered" [(clrDgFilterOpen)]="open">
|
|
12876
|
-
<
|
|
12877
|
-
class="
|
|
12878
|
-
|
|
12879
|
-
|
|
12880
|
-
|
|
12881
|
-
|
|
12882
|
-
|
|
12883
|
-
|
|
12884
|
-
|
|
12885
|
-
|
|
12886
|
-
|
|
12887
|
-
|
|
12888
|
-
|
|
12889
|
-
|
|
12890
|
-
|
|
12891
|
-
|
|
12892
|
-
|
|
12893
|
-
|
|
12894
|
-
|
|
12895
|
-
|
|
12896
|
-
|
|
12919
|
+
<div class="datagrid-numeric-filter-form">
|
|
12920
|
+
<div class="clr-form-control">
|
|
12921
|
+
<label class="clr-control-label">{{ fromLabelValue }}</label>
|
|
12922
|
+
<input
|
|
12923
|
+
clrInput
|
|
12924
|
+
class="datagrid-numeric-filter-input"
|
|
12925
|
+
#input_low
|
|
12926
|
+
type="number"
|
|
12927
|
+
autocomplete="off"
|
|
12928
|
+
name="low"
|
|
12929
|
+
[(ngModel)]="low"
|
|
12930
|
+
[placeholder]="minPlaceholderValue"
|
|
12931
|
+
[attr.aria-label]="minPlaceholderValue"
|
|
12932
|
+
/>
|
|
12933
|
+
</div>
|
|
12934
|
+
<div class="clr-form-control">
|
|
12935
|
+
<label class="clr-control-label">{{ toLabelValue }}</label>
|
|
12936
|
+
<input
|
|
12937
|
+
clrInput
|
|
12938
|
+
class="datagrid-numeric-filter-input"
|
|
12939
|
+
#input_high
|
|
12940
|
+
type="number"
|
|
12941
|
+
autocomplete="off"
|
|
12942
|
+
name="high"
|
|
12943
|
+
[(ngModel)]="high"
|
|
12944
|
+
[placeholder]="maxPlaceholderValue"
|
|
12945
|
+
[attr.aria-label]="maxPlaceholderValue"
|
|
12946
|
+
/>
|
|
12947
|
+
</div>
|
|
12948
|
+
</div>
|
|
12897
12949
|
</clr-dg-filter>
|
|
12898
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ClrDatagridFilter, selector: "clr-dg-filter", inputs: ["clrDgFilterOpen", "clrDgFilter"], outputs: ["clrDgFilterOpenChange"] }] });
|
|
12950
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: ClrInput, selector: "[clrInput]" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ClrDatagridFilter, selector: "clr-dg-filter", inputs: ["clrDgFilterOpen", "clrDgFilter"], outputs: ["clrDgFilterOpenChange"] }] });
|
|
12899
12951
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatagridNumericFilter, decorators: [{
|
|
12900
12952
|
type: Component,
|
|
12901
12953
|
args: [{
|
|
@@ -12903,27 +12955,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
12903
12955
|
providers: [{ provide: CustomFilter, useExisting: DatagridNumericFilter }],
|
|
12904
12956
|
template: `
|
|
12905
12957
|
<clr-dg-filter [clrDgFilter]="registered" [(clrDgFilterOpen)]="open">
|
|
12906
|
-
<
|
|
12907
|
-
class="
|
|
12908
|
-
|
|
12909
|
-
|
|
12910
|
-
|
|
12911
|
-
|
|
12912
|
-
|
|
12913
|
-
|
|
12914
|
-
|
|
12915
|
-
|
|
12916
|
-
|
|
12917
|
-
|
|
12918
|
-
|
|
12919
|
-
|
|
12920
|
-
|
|
12921
|
-
|
|
12922
|
-
|
|
12923
|
-
|
|
12924
|
-
|
|
12925
|
-
|
|
12926
|
-
|
|
12958
|
+
<div class="datagrid-numeric-filter-form">
|
|
12959
|
+
<div class="clr-form-control">
|
|
12960
|
+
<label class="clr-control-label">{{ fromLabelValue }}</label>
|
|
12961
|
+
<input
|
|
12962
|
+
clrInput
|
|
12963
|
+
class="datagrid-numeric-filter-input"
|
|
12964
|
+
#input_low
|
|
12965
|
+
type="number"
|
|
12966
|
+
autocomplete="off"
|
|
12967
|
+
name="low"
|
|
12968
|
+
[(ngModel)]="low"
|
|
12969
|
+
[placeholder]="minPlaceholderValue"
|
|
12970
|
+
[attr.aria-label]="minPlaceholderValue"
|
|
12971
|
+
/>
|
|
12972
|
+
</div>
|
|
12973
|
+
<div class="clr-form-control">
|
|
12974
|
+
<label class="clr-control-label">{{ toLabelValue }}</label>
|
|
12975
|
+
<input
|
|
12976
|
+
clrInput
|
|
12977
|
+
class="datagrid-numeric-filter-input"
|
|
12978
|
+
#input_high
|
|
12979
|
+
type="number"
|
|
12980
|
+
autocomplete="off"
|
|
12981
|
+
name="high"
|
|
12982
|
+
[(ngModel)]="high"
|
|
12983
|
+
[placeholder]="maxPlaceholderValue"
|
|
12984
|
+
[attr.aria-label]="maxPlaceholderValue"
|
|
12985
|
+
/>
|
|
12986
|
+
</div>
|
|
12987
|
+
</div>
|
|
12927
12988
|
</clr-dg-filter>
|
|
12928
12989
|
`,
|
|
12929
12990
|
}]
|
|
@@ -12933,6 +12994,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
12933
12994
|
}], maxPlaceholder: [{
|
|
12934
12995
|
type: Input,
|
|
12935
12996
|
args: ['clrFilterMaxPlaceholder']
|
|
12997
|
+
}], fromLabel: [{
|
|
12998
|
+
type: Input,
|
|
12999
|
+
args: ['clrFilterFromLabel']
|
|
13000
|
+
}], toLabel: [{
|
|
13001
|
+
type: Input,
|
|
13002
|
+
args: ['clrFilterToLabel']
|
|
12936
13003
|
}], filterValueChange: [{
|
|
12937
13004
|
type: Output,
|
|
12938
13005
|
args: ['clrFilterValueChange']
|
|
@@ -13519,6 +13586,19 @@ var ClrDatagridSortOrder;
|
|
|
13519
13586
|
ClrDatagridSortOrder[ClrDatagridSortOrder["DESC"] = -1] = "DESC";
|
|
13520
13587
|
})(ClrDatagridSortOrder || (ClrDatagridSortOrder = {}));
|
|
13521
13588
|
|
|
13589
|
+
/*
|
|
13590
|
+
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
13591
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
13592
|
+
* This software is released under MIT license.
|
|
13593
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
13594
|
+
*/
|
|
13595
|
+
// @TODO The top two are not used now, which is probably a performance drag that was broken along the way.
|
|
13596
|
+
// There was a previous pattern to hide everything to do computation then display, for Firefox, needs revisiting.
|
|
13597
|
+
const NO_LAYOUT_CLASS = 'datagrid-no-layout';
|
|
13598
|
+
const COMPUTE_WIDTH_CLASS = 'datagrid-computing-columns-width';
|
|
13599
|
+
const STRICT_WIDTH_CLASS = 'datagrid-fixed-width';
|
|
13600
|
+
const HIDDEN_COLUMN_CLASS = 'datagrid-hidden-column';
|
|
13601
|
+
|
|
13522
13602
|
/*
|
|
13523
13603
|
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
13524
13604
|
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
@@ -13957,15 +14037,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
13957
14037
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
13958
14038
|
*/
|
|
13959
14039
|
class ClrDatagridColumn extends DatagridFilterRegistrar {
|
|
13960
|
-
constructor(_sort, filters, vcr, detailService, changeDetectorRef) {
|
|
14040
|
+
constructor(el, _sort, filters, vcr, detailService, changeDetectorRef) {
|
|
13961
14041
|
super(filters);
|
|
14042
|
+
this.el = el;
|
|
13962
14043
|
this._sort = _sort;
|
|
13963
14044
|
this.vcr = vcr;
|
|
13964
14045
|
this.detailService = detailService;
|
|
13965
14046
|
this.changeDetectorRef = changeDetectorRef;
|
|
13966
14047
|
this.sortOrderChange = new EventEmitter();
|
|
13967
14048
|
this.filterValueChange = new EventEmitter();
|
|
13968
|
-
this.showSeparator = true;
|
|
13969
14049
|
/**
|
|
13970
14050
|
* A custom filter for this column that can be provided in the projected content
|
|
13971
14051
|
*/
|
|
@@ -13984,9 +14064,20 @@ class ClrDatagridColumn extends DatagridFilterRegistrar {
|
|
|
13984
14064
|
* Subscription to the sort service changes
|
|
13985
14065
|
*/
|
|
13986
14066
|
this.subscriptions = [];
|
|
14067
|
+
this._showSeparator = true;
|
|
13987
14068
|
this.subscriptions.push(this.listenForSortingChanges());
|
|
13988
14069
|
this.subscriptions.push(this.listenForDetailPaneChanges());
|
|
13989
14070
|
}
|
|
14071
|
+
get isHidden() {
|
|
14072
|
+
return this.el.nativeElement.classList.contains(HIDDEN_COLUMN_CLASS);
|
|
14073
|
+
}
|
|
14074
|
+
get showSeparator() {
|
|
14075
|
+
return this._showSeparator;
|
|
14076
|
+
}
|
|
14077
|
+
set showSeparator(value) {
|
|
14078
|
+
this._showSeparator = value;
|
|
14079
|
+
this.changeDetectorRef.markForCheck();
|
|
14080
|
+
}
|
|
13990
14081
|
// TODO: We might want to make this an enum in the future
|
|
13991
14082
|
get colType() {
|
|
13992
14083
|
return this._colType;
|
|
@@ -14162,8 +14253,6 @@ class ClrDatagridColumn extends DatagridFilterRegistrar {
|
|
|
14162
14253
|
return this.detailService.stateChange.subscribe(state => {
|
|
14163
14254
|
if (this.showSeparator !== !state) {
|
|
14164
14255
|
this.showSeparator = !state;
|
|
14165
|
-
// Have to manually change because of OnPush
|
|
14166
|
-
this.changeDetectorRef.markForCheck();
|
|
14167
14256
|
}
|
|
14168
14257
|
});
|
|
14169
14258
|
}
|
|
@@ -14196,7 +14285,7 @@ class ClrDatagridColumn extends DatagridFilterRegistrar {
|
|
|
14196
14285
|
}
|
|
14197
14286
|
}
|
|
14198
14287
|
}
|
|
14199
|
-
ClrDatagridColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridColumn, deps: [{ token: Sort }, { token: FiltersProvider }, { token: i0.ViewContainerRef }, { token: DetailService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
14288
|
+
ClrDatagridColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridColumn, deps: [{ token: i0.ElementRef }, { token: Sort }, { token: FiltersProvider }, { token: i0.ViewContainerRef }, { token: DetailService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
14200
14289
|
ClrDatagridColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrDatagridColumn, selector: "clr-dg-column", inputs: { filterStringPlaceholder: ["clrFilterStringPlaceholder", "filterStringPlaceholder"], filterNumberMaxPlaceholder: ["clrFilterNumberMaxPlaceholder", "filterNumberMaxPlaceholder"], filterNumberMinPlaceholder: ["clrFilterNumberMinPlaceholder", "filterNumberMinPlaceholder"], colType: ["clrDgColType", "colType"], field: ["clrDgField", "field"], sortBy: ["clrDgSortBy", "sortBy"], sortOrder: ["clrDgSortOrder", "sortOrder"], updateFilterValue: ["clrFilterValue", "updateFilterValue"] }, outputs: { sortOrderChange: "clrDgSortOrderChange", filterValueChange: "clrFilterValueChange" }, host: { attributes: { "role": "columnheader" }, properties: { "class.datagrid-column": "true", "attr.aria-sort": "ariaSort" } }, queries: [{ propertyName: "projectedFilter", first: true, predicate: CustomFilter, descendants: true }], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: ClrPopoverHostDirective }], ngImport: i0, template: `
|
|
14201
14290
|
<div class="datagrid-column-flex">
|
|
14202
14291
|
<button class="datagrid-column-title" *ngIf="sortable" (click)="sort()" type="button">
|
|
@@ -14237,7 +14326,7 @@ ClrDatagridColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
14237
14326
|
|
|
14238
14327
|
<clr-dg-column-separator *ngIf="showSeparator"></clr-dg-column-separator>
|
|
14239
14328
|
</div>
|
|
14240
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: ClrDatagridColumnSeparator, selector: "clr-dg-column-separator" }, { kind: "component", type: DatagridNumericFilter, selector: "clr-dg-numeric-filter", inputs: ["clrFilterMinPlaceholder", "clrFilterMaxPlaceholder", "clrFilterValue", "clrDgNumericFilter"], outputs: ["clrFilterValueChange"] }, { kind: "component", type: DatagridStringFilter, selector: "clr-dg-string-filter", inputs: ["clrFilterPlaceholder", "clrDgStringFilter", "clrFilterValue"], outputs: ["clrFilterValueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
14329
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: ClrDatagridColumnSeparator, selector: "clr-dg-column-separator" }, { kind: "component", type: DatagridNumericFilter, selector: "clr-dg-numeric-filter", inputs: ["clrFilterMinPlaceholder", "clrFilterMaxPlaceholder", "clrFilterFromLabel", "clrFilterToLabel", "clrFilterValue", "clrDgNumericFilter"], outputs: ["clrFilterValueChange"] }, { kind: "component", type: DatagridStringFilter, selector: "clr-dg-string-filter", inputs: ["clrFilterPlaceholder", "clrDgStringFilter", "clrFilterValue"], outputs: ["clrFilterValueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
14241
14330
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridColumn, decorators: [{
|
|
14242
14331
|
type: Component,
|
|
14243
14332
|
args: [{
|
|
@@ -14291,7 +14380,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
14291
14380
|
},
|
|
14292
14381
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
14293
14382
|
}]
|
|
14294
|
-
}], ctorParameters: function () { return [{ type: Sort }, { type: FiltersProvider }, { type: i0.ViewContainerRef }, { type: DetailService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { filterStringPlaceholder: [{
|
|
14383
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: Sort }, { type: FiltersProvider }, { type: i0.ViewContainerRef }, { type: DetailService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { filterStringPlaceholder: [{
|
|
14295
14384
|
type: Input,
|
|
14296
14385
|
args: ['clrFilterStringPlaceholder']
|
|
14297
14386
|
}], filterNumberMaxPlaceholder: [{
|
|
@@ -15876,19 +15965,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
15876
15965
|
type: Injectable
|
|
15877
15966
|
}], ctorParameters: function () { return [{ type: FiltersProvider }, { type: Sort }, { type: Page }, { type: StateDebouncer }]; } });
|
|
15878
15967
|
|
|
15879
|
-
/*
|
|
15880
|
-
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
15881
|
-
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
15882
|
-
* This software is released under MIT license.
|
|
15883
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
15884
|
-
*/
|
|
15885
|
-
// @TODO The top two are not used now, which is probably a performance drag that was broken along the way.
|
|
15886
|
-
// There was a previous pattern to hide everything to do computation then display, for Firefox, needs revisiting.
|
|
15887
|
-
const NO_LAYOUT_CLASS = 'datagrid-no-layout';
|
|
15888
|
-
const COMPUTE_WIDTH_CLASS = 'datagrid-computing-columns-width';
|
|
15889
|
-
const STRICT_WIDTH_CLASS = 'datagrid-fixed-width';
|
|
15890
|
-
const HIDDEN_COLUMN_CLASS = 'datagrid-hidden-column';
|
|
15891
|
-
|
|
15892
15968
|
/*
|
|
15893
15969
|
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
15894
15970
|
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
@@ -18377,6 +18453,7 @@ class DatagridMainRenderer {
|
|
|
18377
18453
|
(_b = (_a = row.expandableRow) === null || _a === void 0 ? void 0 : _a.cells.get(columnIndex)) === null || _b === void 0 ? void 0 : _b.setHidden(state);
|
|
18378
18454
|
}
|
|
18379
18455
|
});
|
|
18456
|
+
this.updateColumnSeparatorsVisibility();
|
|
18380
18457
|
this.keyNavigation.resetKeyGrid();
|
|
18381
18458
|
break;
|
|
18382
18459
|
case DatagridColumnChanges.INITIALIZE:
|
|
@@ -18420,6 +18497,17 @@ class DatagridMainRenderer {
|
|
|
18420
18497
|
return false;
|
|
18421
18498
|
}
|
|
18422
18499
|
}
|
|
18500
|
+
updateColumnSeparatorsVisibility() {
|
|
18501
|
+
const visibleColumns = this.datagrid.columns.filter(column => !column.isHidden);
|
|
18502
|
+
visibleColumns.forEach((column, index) => {
|
|
18503
|
+
if (index === visibleColumns.length - 1) {
|
|
18504
|
+
column.showSeparator = false;
|
|
18505
|
+
}
|
|
18506
|
+
else if (!column.showSeparator) {
|
|
18507
|
+
column.showSeparator = true;
|
|
18508
|
+
}
|
|
18509
|
+
});
|
|
18510
|
+
}
|
|
18423
18511
|
}
|
|
18424
18512
|
DatagridMainRenderer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatagridMainRenderer, deps: [{ token: ClrDatagrid }, { token: DatagridRenderOrganizer }, { token: Items }, { token: Page }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DetailService }, { token: TableSizeService }, { token: ColumnsService }, { token: i0.NgZone }, { token: KeyNavigationGridController }], target: i0.ɵɵFactoryTarget.Directive });
|
|
18425
18513
|
DatagridMainRenderer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: DatagridMainRenderer, selector: "clr-datagrid", providers: [{ provide: DomAdapter, useFactory: domAdapterFactory, deps: [PLATFORM_ID] }], queries: [{ propertyName: "headers", predicate: DatagridHeaderRenderer }, { propertyName: "rows", predicate: DatagridRowRenderer }], ngImport: i0 });
|
|
@@ -22145,15 +22233,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
22145
22233
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
22146
22234
|
*/
|
|
22147
22235
|
const createCloseButton = (document, ariaLabel) => {
|
|
22236
|
+
ClarityIcons.addIcons(timesIcon);
|
|
22148
22237
|
const closeButton = document.createElement('button');
|
|
22149
22238
|
closeButton.setAttribute('aria-label', ariaLabel);
|
|
22150
22239
|
closeButton.setAttribute('aria-hidden', 'true');
|
|
22151
22240
|
closeButton.innerHTML = `
|
|
22152
22241
|
<cds-icon
|
|
22153
22242
|
inner-offset="1"
|
|
22154
|
-
shape="
|
|
22243
|
+
shape="times"
|
|
22155
22244
|
size="32"
|
|
22156
|
-
|
|
22245
|
+
></cds-icon>
|
|
22157
22246
|
`;
|
|
22158
22247
|
/**
|
|
22159
22248
|
* The button is hidden by default based on our Desktop-first approach.
|
|
@@ -26953,16 +27042,23 @@ ClrWizardStepnavItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
26953
27042
|
[attr.disabled]="isDisabled ? '' : null"
|
|
26954
27043
|
>
|
|
26955
27044
|
<div class="clr-wizard-stepnav-link-icon">
|
|
26956
|
-
<cds-icon
|
|
26957
|
-
|
|
27045
|
+
<cds-icon
|
|
27046
|
+
*ngIf="hasError"
|
|
27047
|
+
shape="error-standard"
|
|
27048
|
+
[attr.aria-label]="commonStrings.keys.wizardStepError"
|
|
27049
|
+
></cds-icon>
|
|
27050
|
+
<cds-icon
|
|
27051
|
+
*ngIf="!hasError && isComplete"
|
|
27052
|
+
shape="success-standard"
|
|
27053
|
+
[attr.aria-label]="commonStrings.keys.wizardStepSuccess"
|
|
27054
|
+
></cds-icon>
|
|
26958
27055
|
</div>
|
|
26959
27056
|
|
|
27057
|
+
<span class="clr-sr-only">{{ commonStrings.keys.wizardStep }}</span>
|
|
26960
27058
|
<div class="clr-wizard-stepnav-link-page-number"><ng-content></ng-content></div>
|
|
26961
27059
|
<span class="clr-wizard-stepnav-link-title">
|
|
26962
27060
|
<ng-template [ngTemplateOutlet]="page.navTitle"></ng-template>
|
|
26963
27061
|
</span>
|
|
26964
|
-
<span *ngIf="hasError" class="clr-sr-only">{{ commonStrings.keys.wizardStepError }}</span>
|
|
26965
|
-
<span *ngIf="!hasError && isComplete" class="clr-sr-only">{{ commonStrings.keys.wizardStepSuccess }}</span>
|
|
26966
27062
|
</button>
|
|
26967
27063
|
`, isInline: true, dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }] });
|
|
26968
27064
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrWizardStepnavItem, decorators: [{
|
|
@@ -26977,16 +27073,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
26977
27073
|
[attr.disabled]="isDisabled ? '' : null"
|
|
26978
27074
|
>
|
|
26979
27075
|
<div class="clr-wizard-stepnav-link-icon">
|
|
26980
|
-
<cds-icon
|
|
26981
|
-
|
|
27076
|
+
<cds-icon
|
|
27077
|
+
*ngIf="hasError"
|
|
27078
|
+
shape="error-standard"
|
|
27079
|
+
[attr.aria-label]="commonStrings.keys.wizardStepError"
|
|
27080
|
+
></cds-icon>
|
|
27081
|
+
<cds-icon
|
|
27082
|
+
*ngIf="!hasError && isComplete"
|
|
27083
|
+
shape="success-standard"
|
|
27084
|
+
[attr.aria-label]="commonStrings.keys.wizardStepSuccess"
|
|
27085
|
+
></cds-icon>
|
|
26982
27086
|
</div>
|
|
26983
27087
|
|
|
27088
|
+
<span class="clr-sr-only">{{ commonStrings.keys.wizardStep }}</span>
|
|
26984
27089
|
<div class="clr-wizard-stepnav-link-page-number"><ng-content></ng-content></div>
|
|
26985
27090
|
<span class="clr-wizard-stepnav-link-title">
|
|
26986
27091
|
<ng-template [ngTemplateOutlet]="page.navTitle"></ng-template>
|
|
26987
27092
|
</span>
|
|
26988
|
-
<span *ngIf="hasError" class="clr-sr-only">{{ commonStrings.keys.wizardStepError }}</span>
|
|
26989
|
-
<span *ngIf="!hasError && isComplete" class="clr-sr-only">{{ commonStrings.keys.wizardStepSuccess }}</span>
|
|
26990
27093
|
</button>
|
|
26991
27094
|
`,
|
|
26992
27095
|
host: {
|