@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/fesm2020/clr-angular.mjs
CHANGED
|
@@ -223,19 +223,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
223
223
|
}]
|
|
224
224
|
}] });
|
|
225
225
|
|
|
226
|
-
/*
|
|
227
|
-
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
228
|
-
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
229
|
-
* This software is released under MIT license.
|
|
230
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
231
|
-
*/
|
|
232
|
-
var AccordionStatus;
|
|
233
|
-
(function (AccordionStatus) {
|
|
234
|
-
AccordionStatus["Inactive"] = "inactive";
|
|
235
|
-
AccordionStatus["Error"] = "error";
|
|
236
|
-
AccordionStatus["Complete"] = "complete";
|
|
237
|
-
})(AccordionStatus || (AccordionStatus = {}));
|
|
238
|
-
|
|
239
226
|
/*
|
|
240
227
|
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
241
228
|
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
@@ -328,6 +315,8 @@ const commonStringsDefault = {
|
|
|
328
315
|
datagridFilterDialogAriaLabel: 'Filter dialog',
|
|
329
316
|
columnSeparatorAriaLabel: 'Column resize handle',
|
|
330
317
|
columnSeparatorDescription: 'Use left or right key to resize the column',
|
|
318
|
+
fromLabel: 'From',
|
|
319
|
+
toLabel: 'To',
|
|
331
320
|
// Alert
|
|
332
321
|
alertCloseButtonAriaLabel: 'Close alert',
|
|
333
322
|
alertNextAlertAriaLabel: 'Next alert message, {CURRENT} of {COUNT}',
|
|
@@ -373,6 +362,7 @@ const commonStringsDefault = {
|
|
|
373
362
|
datagridExpandableRowContent: 'Expandable row content',
|
|
374
363
|
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`,
|
|
375
364
|
// Wizard
|
|
365
|
+
wizardStep: 'Step',
|
|
376
366
|
wizardStepSuccess: 'Completed',
|
|
377
367
|
wizardStepError: 'Error',
|
|
378
368
|
wizardStepnavAriaLabel: 'Step navigation',
|
|
@@ -444,6 +434,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
444
434
|
}]
|
|
445
435
|
}] });
|
|
446
436
|
|
|
437
|
+
/*
|
|
438
|
+
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
439
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
440
|
+
* This software is released under MIT license.
|
|
441
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
442
|
+
*/
|
|
443
|
+
var AccordionStatus;
|
|
444
|
+
(function (AccordionStatus) {
|
|
445
|
+
AccordionStatus["Inactive"] = "inactive";
|
|
446
|
+
AccordionStatus["Error"] = "error";
|
|
447
|
+
AccordionStatus["Complete"] = "complete";
|
|
448
|
+
})(AccordionStatus || (AccordionStatus = {}));
|
|
449
|
+
|
|
447
450
|
/*
|
|
448
451
|
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
449
452
|
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
@@ -573,8 +576,6 @@ class ClrAccordionPanel {
|
|
|
573
576
|
this.disabled = false;
|
|
574
577
|
this.panelOpen = false;
|
|
575
578
|
this.panelOpenChange = new EventEmitter();
|
|
576
|
-
this.AccordionStatus = AccordionStatus;
|
|
577
|
-
this.isAccordion = true;
|
|
578
579
|
this._id = uniqueIdFactory();
|
|
579
580
|
}
|
|
580
581
|
get id() {
|
|
@@ -650,10 +651,10 @@ class ClrAccordionPanel {
|
|
|
650
651
|
}
|
|
651
652
|
}
|
|
652
653
|
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 });
|
|
653
|
-
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]=\"
|
|
654
|
+
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 });
|
|
654
655
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAccordionPanel, decorators: [{
|
|
655
656
|
type: Component,
|
|
656
|
-
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]=\"
|
|
657
|
+
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" }]
|
|
657
658
|
}], ctorParameters: function () { return [{ type: ClrCommonStringsService }, { type: AccordionService }, { type: IfExpandService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { disabled: [{
|
|
658
659
|
type: Input,
|
|
659
660
|
args: ['clrAccordionPanelDisabled']
|
|
@@ -971,6 +972,9 @@ class StepperModel extends AccordionModel {
|
|
|
971
972
|
this._panels[panelId].open = !this._panels[panelId].open;
|
|
972
973
|
}
|
|
973
974
|
}
|
|
975
|
+
navigateToPreviousPanel(currentPanelId) {
|
|
976
|
+
this.openPreviousPanel(this._panels[currentPanelId].id);
|
|
977
|
+
}
|
|
974
978
|
navigateToNextPanel(currentPanelId, currentPanelValid = true) {
|
|
975
979
|
if (currentPanelValid) {
|
|
976
980
|
this.completePanel(currentPanelId);
|
|
@@ -1014,6 +1018,9 @@ class StepperModel extends AccordionModel {
|
|
|
1014
1018
|
getNextPanel(currentPanelId) {
|
|
1015
1019
|
return this.panels.find(s => s.index === this._panels[currentPanelId].index + 1);
|
|
1016
1020
|
}
|
|
1021
|
+
getPreviousPanel(currentPanelId) {
|
|
1022
|
+
return this.panels.find(s => s.index === this._panels[currentPanelId].index - 1);
|
|
1023
|
+
}
|
|
1017
1024
|
resetAllFuturePanels(panelId) {
|
|
1018
1025
|
this.panels.filter(panel => panel.index >= this._panels[panelId].index).forEach(panel => this.resetPanel(panel.id));
|
|
1019
1026
|
}
|
|
@@ -1052,6 +1059,15 @@ class StepperModel extends AccordionModel {
|
|
|
1052
1059
|
this._panels[nextPanel.id].disabled = true;
|
|
1053
1060
|
}
|
|
1054
1061
|
}
|
|
1062
|
+
openPreviousPanel(currentPanelId) {
|
|
1063
|
+
const prevPanel = this.getPreviousPanel(currentPanelId);
|
|
1064
|
+
if (prevPanel) {
|
|
1065
|
+
this._panels[currentPanelId].open = false;
|
|
1066
|
+
this._panels[currentPanelId].disabled = false;
|
|
1067
|
+
this._panels[prevPanel.id].open = true;
|
|
1068
|
+
this._panels[prevPanel.id].disabled = true;
|
|
1069
|
+
}
|
|
1070
|
+
}
|
|
1055
1071
|
setPanelError(panelId) {
|
|
1056
1072
|
this.resetAllFuturePanels(panelId);
|
|
1057
1073
|
this._panels[panelId].open = true;
|
|
@@ -1098,6 +1114,11 @@ class StepperService extends AccordionService {
|
|
|
1098
1114
|
this.accordion.setPanelsWithErrors(ids);
|
|
1099
1115
|
this.emitUpdatedPanels();
|
|
1100
1116
|
}
|
|
1117
|
+
navigateToPreviousPanel(currentPanelId) {
|
|
1118
|
+
this.accordion.navigateToPreviousPanel(currentPanelId);
|
|
1119
|
+
this.updatePreviousStep(currentPanelId);
|
|
1120
|
+
this.emitUpdatedPanels();
|
|
1121
|
+
}
|
|
1101
1122
|
navigateToNextPanel(currentPanelId, currentPanelValid = true) {
|
|
1102
1123
|
this.accordion.navigateToNextPanel(currentPanelId, currentPanelValid);
|
|
1103
1124
|
this.updateNextStep(currentPanelId, currentPanelValid);
|
|
@@ -1116,6 +1137,12 @@ class StepperService extends AccordionService {
|
|
|
1116
1137
|
this._activeStepChanges.next(currentPanelId);
|
|
1117
1138
|
}
|
|
1118
1139
|
}
|
|
1140
|
+
updatePreviousStep(currentPanelId) {
|
|
1141
|
+
const prevPanel = this.accordion.getPreviousPanel(currentPanelId);
|
|
1142
|
+
if (prevPanel) {
|
|
1143
|
+
this._activeStepChanges.next(prevPanel.id);
|
|
1144
|
+
}
|
|
1145
|
+
}
|
|
1119
1146
|
getAllCompletedPanelChanges() {
|
|
1120
1147
|
return this._panelsChanges.pipe(map(() => this.accordion.allPanelsCompleted), distinctUntilChanged());
|
|
1121
1148
|
}
|
|
@@ -1140,7 +1167,7 @@ class ClrStepperPanel extends ClrAccordionPanel {
|
|
|
1140
1167
|
this.formGroupName = formGroupName;
|
|
1141
1168
|
this.ngModelGroup = ngModelGroup;
|
|
1142
1169
|
this.stepperService = stepperService;
|
|
1143
|
-
this.
|
|
1170
|
+
this.AccordionStatus = AccordionStatus;
|
|
1144
1171
|
this.subscriptions = [];
|
|
1145
1172
|
}
|
|
1146
1173
|
get id() {
|
|
@@ -1191,10 +1218,10 @@ class ClrStepperPanel extends ClrAccordionPanel {
|
|
|
1191
1218
|
}
|
|
1192
1219
|
}
|
|
1193
1220
|
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 });
|
|
1194
|
-
ClrStepperPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrStepperPanel, selector: "clr-stepper-panel", host: { properties: { "class.clr-
|
|
1221
|
+
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 });
|
|
1195
1222
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrStepperPanel, decorators: [{
|
|
1196
1223
|
type: Component,
|
|
1197
|
-
args: [{ selector: 'clr-stepper-panel', host: { '[class.clr-
|
|
1224
|
+
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" }]
|
|
1198
1225
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
1199
1226
|
type: Inject,
|
|
1200
1227
|
args: [PLATFORM_ID]
|
|
@@ -1216,6 +1243,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
1216
1243
|
var ClrStepButtonType;
|
|
1217
1244
|
(function (ClrStepButtonType) {
|
|
1218
1245
|
ClrStepButtonType["Next"] = "next";
|
|
1246
|
+
ClrStepButtonType["Previous"] = "previous";
|
|
1219
1247
|
ClrStepButtonType["Submit"] = "submit";
|
|
1220
1248
|
})(ClrStepButtonType || (ClrStepButtonType = {}));
|
|
1221
1249
|
class ClrStepButton {
|
|
@@ -1224,16 +1252,22 @@ class ClrStepButton {
|
|
|
1224
1252
|
this.stepperService = stepperService;
|
|
1225
1253
|
this.type = ClrStepButtonType.Next;
|
|
1226
1254
|
this.submitButton = false;
|
|
1255
|
+
this.previousButton = false;
|
|
1227
1256
|
}
|
|
1228
1257
|
ngOnInit() {
|
|
1229
1258
|
this.submitButton = this.type === ClrStepButtonType.Submit;
|
|
1259
|
+
this.previousButton = this.type === ClrStepButtonType.Previous;
|
|
1230
1260
|
}
|
|
1231
1261
|
navigateToNextPanel() {
|
|
1262
|
+
if (this.previousButton) {
|
|
1263
|
+
this.stepperService.navigateToPreviousPanel(this.clrStep.id);
|
|
1264
|
+
return;
|
|
1265
|
+
}
|
|
1232
1266
|
this.stepperService.navigateToNextPanel(this.clrStep.id, this.clrStep.formGroup.valid);
|
|
1233
1267
|
}
|
|
1234
1268
|
}
|
|
1235
1269
|
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 });
|
|
1236
|
-
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-
|
|
1270
|
+
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 });
|
|
1237
1271
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrStepButton, decorators: [{
|
|
1238
1272
|
type: Directive,
|
|
1239
1273
|
args: [{
|
|
@@ -1249,7 +1283,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
1249
1283
|
args: ['clrStepButton']
|
|
1250
1284
|
}], submitButton: [{
|
|
1251
1285
|
type: HostBinding,
|
|
1252
|
-
args: ['class.btn-
|
|
1286
|
+
args: ['class.btn-success']
|
|
1287
|
+
}], previousButton: [{
|
|
1288
|
+
type: HostBinding,
|
|
1289
|
+
args: ['class.btn-link']
|
|
1253
1290
|
}], navigateToNextPanel: [{
|
|
1254
1291
|
type: HostListener,
|
|
1255
1292
|
args: ['click']
|
|
@@ -12707,6 +12744,12 @@ class DatagridNumericFilter extends DatagridFilterRegistrar {
|
|
|
12707
12744
|
get minPlaceholderValue() {
|
|
12708
12745
|
return this.minPlaceholder || this.commonStrings.keys.minValue;
|
|
12709
12746
|
}
|
|
12747
|
+
get fromLabelValue() {
|
|
12748
|
+
return this.fromLabel || this.commonStrings.keys.fromLabel;
|
|
12749
|
+
}
|
|
12750
|
+
get toLabelValue() {
|
|
12751
|
+
return this.toLabel || this.commonStrings.keys.toLabel;
|
|
12752
|
+
}
|
|
12710
12753
|
get low() {
|
|
12711
12754
|
if (typeof this.filter.low === 'number' && isFinite(this.filter.low)) {
|
|
12712
12755
|
return this.filter.low;
|
|
@@ -12769,31 +12812,40 @@ class DatagridNumericFilter extends DatagridFilterRegistrar {
|
|
|
12769
12812
|
}
|
|
12770
12813
|
}
|
|
12771
12814
|
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 });
|
|
12772
|
-
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: `
|
|
12815
|
+
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: `
|
|
12773
12816
|
<clr-dg-filter [clrDgFilter]="registered" [(clrDgFilterOpen)]="open">
|
|
12774
|
-
<
|
|
12775
|
-
class="
|
|
12776
|
-
|
|
12777
|
-
|
|
12778
|
-
|
|
12779
|
-
|
|
12780
|
-
|
|
12781
|
-
|
|
12782
|
-
|
|
12783
|
-
|
|
12784
|
-
|
|
12785
|
-
|
|
12786
|
-
|
|
12787
|
-
|
|
12788
|
-
|
|
12789
|
-
|
|
12790
|
-
|
|
12791
|
-
|
|
12792
|
-
|
|
12793
|
-
|
|
12794
|
-
|
|
12817
|
+
<div class="datagrid-numeric-filter-form">
|
|
12818
|
+
<div class="clr-form-control">
|
|
12819
|
+
<label class="clr-control-label">{{ fromLabelValue }}</label>
|
|
12820
|
+
<input
|
|
12821
|
+
clrInput
|
|
12822
|
+
class="datagrid-numeric-filter-input"
|
|
12823
|
+
#input_low
|
|
12824
|
+
type="number"
|
|
12825
|
+
autocomplete="off"
|
|
12826
|
+
name="low"
|
|
12827
|
+
[(ngModel)]="low"
|
|
12828
|
+
[placeholder]="minPlaceholderValue"
|
|
12829
|
+
[attr.aria-label]="minPlaceholderValue"
|
|
12830
|
+
/>
|
|
12831
|
+
</div>
|
|
12832
|
+
<div class="clr-form-control">
|
|
12833
|
+
<label class="clr-control-label">{{ toLabelValue }}</label>
|
|
12834
|
+
<input
|
|
12835
|
+
clrInput
|
|
12836
|
+
class="datagrid-numeric-filter-input"
|
|
12837
|
+
#input_high
|
|
12838
|
+
type="number"
|
|
12839
|
+
autocomplete="off"
|
|
12840
|
+
name="high"
|
|
12841
|
+
[(ngModel)]="high"
|
|
12842
|
+
[placeholder]="maxPlaceholderValue"
|
|
12843
|
+
[attr.aria-label]="maxPlaceholderValue"
|
|
12844
|
+
/>
|
|
12845
|
+
</div>
|
|
12846
|
+
</div>
|
|
12795
12847
|
</clr-dg-filter>
|
|
12796
|
-
`, 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"] }] });
|
|
12848
|
+
`, 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"] }] });
|
|
12797
12849
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatagridNumericFilter, decorators: [{
|
|
12798
12850
|
type: Component,
|
|
12799
12851
|
args: [{
|
|
@@ -12801,27 +12853,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
12801
12853
|
providers: [{ provide: CustomFilter, useExisting: DatagridNumericFilter }],
|
|
12802
12854
|
template: `
|
|
12803
12855
|
<clr-dg-filter [clrDgFilter]="registered" [(clrDgFilterOpen)]="open">
|
|
12804
|
-
<
|
|
12805
|
-
class="
|
|
12806
|
-
|
|
12807
|
-
|
|
12808
|
-
|
|
12809
|
-
|
|
12810
|
-
|
|
12811
|
-
|
|
12812
|
-
|
|
12813
|
-
|
|
12814
|
-
|
|
12815
|
-
|
|
12816
|
-
|
|
12817
|
-
|
|
12818
|
-
|
|
12819
|
-
|
|
12820
|
-
|
|
12821
|
-
|
|
12822
|
-
|
|
12823
|
-
|
|
12824
|
-
|
|
12856
|
+
<div class="datagrid-numeric-filter-form">
|
|
12857
|
+
<div class="clr-form-control">
|
|
12858
|
+
<label class="clr-control-label">{{ fromLabelValue }}</label>
|
|
12859
|
+
<input
|
|
12860
|
+
clrInput
|
|
12861
|
+
class="datagrid-numeric-filter-input"
|
|
12862
|
+
#input_low
|
|
12863
|
+
type="number"
|
|
12864
|
+
autocomplete="off"
|
|
12865
|
+
name="low"
|
|
12866
|
+
[(ngModel)]="low"
|
|
12867
|
+
[placeholder]="minPlaceholderValue"
|
|
12868
|
+
[attr.aria-label]="minPlaceholderValue"
|
|
12869
|
+
/>
|
|
12870
|
+
</div>
|
|
12871
|
+
<div class="clr-form-control">
|
|
12872
|
+
<label class="clr-control-label">{{ toLabelValue }}</label>
|
|
12873
|
+
<input
|
|
12874
|
+
clrInput
|
|
12875
|
+
class="datagrid-numeric-filter-input"
|
|
12876
|
+
#input_high
|
|
12877
|
+
type="number"
|
|
12878
|
+
autocomplete="off"
|
|
12879
|
+
name="high"
|
|
12880
|
+
[(ngModel)]="high"
|
|
12881
|
+
[placeholder]="maxPlaceholderValue"
|
|
12882
|
+
[attr.aria-label]="maxPlaceholderValue"
|
|
12883
|
+
/>
|
|
12884
|
+
</div>
|
|
12885
|
+
</div>
|
|
12825
12886
|
</clr-dg-filter>
|
|
12826
12887
|
`,
|
|
12827
12888
|
}]
|
|
@@ -12831,6 +12892,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
12831
12892
|
}], maxPlaceholder: [{
|
|
12832
12893
|
type: Input,
|
|
12833
12894
|
args: ['clrFilterMaxPlaceholder']
|
|
12895
|
+
}], fromLabel: [{
|
|
12896
|
+
type: Input,
|
|
12897
|
+
args: ['clrFilterFromLabel']
|
|
12898
|
+
}], toLabel: [{
|
|
12899
|
+
type: Input,
|
|
12900
|
+
args: ['clrFilterToLabel']
|
|
12834
12901
|
}], filterValueChange: [{
|
|
12835
12902
|
type: Output,
|
|
12836
12903
|
args: ['clrFilterValueChange']
|
|
@@ -13411,6 +13478,19 @@ var ClrDatagridSortOrder;
|
|
|
13411
13478
|
ClrDatagridSortOrder[ClrDatagridSortOrder["DESC"] = -1] = "DESC";
|
|
13412
13479
|
})(ClrDatagridSortOrder || (ClrDatagridSortOrder = {}));
|
|
13413
13480
|
|
|
13481
|
+
/*
|
|
13482
|
+
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
13483
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
13484
|
+
* This software is released under MIT license.
|
|
13485
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
13486
|
+
*/
|
|
13487
|
+
// @TODO The top two are not used now, which is probably a performance drag that was broken along the way.
|
|
13488
|
+
// There was a previous pattern to hide everything to do computation then display, for Firefox, needs revisiting.
|
|
13489
|
+
const NO_LAYOUT_CLASS = 'datagrid-no-layout';
|
|
13490
|
+
const COMPUTE_WIDTH_CLASS = 'datagrid-computing-columns-width';
|
|
13491
|
+
const STRICT_WIDTH_CLASS = 'datagrid-fixed-width';
|
|
13492
|
+
const HIDDEN_COLUMN_CLASS = 'datagrid-hidden-column';
|
|
13493
|
+
|
|
13414
13494
|
/*
|
|
13415
13495
|
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
13416
13496
|
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
@@ -13845,15 +13925,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
13845
13925
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
13846
13926
|
*/
|
|
13847
13927
|
class ClrDatagridColumn extends DatagridFilterRegistrar {
|
|
13848
|
-
constructor(_sort, filters, vcr, detailService, changeDetectorRef) {
|
|
13928
|
+
constructor(el, _sort, filters, vcr, detailService, changeDetectorRef) {
|
|
13849
13929
|
super(filters);
|
|
13930
|
+
this.el = el;
|
|
13850
13931
|
this._sort = _sort;
|
|
13851
13932
|
this.vcr = vcr;
|
|
13852
13933
|
this.detailService = detailService;
|
|
13853
13934
|
this.changeDetectorRef = changeDetectorRef;
|
|
13854
13935
|
this.sortOrderChange = new EventEmitter();
|
|
13855
13936
|
this.filterValueChange = new EventEmitter();
|
|
13856
|
-
this.showSeparator = true;
|
|
13857
13937
|
/**
|
|
13858
13938
|
* A custom filter for this column that can be provided in the projected content
|
|
13859
13939
|
*/
|
|
@@ -13872,9 +13952,20 @@ class ClrDatagridColumn extends DatagridFilterRegistrar {
|
|
|
13872
13952
|
* Subscription to the sort service changes
|
|
13873
13953
|
*/
|
|
13874
13954
|
this.subscriptions = [];
|
|
13955
|
+
this._showSeparator = true;
|
|
13875
13956
|
this.subscriptions.push(this.listenForSortingChanges());
|
|
13876
13957
|
this.subscriptions.push(this.listenForDetailPaneChanges());
|
|
13877
13958
|
}
|
|
13959
|
+
get isHidden() {
|
|
13960
|
+
return this.el.nativeElement.classList.contains(HIDDEN_COLUMN_CLASS);
|
|
13961
|
+
}
|
|
13962
|
+
get showSeparator() {
|
|
13963
|
+
return this._showSeparator;
|
|
13964
|
+
}
|
|
13965
|
+
set showSeparator(value) {
|
|
13966
|
+
this._showSeparator = value;
|
|
13967
|
+
this.changeDetectorRef.markForCheck();
|
|
13968
|
+
}
|
|
13878
13969
|
// TODO: We might want to make this an enum in the future
|
|
13879
13970
|
get colType() {
|
|
13880
13971
|
return this._colType;
|
|
@@ -14050,8 +14141,6 @@ class ClrDatagridColumn extends DatagridFilterRegistrar {
|
|
|
14050
14141
|
return this.detailService.stateChange.subscribe(state => {
|
|
14051
14142
|
if (this.showSeparator !== !state) {
|
|
14052
14143
|
this.showSeparator = !state;
|
|
14053
|
-
// Have to manually change because of OnPush
|
|
14054
|
-
this.changeDetectorRef.markForCheck();
|
|
14055
14144
|
}
|
|
14056
14145
|
});
|
|
14057
14146
|
}
|
|
@@ -14084,7 +14173,7 @@ class ClrDatagridColumn extends DatagridFilterRegistrar {
|
|
|
14084
14173
|
}
|
|
14085
14174
|
}
|
|
14086
14175
|
}
|
|
14087
|
-
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 });
|
|
14176
|
+
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 });
|
|
14088
14177
|
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: `
|
|
14089
14178
|
<div class="datagrid-column-flex">
|
|
14090
14179
|
<button class="datagrid-column-title" *ngIf="sortable" (click)="sort()" type="button">
|
|
@@ -14125,7 +14214,7 @@ ClrDatagridColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
14125
14214
|
|
|
14126
14215
|
<clr-dg-column-separator *ngIf="showSeparator"></clr-dg-column-separator>
|
|
14127
14216
|
</div>
|
|
14128
|
-
`, 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 });
|
|
14217
|
+
`, 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 });
|
|
14129
14218
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridColumn, decorators: [{
|
|
14130
14219
|
type: Component,
|
|
14131
14220
|
args: [{
|
|
@@ -14179,7 +14268,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
14179
14268
|
},
|
|
14180
14269
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
14181
14270
|
}]
|
|
14182
|
-
}], ctorParameters: function () { return [{ type: Sort }, { type: FiltersProvider }, { type: i0.ViewContainerRef }, { type: DetailService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { filterStringPlaceholder: [{
|
|
14271
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: Sort }, { type: FiltersProvider }, { type: i0.ViewContainerRef }, { type: DetailService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { filterStringPlaceholder: [{
|
|
14183
14272
|
type: Input,
|
|
14184
14273
|
args: ['clrFilterStringPlaceholder']
|
|
14185
14274
|
}], filterNumberMaxPlaceholder: [{
|
|
@@ -15759,19 +15848,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
15759
15848
|
type: Injectable
|
|
15760
15849
|
}], ctorParameters: function () { return [{ type: FiltersProvider }, { type: Sort }, { type: Page }, { type: StateDebouncer }]; } });
|
|
15761
15850
|
|
|
15762
|
-
/*
|
|
15763
|
-
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
15764
|
-
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
15765
|
-
* This software is released under MIT license.
|
|
15766
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
15767
|
-
*/
|
|
15768
|
-
// @TODO The top two are not used now, which is probably a performance drag that was broken along the way.
|
|
15769
|
-
// There was a previous pattern to hide everything to do computation then display, for Firefox, needs revisiting.
|
|
15770
|
-
const NO_LAYOUT_CLASS = 'datagrid-no-layout';
|
|
15771
|
-
const COMPUTE_WIDTH_CLASS = 'datagrid-computing-columns-width';
|
|
15772
|
-
const STRICT_WIDTH_CLASS = 'datagrid-fixed-width';
|
|
15773
|
-
const HIDDEN_COLUMN_CLASS = 'datagrid-hidden-column';
|
|
15774
|
-
|
|
15775
15851
|
/*
|
|
15776
15852
|
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
15777
15853
|
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
@@ -18243,6 +18319,7 @@ class DatagridMainRenderer {
|
|
|
18243
18319
|
row.expandableRow?.cells.get(columnIndex)?.setHidden(state);
|
|
18244
18320
|
}
|
|
18245
18321
|
});
|
|
18322
|
+
this.updateColumnSeparatorsVisibility();
|
|
18246
18323
|
this.keyNavigation.resetKeyGrid();
|
|
18247
18324
|
break;
|
|
18248
18325
|
case DatagridColumnChanges.INITIALIZE:
|
|
@@ -18285,6 +18362,17 @@ class DatagridMainRenderer {
|
|
|
18285
18362
|
return false;
|
|
18286
18363
|
}
|
|
18287
18364
|
}
|
|
18365
|
+
updateColumnSeparatorsVisibility() {
|
|
18366
|
+
const visibleColumns = this.datagrid.columns.filter(column => !column.isHidden);
|
|
18367
|
+
visibleColumns.forEach((column, index) => {
|
|
18368
|
+
if (index === visibleColumns.length - 1) {
|
|
18369
|
+
column.showSeparator = false;
|
|
18370
|
+
}
|
|
18371
|
+
else if (!column.showSeparator) {
|
|
18372
|
+
column.showSeparator = true;
|
|
18373
|
+
}
|
|
18374
|
+
});
|
|
18375
|
+
}
|
|
18288
18376
|
}
|
|
18289
18377
|
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 });
|
|
18290
18378
|
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 });
|
|
@@ -21985,15 +22073,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
21985
22073
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
21986
22074
|
*/
|
|
21987
22075
|
const createCloseButton = (document, ariaLabel) => {
|
|
22076
|
+
ClarityIcons.addIcons(timesIcon);
|
|
21988
22077
|
const closeButton = document.createElement('button');
|
|
21989
22078
|
closeButton.setAttribute('aria-label', ariaLabel);
|
|
21990
22079
|
closeButton.setAttribute('aria-hidden', 'true');
|
|
21991
22080
|
closeButton.innerHTML = `
|
|
21992
22081
|
<cds-icon
|
|
21993
22082
|
inner-offset="1"
|
|
21994
|
-
shape="
|
|
22083
|
+
shape="times"
|
|
21995
22084
|
size="32"
|
|
21996
|
-
|
|
22085
|
+
></cds-icon>
|
|
21997
22086
|
`;
|
|
21998
22087
|
/**
|
|
21999
22088
|
* The button is hidden by default based on our Desktop-first approach.
|
|
@@ -26769,16 +26858,23 @@ ClrWizardStepnavItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
26769
26858
|
[attr.disabled]="isDisabled ? '' : null"
|
|
26770
26859
|
>
|
|
26771
26860
|
<div class="clr-wizard-stepnav-link-icon">
|
|
26772
|
-
<cds-icon
|
|
26773
|
-
|
|
26861
|
+
<cds-icon
|
|
26862
|
+
*ngIf="hasError"
|
|
26863
|
+
shape="error-standard"
|
|
26864
|
+
[attr.aria-label]="commonStrings.keys.wizardStepError"
|
|
26865
|
+
></cds-icon>
|
|
26866
|
+
<cds-icon
|
|
26867
|
+
*ngIf="!hasError && isComplete"
|
|
26868
|
+
shape="success-standard"
|
|
26869
|
+
[attr.aria-label]="commonStrings.keys.wizardStepSuccess"
|
|
26870
|
+
></cds-icon>
|
|
26774
26871
|
</div>
|
|
26775
26872
|
|
|
26873
|
+
<span class="clr-sr-only">{{ commonStrings.keys.wizardStep }}</span>
|
|
26776
26874
|
<div class="clr-wizard-stepnav-link-page-number"><ng-content></ng-content></div>
|
|
26777
26875
|
<span class="clr-wizard-stepnav-link-title">
|
|
26778
26876
|
<ng-template [ngTemplateOutlet]="page.navTitle"></ng-template>
|
|
26779
26877
|
</span>
|
|
26780
|
-
<span *ngIf="hasError" class="clr-sr-only">{{ commonStrings.keys.wizardStepError }}</span>
|
|
26781
|
-
<span *ngIf="!hasError && isComplete" class="clr-sr-only">{{ commonStrings.keys.wizardStepSuccess }}</span>
|
|
26782
26878
|
</button>
|
|
26783
26879
|
`, 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" }] });
|
|
26784
26880
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrWizardStepnavItem, decorators: [{
|
|
@@ -26793,16 +26889,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
26793
26889
|
[attr.disabled]="isDisabled ? '' : null"
|
|
26794
26890
|
>
|
|
26795
26891
|
<div class="clr-wizard-stepnav-link-icon">
|
|
26796
|
-
<cds-icon
|
|
26797
|
-
|
|
26892
|
+
<cds-icon
|
|
26893
|
+
*ngIf="hasError"
|
|
26894
|
+
shape="error-standard"
|
|
26895
|
+
[attr.aria-label]="commonStrings.keys.wizardStepError"
|
|
26896
|
+
></cds-icon>
|
|
26897
|
+
<cds-icon
|
|
26898
|
+
*ngIf="!hasError && isComplete"
|
|
26899
|
+
shape="success-standard"
|
|
26900
|
+
[attr.aria-label]="commonStrings.keys.wizardStepSuccess"
|
|
26901
|
+
></cds-icon>
|
|
26798
26902
|
</div>
|
|
26799
26903
|
|
|
26904
|
+
<span class="clr-sr-only">{{ commonStrings.keys.wizardStep }}</span>
|
|
26800
26905
|
<div class="clr-wizard-stepnav-link-page-number"><ng-content></ng-content></div>
|
|
26801
26906
|
<span class="clr-wizard-stepnav-link-title">
|
|
26802
26907
|
<ng-template [ngTemplateOutlet]="page.navTitle"></ng-template>
|
|
26803
26908
|
</span>
|
|
26804
|
-
<span *ngIf="hasError" class="clr-sr-only">{{ commonStrings.keys.wizardStepError }}</span>
|
|
26805
|
-
<span *ngIf="!hasError && isComplete" class="clr-sr-only">{{ commonStrings.keys.wizardStepSuccess }}</span>
|
|
26806
26909
|
</button>
|
|
26807
26910
|
`,
|
|
26808
26911
|
host: {
|