@clr/angular 12.1.3 → 12.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/clr-angular.umd.js +331 -87
- package/bundles/clr-angular.umd.js.map +1 -1
- package/clarity.api.md +24 -2
- package/clr-angular.metadata.json +1 -1
- package/data/datagrid/built-in/filters/datagrid-numeric-filter.d.ts +7 -0
- package/data/datagrid/built-in/filters/datagrid-string-filter.d.ts +5 -0
- package/data/datagrid/datagrid-column.d.ts +9 -0
- package/data/datagrid/datagrid-row.d.ts +12 -1
- package/data/datagrid/datagrid.d.ts +4 -2
- package/data/datagrid/providers/selection.d.ts +8 -0
- package/esm2015/accordion/chocolate/accordion-oompa-loompa.js +4 -2
- package/esm2015/accordion/chocolate/accordion-willy-wonka.js +4 -2
- package/esm2015/accordion/stepper/chocolate/stepper-oompa-loompa.js +4 -2
- package/esm2015/accordion/stepper/chocolate/stepper-willy-wonka.js +4 -2
- package/esm2015/accordion/stepper/stepper.js +16 -5
- package/esm2015/data/datagrid/built-in/filters/datagrid-numeric-filter.js +13 -5
- package/esm2015/data/datagrid/built-in/filters/datagrid-string-filter.js +7 -2
- package/esm2015/data/datagrid/chocolate/actionable-oompa-loompa.js +4 -2
- package/esm2015/data/datagrid/chocolate/datagrid-willy-wonka.js +4 -2
- package/esm2015/data/datagrid/chocolate/expandable-oompa-loompa.js +4 -2
- package/esm2015/data/datagrid/datagrid-action-bar.js +2 -2
- package/esm2015/data/datagrid/datagrid-cell.js +2 -2
- package/esm2015/data/datagrid/datagrid-column.js +16 -1
- package/esm2015/data/datagrid/datagrid-detail-registerer.js +4 -2
- package/esm2015/data/datagrid/datagrid-hideable-column.js +4 -2
- package/esm2015/data/datagrid/datagrid-row.js +58 -5
- package/esm2015/data/datagrid/datagrid.js +23 -5
- package/esm2015/data/datagrid/providers/selection.js +5 -1
- package/esm2015/data/datagrid/render/cell-renderer.js +4 -2
- package/esm2015/data/datagrid/render/header-renderer.js +5 -2
- package/esm2015/data/datagrid/render/row-renderer.js +4 -2
- package/esm2015/data/stack-view/stack-view-custom-tags.js +4 -2
- package/esm2015/data/tree-view/recursive-for-of.js +4 -2
- package/esm2015/data/tree-view/tree-node.js +2 -2
- package/esm2015/emphasis/alert/alerts.js +2 -2
- package/esm2015/forms/checkbox/checkbox.js +4 -2
- package/esm2015/forms/combobox/combobox.js +2 -2
- package/esm2015/forms/combobox/option-selected.directive.js +4 -2
- package/esm2015/forms/combobox/option.js +5 -3
- package/esm2015/forms/common/control.js +5 -2
- package/esm2015/forms/common/error.js +2 -2
- package/esm2015/forms/common/helper.js +2 -2
- package/esm2015/forms/common/if-control-state/if-error.js +4 -2
- package/esm2015/forms/common/if-control-state/if-success.js +4 -2
- package/esm2015/forms/common/label.js +4 -2
- package/esm2015/forms/common/success.js +2 -2
- package/esm2015/forms/datepicker/calendar.js +5 -2
- package/esm2015/forms/input/input.js +5 -2
- package/esm2015/forms/password/password-container.js +4 -4
- package/esm2015/forms/password/password.js +5 -2
- package/esm2015/forms/radio/radio.js +4 -2
- package/esm2015/forms/range/range.js +5 -2
- package/esm2015/forms/select/select.js +5 -2
- package/esm2015/forms/textarea/textarea.js +5 -2
- package/esm2015/icon/icon.js +7 -3
- package/esm2015/layout/main-container/main-container.js +5 -2
- package/esm2015/layout/nav/chocolate/main-container-willy-wonka.js +4 -2
- package/esm2015/layout/nav/chocolate/nav-detection-oompa-loompa.js +4 -2
- package/esm2015/layout/nav/nav-level.js +4 -2
- package/esm2015/layout/tabs/chocolate/active-oompa-loompa.js +4 -2
- package/esm2015/layout/tabs/chocolate/tabs-willy-wonka.js +4 -2
- package/esm2015/layout/tabs/tab-overflow-content.js +2 -2
- package/esm2015/layout/tabs/tab.js +2 -2
- package/esm2015/layout/tabs/tabs.js +2 -3
- package/esm2015/layout/vertical-nav/vertical-nav-group-children.js +2 -2
- package/esm2015/layout/vertical-nav/vertical-nav-group.js +2 -2
- package/esm2015/layout/vertical-nav/vertical-nav-icon.js +5 -2
- package/esm2015/modal/modal-body.js +4 -2
- package/esm2015/popover/dropdown/dropdown-menu.js +2 -2
- package/esm2015/popover/tooltip/tooltip-content.js +2 -2
- package/esm2015/popover/tooltip/tooltip.js +2 -2
- package/esm2015/progress/spinner/spinner.js +2 -2
- package/esm2015/timeline/timeline-step-description.js +2 -2
- package/esm2015/timeline/timeline-step-header.js +2 -2
- package/esm2015/timeline/timeline-step-title.js +2 -2
- package/esm2015/timeline/timeline-step.js +2 -3
- package/esm2015/timeline/timeline.js +2 -2
- package/esm2015/utils/animations/expandable-animation/expandable-animation.js +2 -2
- package/esm2015/utils/conditional/if-active.directive.js +4 -2
- package/esm2015/utils/conditional/if-expanded.directive.js +4 -2
- package/esm2015/utils/conditional/if-open.directive.js +4 -2
- package/esm2015/utils/drag-and-drop/drag-handle.js +5 -2
- package/esm2015/utils/drag-and-drop/if-dragged.js +4 -2
- package/esm2015/utils/focus-trap/focus-trap.directive.js +4 -2
- package/esm2015/utils/loading/loading.js +4 -2
- package/esm2015/utils/outside-click/outside-click.js +4 -2
- package/esm2015/utils/popover/popover-content.js +4 -2
- package/esm2015/wizard/wizard-custom-tags.js +4 -2
- package/esm2015/wizard/wizard-page-buttons.js +4 -2
- package/esm2015/wizard/wizard-page-header-actions.js +4 -2
- package/esm2015/wizard/wizard-page-navtitle.js +4 -2
- package/esm2015/wizard/wizard-page-title.js +4 -2
- package/fesm2015/clr-angular.js +318 -95
- package/fesm2015/clr-angular.js.map +1 -1
- package/package.json +2 -2
|
@@ -354,7 +354,9 @@
|
|
|
354
354
|
return ClrIconCustomTag;
|
|
355
355
|
}());
|
|
356
356
|
ClrIconCustomTag.decorators = [
|
|
357
|
-
{ type: i0.Directive, args: [{
|
|
357
|
+
{ type: i0.Directive, args: [{
|
|
358
|
+
selector: 'clr-icon',
|
|
359
|
+
},] }
|
|
358
360
|
];
|
|
359
361
|
var CdsIconCustomTag = /** @class */ (function () {
|
|
360
362
|
function CdsIconCustomTag() {
|
|
@@ -362,7 +364,9 @@
|
|
|
362
364
|
return CdsIconCustomTag;
|
|
363
365
|
}());
|
|
364
366
|
CdsIconCustomTag.decorators = [
|
|
365
|
-
{ type: i0.Directive, args: [{
|
|
367
|
+
{ type: i0.Directive, args: [{
|
|
368
|
+
selector: 'cds-icon',
|
|
369
|
+
},] }
|
|
366
370
|
];
|
|
367
371
|
|
|
368
372
|
/*
|
|
@@ -441,7 +445,9 @@
|
|
|
441
445
|
return ClrLoading;
|
|
442
446
|
}());
|
|
443
447
|
ClrLoading.decorators = [
|
|
444
|
-
{ type: i0.Directive, args: [{
|
|
448
|
+
{ type: i0.Directive, args: [{
|
|
449
|
+
selector: '[clrLoading]',
|
|
450
|
+
},] }
|
|
445
451
|
];
|
|
446
452
|
ClrLoading.ctorParameters = function () { return [
|
|
447
453
|
{ type: LoadingListener, decorators: [{ type: i0.Optional }] }
|
|
@@ -1141,7 +1147,9 @@
|
|
|
1141
1147
|
return AccordionWillyWonka;
|
|
1142
1148
|
}(WillyWonka));
|
|
1143
1149
|
AccordionWillyWonka.decorators = [
|
|
1144
|
-
{ type: i0.Directive, args: [{
|
|
1150
|
+
{ type: i0.Directive, args: [{
|
|
1151
|
+
selector: 'clr-accordion',
|
|
1152
|
+
},] }
|
|
1145
1153
|
];
|
|
1146
1154
|
|
|
1147
1155
|
var AccordionOompaLoompa = /** @class */ (function (_super) {
|
|
@@ -1165,7 +1173,9 @@
|
|
|
1165
1173
|
return AccordionOompaLoompa;
|
|
1166
1174
|
}(OompaLoompa));
|
|
1167
1175
|
AccordionOompaLoompa.decorators = [
|
|
1168
|
-
{ type: i0.Directive, args: [{
|
|
1176
|
+
{ type: i0.Directive, args: [{
|
|
1177
|
+
selector: 'clr-accordion-panel',
|
|
1178
|
+
},] }
|
|
1169
1179
|
];
|
|
1170
1180
|
AccordionOompaLoompa.ctorParameters = function () { return [
|
|
1171
1181
|
{ type: i0.ChangeDetectorRef },
|
|
@@ -1545,9 +1555,7 @@
|
|
|
1545
1555
|
};
|
|
1546
1556
|
ClrStepper.prototype.listenForFormResetChanges = function () {
|
|
1547
1557
|
var _this = this;
|
|
1548
|
-
return this.form.
|
|
1549
|
-
.pipe(operators.filter(function () { return _this.form.pristine; })) // https://github.com/angular/angular/issues/10887
|
|
1550
|
-
.subscribe(function () { return _this.stepperService.resetPanels(); });
|
|
1558
|
+
return fromControlReset(this.form.form).subscribe(function () { return _this.stepperService.resetPanels(); });
|
|
1551
1559
|
};
|
|
1552
1560
|
ClrStepper.prototype.listenForPanelsCompleted = function () {
|
|
1553
1561
|
var _this = this;
|
|
@@ -1596,6 +1604,18 @@
|
|
|
1596
1604
|
initialPanel: [{ type: i0.Input, args: ['clrInitialStep',] }],
|
|
1597
1605
|
panels: [{ type: i0.ContentChildren, args: [ClrStepperPanel, { descendants: true },] }]
|
|
1598
1606
|
};
|
|
1607
|
+
function fromControlReset(control) {
|
|
1608
|
+
return new rxjs.Observable(function (observer) {
|
|
1609
|
+
var unpatchedControlReset = control.reset;
|
|
1610
|
+
control.reset = function () {
|
|
1611
|
+
observer.next();
|
|
1612
|
+
unpatchedControlReset.apply(control);
|
|
1613
|
+
};
|
|
1614
|
+
return function () {
|
|
1615
|
+
control.reset = unpatchedControlReset;
|
|
1616
|
+
};
|
|
1617
|
+
});
|
|
1618
|
+
}
|
|
1599
1619
|
|
|
1600
1620
|
var StepperWillyWonka = /** @class */ (function (_super) {
|
|
1601
1621
|
__extends(StepperWillyWonka, _super);
|
|
@@ -1605,7 +1625,9 @@
|
|
|
1605
1625
|
return StepperWillyWonka;
|
|
1606
1626
|
}(WillyWonka));
|
|
1607
1627
|
StepperWillyWonka.decorators = [
|
|
1608
|
-
{ type: i0.Directive, args: [{
|
|
1628
|
+
{ type: i0.Directive, args: [{
|
|
1629
|
+
selector: 'form[clrStepper]',
|
|
1630
|
+
},] }
|
|
1609
1631
|
];
|
|
1610
1632
|
|
|
1611
1633
|
var StepperOompaLoompa = /** @class */ (function (_super) {
|
|
@@ -1629,7 +1651,9 @@
|
|
|
1629
1651
|
return StepperOompaLoompa;
|
|
1630
1652
|
}(OompaLoompa));
|
|
1631
1653
|
StepperOompaLoompa.decorators = [
|
|
1632
|
-
{ type: i0.Directive, args: [{
|
|
1654
|
+
{ type: i0.Directive, args: [{
|
|
1655
|
+
selector: 'clr-stepper-panel, [clrStepButton]',
|
|
1656
|
+
},] }
|
|
1633
1657
|
];
|
|
1634
1658
|
StepperOompaLoompa.ctorParameters = function () { return [
|
|
1635
1659
|
{ type: i0.ChangeDetectorRef },
|
|
@@ -2607,7 +2631,9 @@
|
|
|
2607
2631
|
return ClrPopoverContent;
|
|
2608
2632
|
}());
|
|
2609
2633
|
ClrPopoverContent.decorators = [
|
|
2610
|
-
{ type: i0.Directive, args: [{
|
|
2634
|
+
{ type: i0.Directive, args: [{
|
|
2635
|
+
selector: '[clrPopoverContent]',
|
|
2636
|
+
},] }
|
|
2611
2637
|
];
|
|
2612
2638
|
ClrPopoverContent.ctorParameters = function () { return [
|
|
2613
2639
|
{ type: HTMLDocument, decorators: [{ type: i0.Inject, args: [i1.DOCUMENT,] }] },
|
|
@@ -3365,7 +3391,7 @@
|
|
|
3365
3391
|
ClrControlError.decorators = [
|
|
3366
3392
|
{ type: i0.Component, args: [{
|
|
3367
3393
|
selector: 'clr-control-error',
|
|
3368
|
-
template: "
|
|
3394
|
+
template: "<ng-content></ng-content>",
|
|
3369
3395
|
host: {
|
|
3370
3396
|
'[class.clr-subtext]': 'true',
|
|
3371
3397
|
'[attr.id]': 'id',
|
|
@@ -3391,7 +3417,7 @@
|
|
|
3391
3417
|
ClrControlHelper.decorators = [
|
|
3392
3418
|
{ type: i0.Component, args: [{
|
|
3393
3419
|
selector: 'clr-control-helper',
|
|
3394
|
-
template: "
|
|
3420
|
+
template: "<ng-content></ng-content>",
|
|
3395
3421
|
host: {
|
|
3396
3422
|
'[class.clr-subtext]': 'true',
|
|
3397
3423
|
'[attr.id]': 'id',
|
|
@@ -3611,7 +3637,9 @@
|
|
|
3611
3637
|
return ClrLabel;
|
|
3612
3638
|
}());
|
|
3613
3639
|
ClrLabel.decorators = [
|
|
3614
|
-
{ type: i0.Directive, args: [{
|
|
3640
|
+
{ type: i0.Directive, args: [{
|
|
3641
|
+
selector: 'label',
|
|
3642
|
+
},] }
|
|
3615
3643
|
];
|
|
3616
3644
|
ClrLabel.ctorParameters = function () { return [
|
|
3617
3645
|
{ type: ControlIdService, decorators: [{ type: i0.Optional }] },
|
|
@@ -3689,7 +3717,7 @@
|
|
|
3689
3717
|
ClrControlSuccess.decorators = [
|
|
3690
3718
|
{ type: i0.Component, args: [{
|
|
3691
3719
|
selector: 'clr-control-success',
|
|
3692
|
-
template: "
|
|
3720
|
+
template: "<ng-content></ng-content>",
|
|
3693
3721
|
host: {
|
|
3694
3722
|
'[class.clr-subtext]': 'true',
|
|
3695
3723
|
'[attr.id]': 'id',
|
|
@@ -4071,7 +4099,10 @@
|
|
|
4071
4099
|
return ClrControl;
|
|
4072
4100
|
}(WrappedFormControl));
|
|
4073
4101
|
ClrControl.decorators = [
|
|
4074
|
-
{ type: i0.Directive, args: [{
|
|
4102
|
+
{ type: i0.Directive, args: [{
|
|
4103
|
+
selector: '[clrControl]',
|
|
4104
|
+
host: { '[class.clr-input]': 'true' },
|
|
4105
|
+
},] }
|
|
4075
4106
|
];
|
|
4076
4107
|
ClrControl.ctorParameters = function () { return [
|
|
4077
4108
|
{ type: i0.ViewContainerRef },
|
|
@@ -4216,7 +4247,9 @@
|
|
|
4216
4247
|
return ClrIfError;
|
|
4217
4248
|
}(AbstractIfState));
|
|
4218
4249
|
ClrIfError.decorators = [
|
|
4219
|
-
{ type: i0.Directive, args: [{
|
|
4250
|
+
{ type: i0.Directive, args: [{
|
|
4251
|
+
selector: '[clrIfError]',
|
|
4252
|
+
},] }
|
|
4220
4253
|
];
|
|
4221
4254
|
ClrIfError.ctorParameters = function () { return [
|
|
4222
4255
|
{ type: IfControlStateService, decorators: [{ type: i0.Optional }] },
|
|
@@ -4255,7 +4288,9 @@
|
|
|
4255
4288
|
return ClrIfSuccess;
|
|
4256
4289
|
}(AbstractIfState));
|
|
4257
4290
|
ClrIfSuccess.decorators = [
|
|
4258
|
-
{ type: i0.Directive, args: [{
|
|
4291
|
+
{ type: i0.Directive, args: [{
|
|
4292
|
+
selector: '[clrIfSuccess]',
|
|
4293
|
+
},] }
|
|
4259
4294
|
];
|
|
4260
4295
|
ClrIfSuccess.ctorParameters = function () { return [
|
|
4261
4296
|
{ type: IfControlStateService, decorators: [{ type: i0.Optional }] },
|
|
@@ -4410,7 +4445,9 @@
|
|
|
4410
4445
|
return ClrCheckbox;
|
|
4411
4446
|
}(WrappedFormControl));
|
|
4412
4447
|
ClrCheckbox.decorators = [
|
|
4413
|
-
{ type: i0.Directive, args: [{
|
|
4448
|
+
{ type: i0.Directive, args: [{
|
|
4449
|
+
selector: '[clrCheckbox],[clrToggle]',
|
|
4450
|
+
},] }
|
|
4414
4451
|
];
|
|
4415
4452
|
ClrCheckbox.ctorParameters = function () { return [
|
|
4416
4453
|
{ type: i0.ViewContainerRef },
|
|
@@ -4606,7 +4643,7 @@
|
|
|
4606
4643
|
ClrSpinner.decorators = [
|
|
4607
4644
|
{ type: i0.Component, args: [{
|
|
4608
4645
|
selector: 'clr-spinner',
|
|
4609
|
-
template: "
|
|
4646
|
+
template: "<ng-content></ng-content>",
|
|
4610
4647
|
host: {
|
|
4611
4648
|
'[attr.aria-busy]': 'true',
|
|
4612
4649
|
}
|
|
@@ -4815,7 +4852,9 @@
|
|
|
4815
4852
|
return ClrIfActive;
|
|
4816
4853
|
}());
|
|
4817
4854
|
ClrIfActive.decorators = [
|
|
4818
|
-
{ type: i0.Directive, args: [{
|
|
4855
|
+
{ type: i0.Directive, args: [{
|
|
4856
|
+
selector: '[clrIfActive]',
|
|
4857
|
+
},] }
|
|
4819
4858
|
];
|
|
4820
4859
|
ClrIfActive.ctorParameters = function () { return [
|
|
4821
4860
|
{ type: IfActiveService },
|
|
@@ -4909,7 +4948,9 @@
|
|
|
4909
4948
|
return ClrIfExpanded;
|
|
4910
4949
|
}());
|
|
4911
4950
|
ClrIfExpanded.decorators = [
|
|
4912
|
-
{ type: i0.Directive, args: [{
|
|
4951
|
+
{ type: i0.Directive, args: [{
|
|
4952
|
+
selector: '[clrIfExpanded]',
|
|
4953
|
+
},] }
|
|
4913
4954
|
];
|
|
4914
4955
|
ClrIfExpanded.ctorParameters = function () { return [
|
|
4915
4956
|
{ type: i0.TemplateRef, decorators: [{ type: i0.Optional }] },
|
|
@@ -5001,7 +5042,9 @@
|
|
|
5001
5042
|
return ClrIfOpen;
|
|
5002
5043
|
}());
|
|
5003
5044
|
ClrIfOpen.decorators = [
|
|
5004
|
-
{ type: i0.Directive, args: [{
|
|
5045
|
+
{ type: i0.Directive, args: [{
|
|
5046
|
+
selector: '[clrIfOpen]',
|
|
5047
|
+
},] }
|
|
5005
5048
|
];
|
|
5006
5049
|
ClrIfOpen.ctorParameters = function () { return [
|
|
5007
5050
|
{ type: ClrPopoverToggleService },
|
|
@@ -5743,7 +5786,9 @@
|
|
|
5743
5786
|
return ClrOptionSelected;
|
|
5744
5787
|
}());
|
|
5745
5788
|
ClrOptionSelected.decorators = [
|
|
5746
|
-
{ type: i0.Directive, args: [{
|
|
5789
|
+
{ type: i0.Directive, args: [{
|
|
5790
|
+
selector: '[clrOptionSelected]',
|
|
5791
|
+
},] }
|
|
5747
5792
|
];
|
|
5748
5793
|
ClrOptionSelected.ctorParameters = function () { return [
|
|
5749
5794
|
{ type: i0.TemplateRef }
|
|
@@ -6412,7 +6457,7 @@
|
|
|
6412
6457
|
ClrCombobox.decorators = [
|
|
6413
6458
|
{ type: i0.Component, args: [{
|
|
6414
6459
|
selector: 'clr-combobox',
|
|
6415
|
-
template: "<!--\n* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n* This software is released under MIT license.\n* The full license information can be found in LICENSE in the root directory of this project.\n-->\n\n<!-- The (click) handler is needed to auto-focus on input field which can not currently occupy the whole\n width of the component, after being wrapped to a new line -->\n<div\n class=\"clr-combobox-wrapper\"\n clrPopoverAnchor\n (click)=\"focusInput()\"\n [class.multi]=\"multiSelect\"\n [class.invalid]=\"invalid\"\n>\n <span\n *ngIf=\"multiSelect && optionSelectionService.selectionModel.model\"\n role=\"grid\"\n clrRovingTabindex\n [clrRovingTabindexDisabled]=\"control?.disabled\"\n clrDirection=\"both\"\n [attr.aria-label]=\"getSelectionAriaLabel()\"\n [attr.aria-disabled]=\"control?.disabled? true: null\"\n >\n <span *ngFor=\"let item of multiSelectModel; let i = index\" class=\"label label-combobox-pill\" role=\"row\">\n <span role=\"gridcell\">\n <span class=\"clr-combobox-pill-content\" clrKeyFocusItem>\n <ng-container\n *ngIf=\"optionSelected\"\n [ngTemplateOutlet]=\"optionSelected.template\"\n [ngTemplateOutletContext]=\"{$implicit: optionSelectionService.selectionModel.model[i]}\"\n
|
|
6460
|
+
template: "<!--\n* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n* This software is released under MIT license.\n* The full license information can be found in LICENSE in the root directory of this project.\n-->\n\n<!-- The (click) handler is needed to auto-focus on input field which can not currently occupy the whole\n width of the component, after being wrapped to a new line -->\n<div\n class=\"clr-combobox-wrapper\"\n clrPopoverAnchor\n (click)=\"focusInput()\"\n [class.multi]=\"multiSelect\"\n [class.invalid]=\"invalid\"\n>\n <span\n *ngIf=\"multiSelect && optionSelectionService.selectionModel.model\"\n role=\"grid\"\n clrRovingTabindex\n [clrRovingTabindexDisabled]=\"control?.disabled\"\n clrDirection=\"both\"\n [attr.aria-label]=\"getSelectionAriaLabel()\"\n [attr.aria-disabled]=\"control?.disabled? true: null\"\n >\n <span *ngFor=\"let item of multiSelectModel; let i = index\" class=\"label label-combobox-pill\" role=\"row\">\n <span role=\"gridcell\">\n <span class=\"clr-combobox-pill-content\" clrKeyFocusItem>\n <ng-container\n *ngIf=\"optionSelected\"\n [ngTemplateOutlet]=\"optionSelected.template\"\n [ngTemplateOutletContext]=\"{$implicit: optionSelectionService.selectionModel.model[i]}\"\n ></ng-container>\n </span>\n </span>\n <span role=\"gridcell\">\n <button\n clrKeyFocusItem\n type=\"button\"\n class=\"clr-combobox-remove-btn\"\n [disabled]=\"control?.disabled? true: null\"\n [attr.aria-label]=\"commonStrings.keys.comboboxDelete + ' ' + optionSelectionService.selectionModel.toString(displayField, i)\"\n (click)=\"unselect(item)\"\n >\n <cds-icon shape=\"window-close\" size=\"12\"></cds-icon>\n </button>\n </span>\n </span>\n </span>\n\n <span class=\"clr-combobox-input-wrapper\" role=\"combobox\">\n <input\n #textboxInput\n type=\"text\"\n [id]=\"inputId()\"\n class=\"clr-input clr-combobox-input\"\n [(ngModel)]=\"searchText\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n [attr.aria-expanded]=\"openState\"\n [attr.aria-owns]=\"ariaOwns\"\n aria-haspopup=\"listbox\"\n aria-autocomplete=\"list\"\n autocomplete=\"off\"\n [attr.aria-invalid]=\"control?.invalid? true: null\"\n [disabled]=\"control?.disabled? true: null\"\n [attr.aria-activedescendant]=\"getActiveDescendant()\"\n [attr.placeholder]=\"placeholder\"\n />\n </span>\n\n <!-- No click handler, as it uses the handler on the .clr-combobox-wrapper -->\n <button\n clrPopoverOpenCloseButton\n #trigger\n type=\"button\"\n class=\"clr-combobox-trigger\"\n tabindex=\"-1\"\n [disabled]=\"control?.disabled || null\"\n [attr.aria-label]=\"commonStrings.keys.comboboxOpen\"\n >\n <cds-icon shape=\"angle\" direction=\"down\" size=\"12\"></cds-icon>\n </button>\n\n <div class=\"clr-focus-indicator\" [class.clr-focus]=\"focused\"></div>\n</div>\n\n<!-- Both close handlers are handled manually due to issues in Edge browser.\n Additionally 'outsideClickToClose' has complex handling that's necessary\n to be manual due to the component architecture -->\n<div role=\"dialog\" *clrPopoverContent=\"openState at smartPosition; outsideClickToClose: false; scrollToClose: false\">\n <ng-content></ng-content>\n</div>\n",
|
|
6416
6461
|
providers: [
|
|
6417
6462
|
ClrPopoverToggleService,
|
|
6418
6463
|
{ provide: POPOVER_HOST_ANCHOR, useExisting: i0.ElementRef },
|
|
@@ -6538,7 +6583,7 @@
|
|
|
6538
6583
|
ClrOption.decorators = [
|
|
6539
6584
|
{ type: i0.Component, args: [{
|
|
6540
6585
|
selector: 'clr-option',
|
|
6541
|
-
template: "<ng-content></ng-content>\n <span *ngIf=\"selected\" class=\"clr-sr-only\">
|
|
6586
|
+
template: "\n <ng-content></ng-content>\n <span *ngIf=\"selected\" class=\"clr-sr-only\">{{ commonStrings.keys.comboboxSelected }}</span>\n ",
|
|
6542
6587
|
providers: [UNIQUE_ID_PROVIDER],
|
|
6543
6588
|
host: {
|
|
6544
6589
|
'[class.clr-combobox-option]': 'true',
|
|
@@ -6850,7 +6895,10 @@
|
|
|
6850
6895
|
return ClrInput;
|
|
6851
6896
|
}(WrappedFormControl));
|
|
6852
6897
|
ClrInput.decorators = [
|
|
6853
|
-
{ type: i0.Directive, args: [{
|
|
6898
|
+
{ type: i0.Directive, args: [{
|
|
6899
|
+
selector: '[clrInput]',
|
|
6900
|
+
host: { '[class.clr-input]': 'true' },
|
|
6901
|
+
},] }
|
|
6854
6902
|
];
|
|
6855
6903
|
ClrInput.ctorParameters = function () { return [
|
|
6856
6904
|
{ type: i0.ViewContainerRef },
|
|
@@ -7286,7 +7334,9 @@
|
|
|
7286
7334
|
return FocusTrapDirective;
|
|
7287
7335
|
}());
|
|
7288
7336
|
FocusTrapDirective.decorators = [
|
|
7289
|
-
{ type: i0.Directive, args: [{
|
|
7337
|
+
{ type: i0.Directive, args: [{
|
|
7338
|
+
selector: '[clrFocusTrap]',
|
|
7339
|
+
},] }
|
|
7290
7340
|
];
|
|
7291
7341
|
FocusTrapDirective.ctorParameters = function () { return [
|
|
7292
7342
|
{ type: i0.ElementRef },
|
|
@@ -8308,7 +8358,10 @@
|
|
|
8308
8358
|
return ClrCalendar;
|
|
8309
8359
|
}());
|
|
8310
8360
|
ClrCalendar.decorators = [
|
|
8311
|
-
{ type: i0.Component, args: [{
|
|
8361
|
+
{ type: i0.Component, args: [{
|
|
8362
|
+
selector: 'clr-calendar',
|
|
8363
|
+
template: "<table class=\"calendar-table\">\n <tr class=\"calendar-row weekdays\">\n <th *ngFor=\"let day of localeDays\" class=\"calendar-cell weekday\" role=\"heading\" [attr.aria-label]=\"day.day\">\n {{day.narrow}}\n </th>\n </tr>\n <tr class=\"calendar-row\" *ngFor=\"let row of calendarViewModel.calendarView\">\n <td *ngFor=\"let dayView of row\" class=\"calendar-cell\">\n <clr-day [clrDayView]=\"dayView\"></clr-day>\n </td>\n </tr>\n</table>\n"
|
|
8364
|
+
},] }
|
|
8312
8365
|
];
|
|
8313
8366
|
ClrCalendar.ctorParameters = function () { return [
|
|
8314
8367
|
{ type: LocaleHelperService },
|
|
@@ -9538,7 +9591,7 @@
|
|
|
9538
9591
|
ClrPasswordContainer.decorators = [
|
|
9539
9592
|
{ type: i0.Component, args: [{
|
|
9540
9593
|
selector: 'clr-password-container',
|
|
9541
|
-
template: "\n <ng-content select=\"label\"></ng-content>\n <label *ngIf=\"!label && addGrid()\"></label>\n <div class=\"clr-control-container\" [ngClass]=\"controlClass()\">\n <div class=\"clr-input-wrapper\">\n <div class=\"clr-input-group\" [class.clr-focus]=\"focus\">\n <ng-content select=\"[clrPassword]\"></ng-content>\n <button\n *ngIf=\"clrToggle\"\n (click)=\"toggle()\"\n [disabled]=\"control?.disabled\"\n class=\"clr-input-group-icon-action\"\n type=\"button\"\n >\n <cds-icon status=\"info\" [attr.shape]=\"show ? 'eye-hide' : 'eye'\"></cds-icon>\n <span class=\"clr-sr-only\"
|
|
9594
|
+
template: "\n <ng-content select=\"label\"></ng-content>\n <label *ngIf=\"!label && addGrid()\"></label>\n <div class=\"clr-control-container\" [ngClass]=\"controlClass()\">\n <div class=\"clr-input-wrapper\">\n <div class=\"clr-input-group\" [class.clr-focus]=\"focus\">\n <ng-content select=\"[clrPassword]\"></ng-content>\n <button\n *ngIf=\"clrToggle\"\n (click)=\"toggle()\"\n [disabled]=\"control?.disabled\"\n class=\"clr-input-group-icon-action\"\n type=\"button\"\n >\n <cds-icon status=\"info\" [attr.shape]=\"show ? 'eye-hide' : 'eye'\"></cds-icon>\n <span class=\"clr-sr-only\">\n {{ show ? commonStrings.keys.passwordHide : commonStrings.keys.passwordShow }}\n </span>\n </button>\n </div>\n <cds-icon\n *ngIf=\"showInvalid\"\n class=\"clr-validate-icon\"\n status=\"danger\"\n shape=\"exclamation-circle\"\n aria-hidden=\"true\"\n ></cds-icon>\n <cds-icon\n *ngIf=\"showValid\"\n class=\"clr-validate-icon\"\n shape=\"check-circle\"\n status=\"success\"\n aria-hidden=\"true\"\n ></cds-icon>\n </div>\n <ng-content select=\"clr-control-helper\" *ngIf=\"showHelper\"></ng-content>\n <ng-content select=\"clr-control-error\" *ngIf=\"showInvalid\"></ng-content>\n <ng-content select=\"clr-control-success\" *ngIf=\"showValid\"></ng-content>\n </div>\n ",
|
|
9542
9595
|
host: {
|
|
9543
9596
|
'[class.clr-form-control]': 'true',
|
|
9544
9597
|
'[class.clr-form-control-disabled]': 'control?.disabled',
|
|
@@ -9596,7 +9649,10 @@
|
|
|
9596
9649
|
return ClrPassword;
|
|
9597
9650
|
}(WrappedFormControl));
|
|
9598
9651
|
ClrPassword.decorators = [
|
|
9599
|
-
{ type: i0.Directive, args: [{
|
|
9652
|
+
{ type: i0.Directive, args: [{
|
|
9653
|
+
selector: '[clrPassword]',
|
|
9654
|
+
host: { '[class.clr-input]': 'true' },
|
|
9655
|
+
},] }
|
|
9600
9656
|
];
|
|
9601
9657
|
ClrPassword.ctorParameters = function () { return [
|
|
9602
9658
|
{ type: i0.ViewContainerRef },
|
|
@@ -9674,7 +9730,9 @@
|
|
|
9674
9730
|
return ClrRadio;
|
|
9675
9731
|
}(WrappedFormControl));
|
|
9676
9732
|
ClrRadio.decorators = [
|
|
9677
|
-
{ type: i0.Directive, args: [{
|
|
9733
|
+
{ type: i0.Directive, args: [{
|
|
9734
|
+
selector: '[clrRadio]',
|
|
9735
|
+
},] }
|
|
9678
9736
|
];
|
|
9679
9737
|
ClrRadio.ctorParameters = function () { return [
|
|
9680
9738
|
{ type: i0.ViewContainerRef },
|
|
@@ -9839,7 +9897,10 @@
|
|
|
9839
9897
|
return ClrRange;
|
|
9840
9898
|
}(WrappedFormControl));
|
|
9841
9899
|
ClrRange.decorators = [
|
|
9842
|
-
{ type: i0.Directive, args: [{
|
|
9900
|
+
{ type: i0.Directive, args: [{
|
|
9901
|
+
selector: '[clrRange]',
|
|
9902
|
+
host: { '[class.clr-range]': 'true' },
|
|
9903
|
+
},] }
|
|
9843
9904
|
];
|
|
9844
9905
|
ClrRange.ctorParameters = function () { return [
|
|
9845
9906
|
{ type: i0.ViewContainerRef },
|
|
@@ -9928,7 +9989,10 @@
|
|
|
9928
9989
|
return ClrSelect;
|
|
9929
9990
|
}(WrappedFormControl));
|
|
9930
9991
|
ClrSelect.decorators = [
|
|
9931
|
-
{ type: i0.Directive, args: [{
|
|
9992
|
+
{ type: i0.Directive, args: [{
|
|
9993
|
+
selector: '[clrSelect]',
|
|
9994
|
+
host: { '[class.clr-select]': 'true' },
|
|
9995
|
+
},] }
|
|
9932
9996
|
];
|
|
9933
9997
|
ClrSelect.ctorParameters = function () { return [
|
|
9934
9998
|
{ type: i0.ViewContainerRef },
|
|
@@ -9989,7 +10053,10 @@
|
|
|
9989
10053
|
return ClrTextarea;
|
|
9990
10054
|
}(WrappedFormControl));
|
|
9991
10055
|
ClrTextarea.decorators = [
|
|
9992
|
-
{ type: i0.Directive, args: [{
|
|
10056
|
+
{ type: i0.Directive, args: [{
|
|
10057
|
+
selector: '[clrTextarea]',
|
|
10058
|
+
host: { '[class.clr-textarea]': 'true' },
|
|
10059
|
+
},] }
|
|
9993
10060
|
];
|
|
9994
10061
|
ClrTextarea.ctorParameters = function () { return [
|
|
9995
10062
|
{ type: i0.ViewContainerRef },
|
|
@@ -10127,7 +10194,7 @@
|
|
|
10127
10194
|
ClrExpandableAnimation.decorators = [
|
|
10128
10195
|
{ type: i0.Component, args: [{
|
|
10129
10196
|
selector: 'clr-expandable-animation',
|
|
10130
|
-
template: "
|
|
10197
|
+
template: "<ng-content></ng-content>",
|
|
10131
10198
|
animations: [
|
|
10132
10199
|
animations.trigger('expandAnimation', [
|
|
10133
10200
|
animations.transition('true <=> false', [
|
|
@@ -10541,7 +10608,10 @@
|
|
|
10541
10608
|
return ClrDragHandle;
|
|
10542
10609
|
}());
|
|
10543
10610
|
ClrDragHandle.decorators = [
|
|
10544
|
-
{ type: i0.Directive, args: [{
|
|
10611
|
+
{ type: i0.Directive, args: [{
|
|
10612
|
+
selector: '[clrDragHandle]',
|
|
10613
|
+
host: { '[class.drag-handle]': 'true' },
|
|
10614
|
+
},] }
|
|
10545
10615
|
];
|
|
10546
10616
|
ClrDragHandle.ctorParameters = function () { return [
|
|
10547
10617
|
{ type: i0.ElementRef },
|
|
@@ -10761,7 +10831,9 @@
|
|
|
10761
10831
|
return ClrIfDragged;
|
|
10762
10832
|
}());
|
|
10763
10833
|
ClrIfDragged.decorators = [
|
|
10764
|
-
{ type: i0.Directive, args: [{
|
|
10834
|
+
{ type: i0.Directive, args: [{
|
|
10835
|
+
selector: '[clrIfDragged]',
|
|
10836
|
+
},] }
|
|
10765
10837
|
];
|
|
10766
10838
|
ClrIfDragged.ctorParameters = function () { return [
|
|
10767
10839
|
{ type: i0.TemplateRef },
|
|
@@ -11322,7 +11394,9 @@
|
|
|
11322
11394
|
return OutsideClick;
|
|
11323
11395
|
}());
|
|
11324
11396
|
OutsideClick.decorators = [
|
|
11325
|
-
{ type: i0.Directive, args: [{
|
|
11397
|
+
{ type: i0.Directive, args: [{
|
|
11398
|
+
selector: '[clrOutsideClick]',
|
|
11399
|
+
},] }
|
|
11326
11400
|
];
|
|
11327
11401
|
OutsideClick.ctorParameters = function () { return [
|
|
11328
11402
|
{ type: i0.ElementRef },
|
|
@@ -12085,6 +12159,20 @@
|
|
|
12085
12159
|
sub.unsubscribe();
|
|
12086
12160
|
});
|
|
12087
12161
|
};
|
|
12162
|
+
Object.defineProperty(DatagridNumericFilter.prototype, "maxPlaceholderValue", {
|
|
12163
|
+
get: function () {
|
|
12164
|
+
return this.maxPlaceholder || this.commonStrings.keys.maxValue;
|
|
12165
|
+
},
|
|
12166
|
+
enumerable: false,
|
|
12167
|
+
configurable: true
|
|
12168
|
+
});
|
|
12169
|
+
Object.defineProperty(DatagridNumericFilter.prototype, "minPlaceholderValue", {
|
|
12170
|
+
get: function () {
|
|
12171
|
+
return this.minPlaceholder || this.commonStrings.keys.minValue;
|
|
12172
|
+
},
|
|
12173
|
+
enumerable: false,
|
|
12174
|
+
configurable: true
|
|
12175
|
+
});
|
|
12088
12176
|
Object.defineProperty(DatagridNumericFilter.prototype, "customNumericFilter", {
|
|
12089
12177
|
/**
|
|
12090
12178
|
* Customizable filter logic based on high and low values
|
|
@@ -12201,7 +12289,7 @@
|
|
|
12201
12289
|
{ type: i0.Component, args: [{
|
|
12202
12290
|
selector: 'clr-dg-numeric-filter',
|
|
12203
12291
|
providers: [{ provide: CustomFilter, useExisting: DatagridNumericFilter }],
|
|
12204
|
-
template: "\n <clr-dg-filter [clrDgFilter]=\"registered\" [(clrDgFilterOpen)]=\"open\">\n <input\n class=\"datagrid-numeric-filter-input\"\n #input_low\n type=\"number\"\n name=\"low\"\n [(ngModel)]=\"low\"\n [placeholder]=\"
|
|
12292
|
+
template: "\n <clr-dg-filter [clrDgFilter]=\"registered\" [(clrDgFilterOpen)]=\"open\">\n <input\n class=\"datagrid-numeric-filter-input\"\n #input_low\n type=\"number\"\n name=\"low\"\n [(ngModel)]=\"low\"\n [placeholder]=\"minPlaceholderValue\"\n [attr.aria-label]=\"minPlaceholderValue\"\n />\n <span class=\"datagrid-filter-input-spacer\"></span>\n <input\n class=\"datagrid-numeric-filter-input\"\n #input_high\n type=\"number\"\n name=\"high\"\n [(ngModel)]=\"high\"\n [placeholder]=\"maxPlaceholderValue\"\n [attr.aria-label]=\"maxPlaceholderValue\"\n />\n </clr-dg-filter>\n "
|
|
12205
12293
|
},] }
|
|
12206
12294
|
];
|
|
12207
12295
|
DatagridNumericFilter.ctorParameters = function () { return [
|
|
@@ -12211,6 +12299,8 @@
|
|
|
12211
12299
|
{ type: ClrPopoverToggleService }
|
|
12212
12300
|
]; };
|
|
12213
12301
|
DatagridNumericFilter.propDecorators = {
|
|
12302
|
+
maxPlaceholder: [{ type: i0.Input, args: ['clrFilterMaxPlaceholder',] }],
|
|
12303
|
+
minPlaceholder: [{ type: i0.Input, args: ['clrFilterMinPlaceholder',] }],
|
|
12214
12304
|
customNumericFilter: [{ type: i0.Input, args: ['clrDgNumericFilter',] }],
|
|
12215
12305
|
input: [{ type: i0.ViewChild, args: ['input_low',] }],
|
|
12216
12306
|
filterContainer: [{ type: i0.ViewChild, args: [ClrDatagridFilter,] }],
|
|
@@ -12356,6 +12446,13 @@
|
|
|
12356
12446
|
_this.filterValueChange = new i0.EventEmitter();
|
|
12357
12447
|
return _this;
|
|
12358
12448
|
}
|
|
12449
|
+
Object.defineProperty(DatagridStringFilter.prototype, "placeholderValue", {
|
|
12450
|
+
get: function () {
|
|
12451
|
+
return this.placeholder || this.commonStrings.keys.filterItems;
|
|
12452
|
+
},
|
|
12453
|
+
enumerable: false,
|
|
12454
|
+
configurable: true
|
|
12455
|
+
});
|
|
12359
12456
|
Object.defineProperty(DatagridStringFilter.prototype, "customStringFilter", {
|
|
12360
12457
|
/**
|
|
12361
12458
|
* Customizable filter logic based on a search text
|
|
@@ -12422,7 +12519,7 @@
|
|
|
12422
12519
|
{ type: i0.Component, args: [{
|
|
12423
12520
|
selector: 'clr-dg-string-filter',
|
|
12424
12521
|
providers: [{ provide: CustomFilter, useExisting: DatagridStringFilter }],
|
|
12425
|
-
template: "\n <clr-dg-filter [clrDgFilter]=\"registered\" [(clrDgFilterOpen)]=\"open\">\n <input\n #input\n type=\"text\"\n name=\"search\"\n [(ngModel)]=\"value\"\n class=\"clr-input\"\n [attr.aria-label]=\"
|
|
12522
|
+
template: "\n <clr-dg-filter [clrDgFilter]=\"registered\" [(clrDgFilterOpen)]=\"open\">\n <input\n #input\n type=\"text\"\n name=\"search\"\n [(ngModel)]=\"value\"\n class=\"clr-input\"\n [attr.aria-label]=\"placeholderValue\"\n [placeholder]=\"placeholderValue\"\n />\n </clr-dg-filter>\n "
|
|
12426
12523
|
},] }
|
|
12427
12524
|
];
|
|
12428
12525
|
DatagridStringFilter.ctorParameters = function () { return [
|
|
@@ -12432,6 +12529,7 @@
|
|
|
12432
12529
|
{ type: ClrPopoverToggleService }
|
|
12433
12530
|
]; };
|
|
12434
12531
|
DatagridStringFilter.propDecorators = {
|
|
12532
|
+
placeholder: [{ type: i0.Input, args: ['clrFilterPlaceholder',] }],
|
|
12435
12533
|
customStringFilter: [{ type: i0.Input, args: ['clrDgStringFilter',] }],
|
|
12436
12534
|
input: [{ type: i0.ViewChild, args: ['input',] }],
|
|
12437
12535
|
filterContainer: [{ type: i0.ViewChild, args: [ClrDatagridFilter,] }],
|
|
@@ -12478,7 +12576,9 @@
|
|
|
12478
12576
|
return DatagridWillyWonka;
|
|
12479
12577
|
}(WillyWonka));
|
|
12480
12578
|
DatagridWillyWonka.decorators = [
|
|
12481
|
-
{ type: i0.Directive, args: [{
|
|
12579
|
+
{ type: i0.Directive, args: [{
|
|
12580
|
+
selector: 'clr-datagrid',
|
|
12581
|
+
},] }
|
|
12482
12582
|
];
|
|
12483
12583
|
|
|
12484
12584
|
var ActionableOompaLoompa = /** @class */ (function (_super) {
|
|
@@ -12502,7 +12602,9 @@
|
|
|
12502
12602
|
return ActionableOompaLoompa;
|
|
12503
12603
|
}(OompaLoompa));
|
|
12504
12604
|
ActionableOompaLoompa.decorators = [
|
|
12505
|
-
{ type: i0.Directive, args: [{
|
|
12605
|
+
{ type: i0.Directive, args: [{
|
|
12606
|
+
selector: 'clr-datagrid, clr-dg-row',
|
|
12607
|
+
},] }
|
|
12506
12608
|
];
|
|
12507
12609
|
ActionableOompaLoompa.ctorParameters = function () { return [
|
|
12508
12610
|
{ type: i0.ChangeDetectorRef },
|
|
@@ -12640,7 +12742,9 @@
|
|
|
12640
12742
|
return ExpandableOompaLoompa;
|
|
12641
12743
|
}(OompaLoompa));
|
|
12642
12744
|
ExpandableOompaLoompa.decorators = [
|
|
12643
|
-
{ type: i0.Directive, args: [{
|
|
12745
|
+
{ type: i0.Directive, args: [{
|
|
12746
|
+
selector: 'clr-datagrid, clr-dg-row',
|
|
12747
|
+
},] }
|
|
12644
12748
|
];
|
|
12645
12749
|
ExpandableOompaLoompa.ctorParameters = function () { return [
|
|
12646
12750
|
{ type: i0.ChangeDetectorRef },
|
|
@@ -13105,6 +13209,27 @@
|
|
|
13105
13209
|
enumerable: false,
|
|
13106
13210
|
configurable: true
|
|
13107
13211
|
});
|
|
13212
|
+
Object.defineProperty(ClrDatagridColumn.prototype, "filterStringPlaceholderValue", {
|
|
13213
|
+
get: function () {
|
|
13214
|
+
return this.filterStringPlaceholder || this.commonStrings.keys.filterItems;
|
|
13215
|
+
},
|
|
13216
|
+
enumerable: false,
|
|
13217
|
+
configurable: true
|
|
13218
|
+
});
|
|
13219
|
+
Object.defineProperty(ClrDatagridColumn.prototype, "filterNumberMaxPlaceholderValue", {
|
|
13220
|
+
get: function () {
|
|
13221
|
+
return this.filterNumberMaxPlaceholder || this.commonStrings.keys.maxValue;
|
|
13222
|
+
},
|
|
13223
|
+
enumerable: false,
|
|
13224
|
+
configurable: true
|
|
13225
|
+
});
|
|
13226
|
+
Object.defineProperty(ClrDatagridColumn.prototype, "filterNumberMinPlaceholderValue", {
|
|
13227
|
+
get: function () {
|
|
13228
|
+
return this.filterNumberMinPlaceholder || this.commonStrings.keys.minValue;
|
|
13229
|
+
},
|
|
13230
|
+
enumerable: false,
|
|
13231
|
+
configurable: true
|
|
13232
|
+
});
|
|
13108
13233
|
Object.defineProperty(ClrDatagridColumn.prototype, "updateFilterValue", {
|
|
13109
13234
|
set: function (newValue) {
|
|
13110
13235
|
if (this.filter) {
|
|
@@ -13171,7 +13296,7 @@
|
|
|
13171
13296
|
ClrDatagridColumn.decorators = [
|
|
13172
13297
|
{ type: i0.Component, args: [{
|
|
13173
13298
|
selector: 'clr-dg-column',
|
|
13174
|
-
template: "\n <div class=\"datagrid-column-flex\">\n <button class=\"datagrid-column-title\" *ngIf=\"sortable\" (click)=\"sort()\" type=\"button\">\n <ng-container *ngTemplateOutlet=\"columnTitle\"></ng-container>\n <cds-icon\n *ngIf=\"sortDirection\"\n shape=\"arrow\"\n [attr.direction]=\"sortDirection\"\n aria-hidden=\"true\"\n class=\"sort-icon\"\n ></cds-icon>\n </button>\n <!-- I'm really not happy with that select since it's not very scalable -->\n <ng-content select=\"clr-dg-filter, clr-dg-string-filter, clr-dg-numeric-filter\"></ng-content>\n\n <clr-dg-string-filter\n *ngIf=\"field && !customFilter && colType == 'string'\"\n [clrDgStringFilter]=\"registered\"\n [(clrFilterValue)]=\"filterValue\"\n ></clr-dg-string-filter>\n\n <clr-dg-numeric-filter\n *ngIf=\"field && !customFilter && colType == 'number'\"\n [clrDgNumericFilter]=\"registered\"\n [(clrFilterValue)]=\"filterValue\"\n ></clr-dg-numeric-filter>\n\n <ng-template #columnTitle>\n <ng-content></ng-content>\n </ng-template>\n\n <span class=\"datagrid-column-title\" *ngIf=\"!sortable\">\n <ng-container *ngTemplateOutlet=\"columnTitle\"></ng-container>\n </span>\n\n <clr-dg-column-separator *ngIf=\"showSeparator\"></clr-dg-column-separator>\n </div>\n ",
|
|
13299
|
+
template: "\n <div class=\"datagrid-column-flex\">\n <button class=\"datagrid-column-title\" *ngIf=\"sortable\" (click)=\"sort()\" type=\"button\">\n <ng-container *ngTemplateOutlet=\"columnTitle\"></ng-container>\n <cds-icon\n *ngIf=\"sortDirection\"\n shape=\"arrow\"\n [attr.direction]=\"sortDirection\"\n aria-hidden=\"true\"\n class=\"sort-icon\"\n ></cds-icon>\n </button>\n <!-- I'm really not happy with that select since it's not very scalable -->\n <ng-content select=\"clr-dg-filter, clr-dg-string-filter, clr-dg-numeric-filter\"></ng-content>\n\n <clr-dg-string-filter\n *ngIf=\"field && !customFilter && colType == 'string'\"\n [clrFilterPlaceholder]=\"filterStringPlaceholderValue\"\n [clrDgStringFilter]=\"registered\"\n [(clrFilterValue)]=\"filterValue\"\n ></clr-dg-string-filter>\n\n <clr-dg-numeric-filter\n *ngIf=\"field && !customFilter && colType == 'number'\"\n [clrFilterMaxPlaceholder]=\"filterMaxPlaceholderValue\"\n [clrFilterMinPlaceholder]=\"filterMinPlaceholderValue\"\n [clrDgNumericFilter]=\"registered\"\n [(clrFilterValue)]=\"filterValue\"\n ></clr-dg-numeric-filter>\n\n <ng-template #columnTitle>\n <ng-content></ng-content>\n </ng-template>\n\n <span class=\"datagrid-column-title\" *ngIf=\"!sortable\">\n <ng-container *ngTemplateOutlet=\"columnTitle\"></ng-container>\n </span>\n\n <clr-dg-column-separator *ngIf=\"showSeparator\"></clr-dg-column-separator>\n </div>\n ",
|
|
13175
13300
|
providers: [ClrPopoverPositionService, ClrPopoverEventsService, ClrPopoverToggleService],
|
|
13176
13301
|
host: {
|
|
13177
13302
|
'[class.datagrid-column]': 'true',
|
|
@@ -13198,6 +13323,9 @@
|
|
|
13198
13323
|
sortOrder: [{ type: i0.Input, args: ['clrDgSortOrder',] }],
|
|
13199
13324
|
sortOrderChange: [{ type: i0.Output, args: ['clrDgSortOrderChange',] }],
|
|
13200
13325
|
projectedFilter: [{ type: i0.ContentChild, args: [CustomFilter,] }],
|
|
13326
|
+
filterStringPlaceholder: [{ type: i0.Input, args: ['clrFilterStringPlaceholder',] }],
|
|
13327
|
+
filterNumberMaxPlaceholder: [{ type: i0.Input, args: ['clrFilterNumberMaxPlaceholder',] }],
|
|
13328
|
+
filterNumberMinPlaceholder: [{ type: i0.Input, args: ['clrFilterNumberMinPlaceholder',] }],
|
|
13201
13329
|
updateFilterValue: [{ type: i0.Input, args: ['clrFilterValue',] }],
|
|
13202
13330
|
filterValueChange: [{ type: i0.Output, args: ['clrFilterValueChange',] }]
|
|
13203
13331
|
};
|
|
@@ -13757,7 +13885,7 @@
|
|
|
13757
13885
|
ClrDatagridCell.decorators = [
|
|
13758
13886
|
{ type: i0.Component, args: [{
|
|
13759
13887
|
selector: 'clr-dg-cell',
|
|
13760
|
-
template: "
|
|
13888
|
+
template: "<ng-content></ng-content>",
|
|
13761
13889
|
host: {
|
|
13762
13890
|
'[class.datagrid-cell]': 'true',
|
|
13763
13891
|
'[class.datagrid-signpost-trigger]': 'signpost.length > 0',
|
|
@@ -13961,6 +14089,10 @@
|
|
|
13961
14089
|
* Subscriptions to the other providers changes.
|
|
13962
14090
|
*/
|
|
13963
14091
|
this.subscriptions = [];
|
|
14092
|
+
/**
|
|
14093
|
+
* Shift key state, for use in range selection.
|
|
14094
|
+
*/
|
|
14095
|
+
this.shiftPressed = false;
|
|
13964
14096
|
this.valueCollector = new rxjs.Subject();
|
|
13965
14097
|
/**
|
|
13966
14098
|
* The Observable that lets other classes subscribe to selection changes
|
|
@@ -14363,7 +14495,7 @@
|
|
|
14363
14495
|
|
|
14364
14496
|
var nbRow = 0;
|
|
14365
14497
|
var ClrDatagridRow = /** @class */ (function () {
|
|
14366
|
-
function ClrDatagridRow(selection, rowActionService, globalExpandable, expand, detailService, displayMode, vcr, renderer, el, commonStrings) {
|
|
14498
|
+
function ClrDatagridRow(selection, rowActionService, globalExpandable, expand, detailService, displayMode, vcr, renderer, el, commonStrings, items, document) {
|
|
14367
14499
|
var _this = this;
|
|
14368
14500
|
this.selection = selection;
|
|
14369
14501
|
this.rowActionService = rowActionService;
|
|
@@ -14375,6 +14507,8 @@
|
|
|
14375
14507
|
this.renderer = renderer;
|
|
14376
14508
|
this.el = el;
|
|
14377
14509
|
this.commonStrings = commonStrings;
|
|
14510
|
+
this.items = items;
|
|
14511
|
+
this.document = document;
|
|
14378
14512
|
/* reference to the enum so that template can access */
|
|
14379
14513
|
this.SELECTION_TYPE = SelectionType;
|
|
14380
14514
|
this.expandAnimationTrigger = false;
|
|
@@ -14405,6 +14539,24 @@
|
|
|
14405
14539
|
}
|
|
14406
14540
|
}));
|
|
14407
14541
|
}
|
|
14542
|
+
/**
|
|
14543
|
+
* The default behavior in Chrome and Firefox for shift-clicking on a label is to perform text-selection.
|
|
14544
|
+
* This prevents our intended range-selection, because this text-selection overrides our shift-click event.
|
|
14545
|
+
* We need to clear the stored selection range when shift-clicking. This will override the mostly unused shift-click
|
|
14546
|
+
* selection browser functionality, which is inconsistently implemented in browsers anyway.
|
|
14547
|
+
*/
|
|
14548
|
+
ClrDatagridRow.prototype.clearRanges = function (event) {
|
|
14549
|
+
if (event.shiftKey) {
|
|
14550
|
+
this.document.getSelection().removeAllRanges();
|
|
14551
|
+
// Firefox is too persistent about its text-selection behaviour. So we need to add a preventDefault();
|
|
14552
|
+
// We should not try to enforce this on the other browsers, though, because their toggle cycle does not get canceled by
|
|
14553
|
+
// the preventDefault() and they toggle the checkbox second time, effectively retrurning it to not-selected.
|
|
14554
|
+
if (window.navigator.userAgent.indexOf('Firefox') !== -1) {
|
|
14555
|
+
event.preventDefault();
|
|
14556
|
+
this.toggle(true);
|
|
14557
|
+
}
|
|
14558
|
+
}
|
|
14559
|
+
};
|
|
14408
14560
|
Object.defineProperty(ClrDatagridRow.prototype, "selected", {
|
|
14409
14561
|
/**
|
|
14410
14562
|
* Indicates if the row is selected
|
|
@@ -14422,6 +14574,12 @@
|
|
|
14422
14574
|
this._selected = value;
|
|
14423
14575
|
}
|
|
14424
14576
|
else {
|
|
14577
|
+
if (value && this.selection.selectionType === SelectionType.Multi) {
|
|
14578
|
+
this.rangeSelect();
|
|
14579
|
+
}
|
|
14580
|
+
else {
|
|
14581
|
+
this.selection.rangeStart = null;
|
|
14582
|
+
}
|
|
14425
14583
|
this.selection.setSelected(this.item, value);
|
|
14426
14584
|
}
|
|
14427
14585
|
},
|
|
@@ -14525,6 +14683,30 @@
|
|
|
14525
14683
|
_this.expandAnimationTrigger = !_this.expandAnimationTrigger;
|
|
14526
14684
|
}));
|
|
14527
14685
|
};
|
|
14686
|
+
ClrDatagridRow.prototype.rangeSelect = function () {
|
|
14687
|
+
var _a;
|
|
14688
|
+
var items = this.items.displayed;
|
|
14689
|
+
if (!items) {
|
|
14690
|
+
return;
|
|
14691
|
+
}
|
|
14692
|
+
var startIx = items.indexOf(this.selection.rangeStart);
|
|
14693
|
+
if (this.selection.rangeStart &&
|
|
14694
|
+
this.selection.current.includes(this.selection.rangeStart) &&
|
|
14695
|
+
this.selection.shiftPressed &&
|
|
14696
|
+
startIx !== -1) {
|
|
14697
|
+
var endIx = items.indexOf(this.item);
|
|
14698
|
+
// Using Set to remove duplicates
|
|
14699
|
+
var newSelection = new Set(this.selection.current.concat(items.slice(Math.min(startIx, endIx), Math.max(startIx, endIx) + 1)));
|
|
14700
|
+
this.selection.clearSelection();
|
|
14701
|
+
(_a = this.selection.current).push.apply(_a, __spreadArray([], __read(newSelection)));
|
|
14702
|
+
}
|
|
14703
|
+
else {
|
|
14704
|
+
// page number has changed or
|
|
14705
|
+
// no Shift was pressed or
|
|
14706
|
+
// rangeStart not yet set
|
|
14707
|
+
this.selection.rangeStart = this.item;
|
|
14708
|
+
}
|
|
14709
|
+
};
|
|
14528
14710
|
ClrDatagridRow.prototype.ngOnDestroy = function () {
|
|
14529
14711
|
this.subscriptions.forEach(function (sub) { return sub.unsubscribe(); });
|
|
14530
14712
|
};
|
|
@@ -14544,7 +14726,7 @@
|
|
|
14544
14726
|
ClrDatagridRow.decorators = [
|
|
14545
14727
|
{ type: i0.Component, args: [{
|
|
14546
14728
|
selector: 'clr-dg-row',
|
|
14547
|
-
template: "<!--\n We need to wrap the #rowContent in label element if we are in rowSelectionMode.\n Clicking of that wrapper label will equate to clicking on the whole row, which triggers the checkbox to toggle.\n-->\n<label class=\"datagrid-row-clickable\" *ngIf=\"selection.rowSelectionMode\">\n <clr-expandable-animation [clrExpandTrigger]=\"expandAnimationTrigger\" *ngIf=\"expand.expandable\">\n <ng-template [ngTemplateOutlet]=\"rowContent\"></ng-template>\n </clr-expandable-animation>\n <ng-template [ngTemplateOutlet]=\"rowContent\" *ngIf=\"!expand.expandable\"></ng-template>\n</label>\n\n<clr-expandable-animation\n *ngIf=\"!selection.rowSelectionMode && expand.expandable\"\n [clrExpandTrigger]=\"expandAnimationTrigger\"\n>\n <ng-template [ngTemplateOutlet]=\"rowContent\"></ng-template>\n</clr-expandable-animation>\n\n<ng-template *ngIf=\"!selection.rowSelectionMode && !expand.expandable\" [ngTemplateOutlet]=\"rowContent\"></ng-template>\n\n<!--\n We need the \"project into template\" hacks because we need this in 2 different places\n depending on whether the details replace the row or not.\n-->\n<ng-template #detail>\n <ng-content select=\"clr-dg-row-detail\"></ng-content>\n</ng-template>\n\n<ng-template #rowContent>\n <div\n role=\"row\"\n [id]=\"id\"\n class=\"datagrid-row-master datagrid-row-flex\"\n [class.datagrid-row-detail-open]=\"detailService.isRowOpen(item)\"\n >\n <div class=\"datagrid-row-sticky\">\n <!-- Sticky elements here -->\n <ng-container #stickyCells>\n <div\n *ngIf=\"selection.selectionType === SELECTION_TYPE.Multi\"\n class=\"datagrid-select datagrid-fixed-column datagrid-cell\"\n [ngClass]=\"{ 'clr-form-control-disabled': !clrDgSelectable }\"\n role=\"gridcell\"\n >\n <div class=\"clr-checkbox-wrapper\">\n <input\n type=\"checkbox\"\n [ngModel]=\"selected\"\n (ngModelChange)=\"toggle($event)\"\n [id]=\"checkboxId\"\n [attr.disabled]=\"clrDgSelectable ? null : true\"\n [attr.aria-disabled]=\"clrDgSelectable ? null : true\"\n [attr.aria-label]=\"commonStrings.keys.select\"\n />\n <!-- Usage of class clr-col-null here prevents clr-col-* classes from being added when a datagrid is wrapped inside clrForm -->\n <label [for]=\"checkboxId\" class=\"clr-control-label clr-col-null\">\n <span class=\"clr-sr-only\">{{commonStrings.keys.select}}</span>\n </label>\n </div>\n </div>\n <div\n *ngIf=\"selection.selectionType === SELECTION_TYPE.Single\"\n class=\"datagrid-select datagrid-fixed-column datagrid-cell\"\n role=\"gridcell\"\n [ngClass]=\"{ 'clr-form-control-disabled': !clrDgSelectable }\"\n >\n <!-- TODO: it would be better if in addition to the generic \"Select\" label, we could add aria-labelledby\n to label the radio by the first cell in the row (typically an id or name).\n It's pretty easy to label it with the whole row since we already have an id for it, but in most\n cases the row is far too long to serve as a label, the screenreader reads every single cell content. -->\n <input\n type=\"radio\"\n clrRadio\n [id]=\"radioId\"\n [name]=\"selection.id + '-radio'\"\n [value]=\"item\"\n [(ngModel)]=\"selection.currentSingle\"\n [checked]=\"selection.currentSingle === item\"\n [attr.disabled]=\"clrDgSelectable ? null : true\"\n [attr.aria-disabled]=\"clrDgSelectable ? null : true\"\n [attr.aria-label]=\"commonStrings.keys.select\"\n />\n </div>\n <div\n *ngIf=\"rowActionService.hasActionableRow\"\n class=\"datagrid-row-actions datagrid-fixed-column datagrid-cell\"\n role=\"gridcell\"\n >\n <ng-content select=\"clr-dg-action-overflow\"></ng-content>\n </div>\n <div\n *ngIf=\"globalExpandable.hasExpandableRow\"\n class=\"datagrid-expandable-caret datagrid-fixed-column datagrid-cell\"\n role=\"gridcell\"\n >\n <ng-container *ngIf=\"expand.expandable\">\n <button\n *ngIf=\"!expand.loading\"\n (click)=\"toggleExpand()\"\n type=\"button\"\n class=\"datagrid-expandable-caret-button\"\n [attr.aria-expanded]=\"expand.expanded\"\n [attr.aria-label]=\"expand.expanded ? clrDgDetailCloseLabel : clrDgDetailOpenLabel\"\n [attr.aria-controls]=\"expandableId\"\n >\n <cds-icon\n shape=\"angle\"\n class=\"datagrid-expandable-caret-icon\"\n [attr.direction]=\"expand.expanded ? 'down' : 'right'\"\n [attr.title]=\"expand.expanded ? commonStrings.keys.collapse : commonStrings.keys.expand\"\n ></cds-icon>\n </button>\n <clr-spinner *ngIf=\"expand.loading\" clrSmall>{{ commonStrings.keys.loading }}</clr-spinner>\n </ng-container>\n </div>\n <div *ngIf=\"detailService.enabled\" class=\"datagrid-detail-caret datagrid-fixed-column datagrid-cell\">\n <button\n (click)=\"detailService.toggle(item, detailButton)\"\n type=\"button\"\n #detailButton\n class=\"datagrid-detail-caret-button\"\n [class.is-open]=\"detailService.isRowOpen(item)\"\n [attr.aria-label]=\"detailService.isOpen ? clrDgDetailCloseLabel : clrDgDetailOpenLabel\"\n [attr.aria-expanded]=\"detailService.isOpen\"\n [attr.aria-controls]=\"detailService.id\"\n aria-haspopup=\"dialog\"\n >\n <cds-icon\n shape=\"angle-double\"\n [attr.direction]=\"detailService.isRowOpen(item) ? 'left' : 'right'\"\n class=\"datagrid-detail-caret-icon\"\n [attr.title]=\"detailService.isRowOpen(item) ? commonStrings.keys.close: commonStrings.keys.open\"\n ></cds-icon>\n </button>\n </div>\n </ng-container>\n <!-- placeholder for projecting other sticky cells as pinned-->\n </div>\n <div class=\"datagrid-row-scrollable\" [ngClass]=\"{'is-replaced': replaced && expanded}\">\n <div class=\"datagrid-scrolling-cells\">\n <ng-content select=\"clr-dg-cell\"></ng-content>\n <ng-container #scrollableCells></ng-container>\n </div>\n <!-- details here when replace, re-visit when sticky container is used for pinned cells -->\n <ng-template *ngIf=\"replaced && !expand.loading\" [ngTemplateOutlet]=\"detail\"></ng-template>\n <ng-template *ngIf=\"!replaced && !expand.loading\" [ngTemplateOutlet]=\"detail\"></ng-template>\n </div>\n </div>\n</ng-template>\n\n<ng-container #calculatedCells></ng-container>\n",
|
|
14729
|
+
template: "<!--\n We need to wrap the #rowContent in label element if we are in rowSelectionMode.\n Clicking of that wrapper label will equate to clicking on the whole row, which triggers the checkbox to toggle.\n-->\n<label class=\"datagrid-row-clickable\" *ngIf=\"selection.rowSelectionMode\" (mousedown)=\"clearRanges($event)\">\n <clr-expandable-animation [clrExpandTrigger]=\"expandAnimationTrigger\" *ngIf=\"expand.expandable\">\n <ng-template [ngTemplateOutlet]=\"rowContent\"></ng-template>\n </clr-expandable-animation>\n <ng-template [ngTemplateOutlet]=\"rowContent\" *ngIf=\"!expand.expandable\"></ng-template>\n</label>\n\n<clr-expandable-animation\n *ngIf=\"!selection.rowSelectionMode && expand.expandable\"\n [clrExpandTrigger]=\"expandAnimationTrigger\"\n>\n <ng-template [ngTemplateOutlet]=\"rowContent\"></ng-template>\n</clr-expandable-animation>\n\n<ng-template *ngIf=\"!selection.rowSelectionMode && !expand.expandable\" [ngTemplateOutlet]=\"rowContent\"></ng-template>\n\n<!--\n We need the \"project into template\" hacks because we need this in 2 different places\n depending on whether the details replace the row or not.\n-->\n<ng-template #detail>\n <ng-content select=\"clr-dg-row-detail\"></ng-content>\n</ng-template>\n\n<ng-template #rowContent>\n <div\n role=\"row\"\n [id]=\"id\"\n class=\"datagrid-row-master datagrid-row-flex\"\n [class.datagrid-row-detail-open]=\"detailService.isRowOpen(item)\"\n >\n <div class=\"datagrid-row-sticky\">\n <!-- Sticky elements here -->\n <ng-container #stickyCells>\n <div\n *ngIf=\"selection.selectionType === SELECTION_TYPE.Multi\"\n class=\"datagrid-select datagrid-fixed-column datagrid-cell\"\n [ngClass]=\"{ 'clr-form-control-disabled': !clrDgSelectable }\"\n role=\"gridcell\"\n >\n <div class=\"clr-checkbox-wrapper\">\n <input\n type=\"checkbox\"\n [ngModel]=\"selected\"\n (ngModelChange)=\"toggle($event)\"\n [id]=\"checkboxId\"\n [attr.disabled]=\"clrDgSelectable ? null : true\"\n [attr.aria-disabled]=\"clrDgSelectable ? null : true\"\n [attr.aria-label]=\"commonStrings.keys.select\"\n />\n <!-- Usage of class clr-col-null here prevents clr-col-* classes from being added when a datagrid is wrapped inside clrForm -->\n <label [for]=\"checkboxId\" class=\"clr-control-label clr-col-null\" (click)=\"clearRanges($event)\">\n <span class=\"clr-sr-only\">{{commonStrings.keys.select}}</span>\n </label>\n </div>\n </div>\n <div\n *ngIf=\"selection.selectionType === SELECTION_TYPE.Single\"\n class=\"datagrid-select datagrid-fixed-column datagrid-cell\"\n role=\"gridcell\"\n [ngClass]=\"{ 'clr-form-control-disabled': !clrDgSelectable }\"\n >\n <!-- TODO: it would be better if in addition to the generic \"Select\" label, we could add aria-labelledby\n to label the radio by the first cell in the row (typically an id or name).\n It's pretty easy to label it with the whole row since we already have an id for it, but in most\n cases the row is far too long to serve as a label, the screenreader reads every single cell content. -->\n <input\n type=\"radio\"\n clrRadio\n [id]=\"radioId\"\n [name]=\"selection.id + '-radio'\"\n [value]=\"item\"\n [(ngModel)]=\"selection.currentSingle\"\n [checked]=\"selection.currentSingle === item\"\n [attr.disabled]=\"clrDgSelectable ? null : true\"\n [attr.aria-disabled]=\"clrDgSelectable ? null : true\"\n [attr.aria-label]=\"commonStrings.keys.select\"\n />\n </div>\n <div\n *ngIf=\"rowActionService.hasActionableRow\"\n class=\"datagrid-row-actions datagrid-fixed-column datagrid-cell\"\n role=\"gridcell\"\n >\n <ng-content select=\"clr-dg-action-overflow\"></ng-content>\n </div>\n <div\n *ngIf=\"globalExpandable.hasExpandableRow\"\n class=\"datagrid-expandable-caret datagrid-fixed-column datagrid-cell\"\n role=\"gridcell\"\n >\n <ng-container *ngIf=\"expand.expandable\">\n <button\n *ngIf=\"!expand.loading\"\n (click)=\"toggleExpand()\"\n type=\"button\"\n class=\"datagrid-expandable-caret-button\"\n [attr.aria-expanded]=\"expand.expanded\"\n [attr.aria-label]=\"expand.expanded ? clrDgDetailCloseLabel : clrDgDetailOpenLabel\"\n [attr.aria-controls]=\"expandableId\"\n >\n <cds-icon\n shape=\"angle\"\n class=\"datagrid-expandable-caret-icon\"\n [attr.direction]=\"expand.expanded ? 'down' : 'right'\"\n [attr.title]=\"expand.expanded ? commonStrings.keys.collapse : commonStrings.keys.expand\"\n ></cds-icon>\n </button>\n <clr-spinner *ngIf=\"expand.loading\" clrSmall>{{ commonStrings.keys.loading }}</clr-spinner>\n </ng-container>\n </div>\n <div *ngIf=\"detailService.enabled\" class=\"datagrid-detail-caret datagrid-fixed-column datagrid-cell\">\n <button\n (click)=\"detailService.toggle(item, detailButton)\"\n type=\"button\"\n #detailButton\n class=\"datagrid-detail-caret-button\"\n [class.is-open]=\"detailService.isRowOpen(item)\"\n [attr.aria-label]=\"detailService.isOpen ? clrDgDetailCloseLabel : clrDgDetailOpenLabel\"\n [attr.aria-expanded]=\"detailService.isOpen\"\n [attr.aria-controls]=\"detailService.id\"\n aria-haspopup=\"dialog\"\n >\n <cds-icon\n shape=\"angle-double\"\n [attr.direction]=\"detailService.isRowOpen(item) ? 'left' : 'right'\"\n class=\"datagrid-detail-caret-icon\"\n [attr.title]=\"detailService.isRowOpen(item) ? commonStrings.keys.close: commonStrings.keys.open\"\n ></cds-icon>\n </button>\n </div>\n </ng-container>\n <!-- placeholder for projecting other sticky cells as pinned-->\n </div>\n <div class=\"datagrid-row-scrollable\" [ngClass]=\"{'is-replaced': replaced && expanded}\">\n <div class=\"datagrid-scrolling-cells\">\n <ng-content select=\"clr-dg-cell\"></ng-content>\n <ng-container #scrollableCells></ng-container>\n </div>\n <!-- details here when replace, re-visit when sticky container is used for pinned cells -->\n <ng-template *ngIf=\"replaced && !expand.loading\" [ngTemplateOutlet]=\"detail\"></ng-template>\n <ng-template *ngIf=\"!replaced && !expand.loading\" [ngTemplateOutlet]=\"detail\"></ng-template>\n </div>\n </div>\n</ng-template>\n\n<ng-container #calculatedCells></ng-container>\n",
|
|
14548
14730
|
host: {
|
|
14549
14731
|
'[class.datagrid-row]': 'true',
|
|
14550
14732
|
'[class.datagrid-selected]': 'selected',
|
|
@@ -14568,7 +14750,9 @@
|
|
|
14568
14750
|
{ type: i0.ViewContainerRef },
|
|
14569
14751
|
{ type: i0.Renderer2 },
|
|
14570
14752
|
{ type: i0.ElementRef },
|
|
14571
|
-
{ type: ClrCommonStringsService }
|
|
14753
|
+
{ type: ClrCommonStringsService },
|
|
14754
|
+
{ type: Items },
|
|
14755
|
+
{ type: undefined, decorators: [{ type: i0.Inject, args: [i1.DOCUMENT,] }] }
|
|
14572
14756
|
]; };
|
|
14573
14757
|
ClrDatagridRow.propDecorators = {
|
|
14574
14758
|
expandAnimation: [{ type: i0.ViewChild, args: [ClrExpandableAnimation,] }],
|
|
@@ -14984,7 +15168,7 @@
|
|
|
14984
15168
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
14985
15169
|
*/
|
|
14986
15170
|
var ClrDatagrid = /** @class */ (function () {
|
|
14987
|
-
function ClrDatagrid(organizer, items, expandableRows, selection, rowActionService, stateProvider, displayMode, renderer, detailService, datagridId, el, page, commonStrings, columnsService, keyNavigation) {
|
|
15171
|
+
function ClrDatagrid(organizer, items, expandableRows, selection, rowActionService, stateProvider, displayMode, renderer, detailService, datagridId, document, el, page, commonStrings, columnsService, keyNavigation, zone) {
|
|
14988
15172
|
this.organizer = organizer;
|
|
14989
15173
|
this.items = items;
|
|
14990
15174
|
this.expandableRows = expandableRows;
|
|
@@ -14994,11 +15178,13 @@
|
|
|
14994
15178
|
this.displayMode = displayMode;
|
|
14995
15179
|
this.renderer = renderer;
|
|
14996
15180
|
this.detailService = detailService;
|
|
15181
|
+
this.document = document;
|
|
14997
15182
|
this.el = el;
|
|
14998
15183
|
this.page = page;
|
|
14999
15184
|
this.commonStrings = commonStrings;
|
|
15000
15185
|
this.columnsService = columnsService;
|
|
15001
15186
|
this.keyNavigation = keyNavigation;
|
|
15187
|
+
this.zone = zone;
|
|
15002
15188
|
/* reference to the enum so that template can access */
|
|
15003
15189
|
this.SELECTION_TYPE = SelectionType;
|
|
15004
15190
|
/**
|
|
@@ -15209,6 +15395,19 @@
|
|
|
15209
15395
|
});
|
|
15210
15396
|
}
|
|
15211
15397
|
}));
|
|
15398
|
+
// We need to preserve shift state, so it can be used on selection change, regardless of the input event
|
|
15399
|
+
// that triggered the change. This helps us to easily resolve the k/b only case together with the mouse selection case.
|
|
15400
|
+
this.zone.runOutsideAngular(function () {
|
|
15401
|
+
_this._subscriptions.push(rxjs.fromEvent(_this.document.body, 'keydown').subscribe(function (event) {
|
|
15402
|
+
if (event.key === 'Shift') {
|
|
15403
|
+
_this.selection.shiftPressed = true;
|
|
15404
|
+
}
|
|
15405
|
+
}), rxjs.fromEvent(_this.document.body, 'keyup').subscribe(function (event) {
|
|
15406
|
+
if (event.key === 'Shift') {
|
|
15407
|
+
_this.selection.shiftPressed = false;
|
|
15408
|
+
}
|
|
15409
|
+
}));
|
|
15410
|
+
});
|
|
15212
15411
|
};
|
|
15213
15412
|
ClrDatagrid.prototype.ngOnDestroy = function () {
|
|
15214
15413
|
this._subscriptions.forEach(function (sub) { return sub.unsubscribe(); });
|
|
@@ -15257,11 +15456,13 @@
|
|
|
15257
15456
|
{ type: i0.Renderer2 },
|
|
15258
15457
|
{ type: DetailService },
|
|
15259
15458
|
{ type: String, decorators: [{ type: i0.Inject, args: [UNIQUE_ID,] }] },
|
|
15459
|
+
{ type: undefined, decorators: [{ type: i0.Inject, args: [i1.DOCUMENT,] }] },
|
|
15260
15460
|
{ type: i0.ElementRef },
|
|
15261
15461
|
{ type: Page },
|
|
15262
15462
|
{ type: ClrCommonStringsService },
|
|
15263
15463
|
{ type: ColumnsService },
|
|
15264
|
-
{ type: KeyNavigationGridController }
|
|
15464
|
+
{ type: KeyNavigationGridController },
|
|
15465
|
+
{ type: i0.NgZone }
|
|
15265
15466
|
]; };
|
|
15266
15467
|
ClrDatagrid.propDecorators = {
|
|
15267
15468
|
loading: [{ type: i0.Input, args: ['clrDgLoading',] }],
|
|
@@ -15301,7 +15502,7 @@
|
|
|
15301
15502
|
ClrDatagridActionBar.decorators = [
|
|
15302
15503
|
{ type: i0.Component, args: [{
|
|
15303
15504
|
selector: 'clr-dg-action-bar',
|
|
15304
|
-
template: "
|
|
15505
|
+
template: "<ng-content></ng-content>",
|
|
15305
15506
|
host: { '[class.datagrid-action-bar]': 'true' }
|
|
15306
15507
|
},] }
|
|
15307
15508
|
];
|
|
@@ -15882,7 +16083,9 @@
|
|
|
15882
16083
|
return DatagridDetailRegisterer;
|
|
15883
16084
|
}());
|
|
15884
16085
|
DatagridDetailRegisterer.decorators = [
|
|
15885
|
-
{ type: i0.Directive, args: [{
|
|
16086
|
+
{ type: i0.Directive, args: [{
|
|
16087
|
+
selector: '[clrIfExpanded]',
|
|
16088
|
+
},] }
|
|
15886
16089
|
];
|
|
15887
16090
|
DatagridDetailRegisterer.ctorParameters = function () { return [
|
|
15888
16091
|
{ type: ExpandableRowsCount, decorators: [{ type: i0.Optional }] }
|
|
@@ -16032,7 +16235,9 @@
|
|
|
16032
16235
|
return ClrDatagridHideableColumn;
|
|
16033
16236
|
}());
|
|
16034
16237
|
ClrDatagridHideableColumn.decorators = [
|
|
16035
|
-
{ type: i0.Directive, args: [{
|
|
16238
|
+
{ type: i0.Directive, args: [{
|
|
16239
|
+
selector: '[clrDgHideableColumn]',
|
|
16240
|
+
},] }
|
|
16036
16241
|
];
|
|
16037
16242
|
ClrDatagridHideableColumn.ctorParameters = function () { return [
|
|
16038
16243
|
{ type: i0.TemplateRef },
|
|
@@ -16539,7 +16744,9 @@
|
|
|
16539
16744
|
return DatagridCellRenderer;
|
|
16540
16745
|
}());
|
|
16541
16746
|
DatagridCellRenderer.decorators = [
|
|
16542
|
-
{ type: i0.Directive, args: [{
|
|
16747
|
+
{ type: i0.Directive, args: [{
|
|
16748
|
+
selector: 'clr-dg-cell',
|
|
16749
|
+
},] }
|
|
16543
16750
|
];
|
|
16544
16751
|
DatagridCellRenderer.ctorParameters = function () { return [
|
|
16545
16752
|
{ type: i0.ElementRef },
|
|
@@ -16658,7 +16865,10 @@
|
|
|
16658
16865
|
return DatagridHeaderRenderer;
|
|
16659
16866
|
}());
|
|
16660
16867
|
DatagridHeaderRenderer.decorators = [
|
|
16661
|
-
{ type: i0.Directive, args: [{
|
|
16868
|
+
{ type: i0.Directive, args: [{
|
|
16869
|
+
selector: 'clr-dg-column',
|
|
16870
|
+
providers: [ColumnResizerService, COLUMN_STATE_PROVIDER],
|
|
16871
|
+
},] }
|
|
16662
16872
|
];
|
|
16663
16873
|
DatagridHeaderRenderer.ctorParameters = function () { return [
|
|
16664
16874
|
{ type: i0.ElementRef },
|
|
@@ -16770,7 +16980,9 @@
|
|
|
16770
16980
|
return DatagridRowRenderer;
|
|
16771
16981
|
}());
|
|
16772
16982
|
DatagridRowRenderer.decorators = [
|
|
16773
|
-
{ type: i0.Directive, args: [{
|
|
16983
|
+
{ type: i0.Directive, args: [{
|
|
16984
|
+
selector: 'clr-dg-row, clr-dg-row-detail',
|
|
16985
|
+
},] }
|
|
16774
16986
|
];
|
|
16775
16987
|
DatagridRowRenderer.ctorParameters = function () { return [
|
|
16776
16988
|
{ type: ColumnsService }
|
|
@@ -17058,7 +17270,9 @@
|
|
|
17058
17270
|
return ClrStackViewCustomTags;
|
|
17059
17271
|
}());
|
|
17060
17272
|
ClrStackViewCustomTags.decorators = [
|
|
17061
|
-
{ type: i0.Directive, args: [{
|
|
17273
|
+
{ type: i0.Directive, args: [{
|
|
17274
|
+
selector: 'clr-stack-content',
|
|
17275
|
+
},] }
|
|
17062
17276
|
];
|
|
17063
17277
|
var ClrStackViewLabel = /** @class */ (function () {
|
|
17064
17278
|
function ClrStackViewLabel(uniqueId) {
|
|
@@ -17801,7 +18015,9 @@
|
|
|
17801
18015
|
return ClrRecursiveForOf;
|
|
17802
18016
|
}());
|
|
17803
18017
|
ClrRecursiveForOf.decorators = [
|
|
17804
|
-
{ type: i0.Directive, args: [{
|
|
18018
|
+
{ type: i0.Directive, args: [{
|
|
18019
|
+
selector: '[clrRecursiveFor][clrRecursiveForOf]',
|
|
18020
|
+
},] }
|
|
17805
18021
|
];
|
|
17806
18022
|
ClrRecursiveForOf.ctorParameters = function () { return [
|
|
17807
18023
|
{ type: i0.TemplateRef },
|
|
@@ -18210,7 +18426,7 @@
|
|
|
18210
18426
|
ClrTreeNode.decorators = [
|
|
18211
18427
|
{ type: i0.Component, args: [{
|
|
18212
18428
|
selector: 'clr-tree-node',
|
|
18213
|
-
template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div\n #contentContainer\n role=\"treeitem\"\n class=\"clr-tree-node-content-container\"\n tabindex=\"-1\"\n [attr.aria-expanded]=\"isExpandable() ? expanded : null\"\n [attr.aria-selected]=\"ariaSelected\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"broadcastFocusOnContainer()\"\n>\n <button\n *ngIf=\"isExpandable() && !isModelLoading && !expandService.loading\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n class=\"clr-treenode-caret\"\n (click)=\"expandService.toggle();\"\n (focus)=\"focusTreeNode()\"\n >\n <cds-icon\n class=\"clr-treenode-caret-icon\"\n shape=\"angle\"\n [attr.direction]=\"expandService.expanded ? 'down' : 'right'\"\n ></cds-icon>\n </button>\n <div class=\"clr-treenode-spinner-container\" *ngIf=\"expandService.loading || isModelLoading\">\n <span class=\"clr-treenode-spinner spinner\"></span>\n </div>\n <div class=\"clr-checkbox-wrapper clr-treenode-checkbox\" *ngIf=\"featuresService.selectable\">\n <input\n aria-hidden=\"true\"\n type=\"checkbox\"\n id=\"{{nodeId}}-check\"\n class=\"clr-checkbox\"\n [checked]=\"_model.selected.value === STATES.SELECTED\"\n [indeterminate]=\"_model.selected.value === STATES.INDETERMINATE\"\n (change)=\"_model.toggleSelection(featuresService.eager)\"\n (focus)=\"focusTreeNode()\"\n tabindex=\"-1\"\n />\n <label for=\"{{nodeId}}-check\" class=\"clr-control-label\"></label>\n </div>\n <div class=\"clr-treenode-content\" (mousedown)=\"focusTreeNode()\">\n <ng-content></ng-content>\n <div class=\"clr-sr-only\" *ngIf=\"featuresService.selectable\">\n <span *ngIf=\"ariaSelected\">
|
|
18429
|
+
template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div\n #contentContainer\n role=\"treeitem\"\n class=\"clr-tree-node-content-container\"\n tabindex=\"-1\"\n [attr.aria-expanded]=\"isExpandable() ? expanded : null\"\n [attr.aria-selected]=\"ariaSelected\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"broadcastFocusOnContainer()\"\n>\n <button\n *ngIf=\"isExpandable() && !isModelLoading && !expandService.loading\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n class=\"clr-treenode-caret\"\n (click)=\"expandService.toggle();\"\n (focus)=\"focusTreeNode()\"\n >\n <cds-icon\n class=\"clr-treenode-caret-icon\"\n shape=\"angle\"\n [attr.direction]=\"expandService.expanded ? 'down' : 'right'\"\n ></cds-icon>\n </button>\n <div class=\"clr-treenode-spinner-container\" *ngIf=\"expandService.loading || isModelLoading\">\n <span class=\"clr-treenode-spinner spinner\"></span>\n </div>\n <div class=\"clr-checkbox-wrapper clr-treenode-checkbox\" *ngIf=\"featuresService.selectable\">\n <input\n aria-hidden=\"true\"\n type=\"checkbox\"\n id=\"{{nodeId}}-check\"\n class=\"clr-checkbox\"\n [checked]=\"_model.selected.value === STATES.SELECTED\"\n [indeterminate]=\"_model.selected.value === STATES.INDETERMINATE\"\n (change)=\"_model.toggleSelection(featuresService.eager)\"\n (focus)=\"focusTreeNode()\"\n tabindex=\"-1\"\n />\n <label for=\"{{nodeId}}-check\" class=\"clr-control-label\"></label>\n </div>\n <div class=\"clr-treenode-content\" (mousedown)=\"focusTreeNode()\">\n <ng-content></ng-content>\n <div class=\"clr-sr-only\" *ngIf=\"featuresService.selectable\">\n <span *ngIf=\"ariaSelected\">selected</span>\n <span *ngIf=\"!ariaSelected\">unselected</span>\n </div>\n </div>\n</div>\n<div\n class=\"clr-treenode-children\"\n [@toggleChildrenAnim]=\"expandService.expanded ? 'expanded' : 'collapsed'\"\n [attr.role]=\"isExpandable() && !featuresService.recursion ? 'group' : null\"\n>\n <ng-content select=\"clr-tree-node\"></ng-content>\n <ng-content select=\"[clrIfExpanded]\"></ng-content>\n <clr-recursive-children [parent]=\"_model\"></clr-recursive-children>\n</div>\n",
|
|
18214
18430
|
providers: [
|
|
18215
18431
|
UNIQUE_ID_PROVIDER,
|
|
18216
18432
|
TREE_FEATURES_PROVIDER,
|
|
@@ -19340,7 +19556,7 @@
|
|
|
19340
19556
|
ClrDropdownMenu.decorators = [
|
|
19341
19557
|
{ type: i0.Component, args: [{
|
|
19342
19558
|
selector: 'clr-dropdown-menu',
|
|
19343
|
-
template: "
|
|
19559
|
+
template: "<ng-content></ng-content>",
|
|
19344
19560
|
host: {
|
|
19345
19561
|
'[class.dropdown-menu]': 'true',
|
|
19346
19562
|
'[attr.role]': '"menu"',
|
|
@@ -19861,7 +20077,7 @@
|
|
|
19861
20077
|
ClrAlerts.decorators = [
|
|
19862
20078
|
{ type: i0.Component, args: [{
|
|
19863
20079
|
selector: 'clr-alerts',
|
|
19864
|
-
template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<clr-alerts-pager *ngIf=\"multiAlertService.count > 1\" [clrCurrentAlertIndex]=\"currentAlertIndex\"
|
|
20080
|
+
template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<clr-alerts-pager *ngIf=\"multiAlertService.count > 1\" [clrCurrentAlertIndex]=\"currentAlertIndex\"></clr-alerts-pager>\n<ng-content select=\"clr-alert\"></ng-content>\n",
|
|
19865
20081
|
providers: [MultiAlertService],
|
|
19866
20082
|
host: {
|
|
19867
20083
|
'[class.alerts]': 'true',
|
|
@@ -20158,7 +20374,10 @@
|
|
|
20158
20374
|
return ClrMainContainer;
|
|
20159
20375
|
}());
|
|
20160
20376
|
ClrMainContainer.decorators = [
|
|
20161
|
-
{ type: i0.Directive, args: [{
|
|
20377
|
+
{ type: i0.Directive, args: [{
|
|
20378
|
+
selector: 'clr-main-container',
|
|
20379
|
+
host: { '[class.main-container]': 'true' },
|
|
20380
|
+
},] }
|
|
20162
20381
|
];
|
|
20163
20382
|
ClrMainContainer.ctorParameters = function () { return [
|
|
20164
20383
|
{ type: i0.ElementRef },
|
|
@@ -20192,7 +20411,9 @@
|
|
|
20192
20411
|
return MainContainerWillyWonka;
|
|
20193
20412
|
}(WillyWonka));
|
|
20194
20413
|
MainContainerWillyWonka.decorators = [
|
|
20195
|
-
{ type: i0.Directive, args: [{
|
|
20414
|
+
{ type: i0.Directive, args: [{
|
|
20415
|
+
selector: 'clr-main-container',
|
|
20416
|
+
},] }
|
|
20196
20417
|
];
|
|
20197
20418
|
|
|
20198
20419
|
var NavDetectionOompaLoompa = /** @class */ (function (_super) {
|
|
@@ -20218,7 +20439,9 @@
|
|
|
20218
20439
|
return NavDetectionOompaLoompa;
|
|
20219
20440
|
}(OompaLoompa));
|
|
20220
20441
|
NavDetectionOompaLoompa.decorators = [
|
|
20221
|
-
{ type: i0.Directive, args: [{
|
|
20442
|
+
{ type: i0.Directive, args: [{
|
|
20443
|
+
selector: 'clr-header',
|
|
20444
|
+
},] }
|
|
20222
20445
|
];
|
|
20223
20446
|
NavDetectionOompaLoompa.ctorParameters = function () { return [
|
|
20224
20447
|
{ type: i0.ChangeDetectorRef },
|
|
@@ -20955,7 +21178,9 @@
|
|
|
20955
21178
|
return ClrNavLevel;
|
|
20956
21179
|
}(FocusTrap));
|
|
20957
21180
|
ClrNavLevel.decorators = [
|
|
20958
|
-
{ type: i0.Directive, args: [{
|
|
21181
|
+
{ type: i0.Directive, args: [{
|
|
21182
|
+
selector: '[clr-nav-level]',
|
|
21183
|
+
},] }
|
|
20959
21184
|
];
|
|
20960
21185
|
ClrNavLevel.ctorParameters = function () { return [
|
|
20961
21186
|
{ type: undefined, decorators: [{ type: i0.Inject, args: [i0.PLATFORM_ID,] }] },
|
|
@@ -21048,7 +21273,9 @@
|
|
|
21048
21273
|
return TabsWillyWonka;
|
|
21049
21274
|
}(WillyWonka));
|
|
21050
21275
|
TabsWillyWonka.decorators = [
|
|
21051
|
-
{ type: i0.Directive, args: [{
|
|
21276
|
+
{ type: i0.Directive, args: [{
|
|
21277
|
+
selector: 'clr-tabs',
|
|
21278
|
+
},] }
|
|
21052
21279
|
];
|
|
21053
21280
|
|
|
21054
21281
|
var ActiveOompaLoompa = /** @class */ (function (_super) {
|
|
@@ -21073,7 +21300,9 @@
|
|
|
21073
21300
|
return ActiveOompaLoompa;
|
|
21074
21301
|
}(OompaLoompa));
|
|
21075
21302
|
ActiveOompaLoompa.decorators = [
|
|
21076
|
-
{ type: i0.Directive, args: [{
|
|
21303
|
+
{ type: i0.Directive, args: [{
|
|
21304
|
+
selector: '[clrTabLink], clr-tab-content',
|
|
21305
|
+
},] }
|
|
21077
21306
|
];
|
|
21078
21307
|
ActiveOompaLoompa.ctorParameters = function () { return [
|
|
21079
21308
|
{ type: i0.ChangeDetectorRef },
|
|
@@ -21373,7 +21602,7 @@
|
|
|
21373
21602
|
ClrTab.decorators = [
|
|
21374
21603
|
{ type: i0.Component, args: [{
|
|
21375
21604
|
selector: 'clr-tab',
|
|
21376
|
-
template: "
|
|
21605
|
+
template: "<ng-content></ng-content>",
|
|
21377
21606
|
providers: [IF_ACTIVE_ID_PROVIDER, AriaService]
|
|
21378
21607
|
},] }
|
|
21379
21608
|
];
|
|
@@ -21400,7 +21629,7 @@
|
|
|
21400
21629
|
ClrTabOverflowContent.decorators = [
|
|
21401
21630
|
{ type: i0.Component, args: [{
|
|
21402
21631
|
selector: 'clr-tab-overflow-content',
|
|
21403
|
-
template: "
|
|
21632
|
+
template: "<ng-content></ng-content>",
|
|
21404
21633
|
host: {
|
|
21405
21634
|
'[class.dropdown-menu]': 'true',
|
|
21406
21635
|
}
|
|
@@ -21593,7 +21822,7 @@
|
|
|
21593
21822
|
ClrTabs.decorators = [
|
|
21594
21823
|
{ type: i0.Component, args: [{
|
|
21595
21824
|
selector: 'clr-tabs',
|
|
21596
|
-
template: "\n <ul\n class=\"nav\"\n role=\"tablist\"\n [attr.aria-owns]=\"tabIds\"\n [clrKeyFocus]=\"tabLinkElements\"\n clrDirection=\"both\"\n (clrFocusChange)=\"toggleOverflowOnPosition($event)\"\n (focusout)=\"resetKeyFocusCurrentToActive($event)\"\n >\n <!--tab links-->\n <ng-container *ngFor=\"let link of tabLinkDirectives\">\n <ng-container *ngIf=\"link.tabsId === tabsId && !link.inOverflow\">\n <li role=\"presentation\" class=\"nav-item\">\n <ng-container [ngTemplateOutlet]=\"link.templateRefContainer.template\"></ng-container>\n </li>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"tabsService.overflowTabs.length > 0\">\n <div class=\"tabs-overflow bottom-right\" role=\"presentation\" [class.open]=\"toggleService.open\">\n <li role=\"application\" class=\"nav-item\">\n <button\n #tabOverflowTrigger\n class=\"btn btn-link nav-link dropdown-toggle\"\n type=\"button\"\n aria-hidden=\"true\"\n [attr.tabindex]=\"activeTabInOverflow && !toggleService.open ? 0 : -1\"\n [class.active]=\"activeTabInOverflow\"\n [class.open]=\"toggleService.open\"\n (mousedown)=\"_mousedown = true\"\n (focus)=\"openOverflowOnFocus()\"\n (click)=\"toggleOverflowOnClick()\"\n [attr.title]=\"commonStrings.keys.more\"\n >\n <cds-icon\n shape=\"ellipsis-horizontal\"\n status=\"toggleService.open ? 'info' : null\"\n [attr.title]=\"commonStrings.keys.more\"\n ></cds-icon>\n </button>\n </li>\n <!--tab links in overflow menu-->\n <clr-tab-overflow-content\n *ngIf=\"toggleService.open\"\n (document:keydown.esc)=\"closeOnEscapeKey()\"\n (document:click)=\"closeOnOutsideClick($event, tabOverflowTrigger)\"\n (focusout)=\"closeOnFocusOut($event)\"\n >\n <ng-container *ngFor=\"let link of tabLinkDirectives\">\n <ng-container\n *ngIf=\"link.tabsId === tabsId && link.inOverflow\"\n [ngTemplateOutlet]=\"link.templateRefContainer.template\"\n
|
|
21825
|
+
template: "\n <ul\n class=\"nav\"\n role=\"tablist\"\n [attr.aria-owns]=\"tabIds\"\n [clrKeyFocus]=\"tabLinkElements\"\n clrDirection=\"both\"\n (clrFocusChange)=\"toggleOverflowOnPosition($event)\"\n (focusout)=\"resetKeyFocusCurrentToActive($event)\"\n >\n <!--tab links-->\n <ng-container *ngFor=\"let link of tabLinkDirectives\">\n <ng-container *ngIf=\"link.tabsId === tabsId && !link.inOverflow\">\n <li role=\"presentation\" class=\"nav-item\">\n <ng-container [ngTemplateOutlet]=\"link.templateRefContainer.template\"></ng-container>\n </li>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"tabsService.overflowTabs.length > 0\">\n <div class=\"tabs-overflow bottom-right\" role=\"presentation\" [class.open]=\"toggleService.open\">\n <li role=\"application\" class=\"nav-item\">\n <button\n #tabOverflowTrigger\n class=\"btn btn-link nav-link dropdown-toggle\"\n type=\"button\"\n aria-hidden=\"true\"\n [attr.tabindex]=\"activeTabInOverflow && !toggleService.open ? 0 : -1\"\n [class.active]=\"activeTabInOverflow\"\n [class.open]=\"toggleService.open\"\n (mousedown)=\"_mousedown = true\"\n (focus)=\"openOverflowOnFocus()\"\n (click)=\"toggleOverflowOnClick()\"\n [attr.title]=\"commonStrings.keys.more\"\n >\n <cds-icon\n shape=\"ellipsis-horizontal\"\n status=\"toggleService.open ? 'info' : null\"\n [attr.title]=\"commonStrings.keys.more\"\n ></cds-icon>\n </button>\n </li>\n <!--tab links in overflow menu-->\n <clr-tab-overflow-content\n *ngIf=\"toggleService.open\"\n (document:keydown.esc)=\"closeOnEscapeKey()\"\n (document:click)=\"closeOnOutsideClick($event, tabOverflowTrigger)\"\n (focusout)=\"closeOnFocusOut($event)\"\n >\n <ng-container *ngFor=\"let link of tabLinkDirectives\">\n <ng-container\n *ngIf=\"link.tabsId === tabsId && link.inOverflow\"\n [ngTemplateOutlet]=\"link.templateRefContainer.template\"\n ></ng-container>\n </ng-container>\n </clr-tab-overflow-content>\n </div>\n </ng-container>\n </ul>\n <ng-container #tabContentViewContainer></ng-container>\n ",
|
|
21597
21826
|
providers: [IfActiveService, ClrPopoverToggleService, TabsService, TABS_ID_PROVIDER]
|
|
21598
21827
|
},] }
|
|
21599
21828
|
];
|
|
@@ -22017,7 +22246,7 @@
|
|
|
22017
22246
|
ClrVerticalNavGroup.decorators = [
|
|
22018
22247
|
{ type: i0.Component, args: [{
|
|
22019
22248
|
selector: 'clr-vertical-nav-group',
|
|
22020
|
-
template: "<!--\n ~ Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div class=\"nav-group-content\">\n <ng-content select=\"[clrVerticalNavLink]\"></ng-content>\n <button\n class=\"nav-group-trigger\"\n type=\"button\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-label]=\"groupLabel\"\n (click)=\"toggleExpand()\"\n >\n <ng-content select=\"[clrVerticalNavIcon]\"></ng-content>\n <div class=\"nav-group-text\">\n <ng-content></ng-content>\n </div>\n <cds-icon\n shape=\"angle\"\n class=\"nav-group-trigger-icon\"\n [attr.direction]=\"(this.expanded) ? 'down' : 'right'\"\n [attr.title]=\"(this.expanded) ? commonStrings.keys.collapse : commonStrings.keys.expand\"\n
|
|
22249
|
+
template: "<!--\n ~ Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div class=\"nav-group-content\">\n <ng-content select=\"[clrVerticalNavLink]\"></ng-content>\n <button\n class=\"nav-group-trigger\"\n type=\"button\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-label]=\"groupLabel\"\n (click)=\"toggleExpand()\"\n >\n <ng-content select=\"[clrVerticalNavIcon]\"></ng-content>\n <div class=\"nav-group-text\">\n <ng-content></ng-content>\n </div>\n <cds-icon\n shape=\"angle\"\n class=\"nav-group-trigger-icon\"\n [attr.direction]=\"(this.expanded) ? 'down' : 'right'\"\n [attr.title]=\"(this.expanded) ? commonStrings.keys.collapse : commonStrings.keys.expand\"\n ></cds-icon>\n </button>\n</div>\n<!--TODO: This animation needs to be added to the clr-vertical-nav-group-children component-->\n<div class=\"nav-group-children\" [@clrExpand]=\"expandAnimationState\" (@clrExpand.done)=\"expandAnimationDone($event)\">\n <ng-content select=\"[clrIfExpanded], clr-vertical-nav-group-children\"></ng-content>\n</div>\n",
|
|
22021
22250
|
providers: [IfExpandService, VerticalNavGroupService],
|
|
22022
22251
|
animations: [
|
|
22023
22252
|
animations.trigger('clrExpand', [
|
|
@@ -22056,7 +22285,7 @@
|
|
|
22056
22285
|
ClrVerticalNavGroupChildren.decorators = [
|
|
22057
22286
|
{ type: i0.Component, args: [{
|
|
22058
22287
|
selector: 'clr-vertical-nav-group-children',
|
|
22059
|
-
template: "
|
|
22288
|
+
template: "<ng-content></ng-content>"
|
|
22060
22289
|
},] }
|
|
22061
22290
|
];
|
|
22062
22291
|
|
|
@@ -22076,7 +22305,10 @@
|
|
|
22076
22305
|
return ClrVerticalNavIcon;
|
|
22077
22306
|
}());
|
|
22078
22307
|
ClrVerticalNavIcon.decorators = [
|
|
22079
|
-
{ type: i0.Directive, args: [{
|
|
22308
|
+
{ type: i0.Directive, args: [{
|
|
22309
|
+
selector: '[clrVerticalNavIcon]',
|
|
22310
|
+
host: { class: 'nav-icon' },
|
|
22311
|
+
},] }
|
|
22080
22312
|
];
|
|
22081
22313
|
ClrVerticalNavIcon.ctorParameters = function () { return [
|
|
22082
22314
|
{ type: VerticalNavIconService }
|
|
@@ -22334,7 +22566,9 @@
|
|
|
22334
22566
|
return ClrModalBody;
|
|
22335
22567
|
}());
|
|
22336
22568
|
ClrModalBody.decorators = [
|
|
22337
|
-
{ type: i0.Directive, args: [{
|
|
22569
|
+
{ type: i0.Directive, args: [{
|
|
22570
|
+
selector: '.modal-body',
|
|
22571
|
+
},] }
|
|
22338
22572
|
];
|
|
22339
22573
|
ClrModalBody.ctorParameters = function () { return [
|
|
22340
22574
|
{ type: i0.Renderer2 },
|
|
@@ -22568,7 +22802,7 @@
|
|
|
22568
22802
|
ClrTooltip.decorators = [
|
|
22569
22803
|
{ type: i0.Component, args: [{
|
|
22570
22804
|
selector: 'clr-tooltip',
|
|
22571
|
-
template: "
|
|
22805
|
+
template: "<ng-content></ng-content>",
|
|
22572
22806
|
host: {
|
|
22573
22807
|
'[class.tooltip]': 'true',
|
|
22574
22808
|
},
|
|
@@ -22689,7 +22923,7 @@
|
|
|
22689
22923
|
ClrTooltipContent.decorators = [
|
|
22690
22924
|
{ type: i0.Component, args: [{
|
|
22691
22925
|
selector: 'clr-tooltip-content',
|
|
22692
|
-
template: "
|
|
22926
|
+
template: "<ng-content></ng-content>",
|
|
22693
22927
|
host: {
|
|
22694
22928
|
'[class.tooltip-content]': 'true',
|
|
22695
22929
|
'[style.opacity]': '1',
|
|
@@ -23105,7 +23339,7 @@
|
|
|
23105
23339
|
ClrTimeline.decorators = [
|
|
23106
23340
|
{ type: i0.Component, args: [{
|
|
23107
23341
|
selector: 'clr-timeline',
|
|
23108
|
-
template: "
|
|
23342
|
+
template: "<ng-content></ng-content>",
|
|
23109
23343
|
host: { '[class.clr-timeline]': 'true' },
|
|
23110
23344
|
providers: [TimelineIconAttributeService]
|
|
23111
23345
|
},] }
|
|
@@ -23138,7 +23372,7 @@
|
|
|
23138
23372
|
ClrTimelineStepTitle.decorators = [
|
|
23139
23373
|
{ type: i0.Component, args: [{
|
|
23140
23374
|
selector: 'clr-timeline-step-title',
|
|
23141
|
-
template: "
|
|
23375
|
+
template: "<ng-content></ng-content>",
|
|
23142
23376
|
host: { '[class.clr-timeline-step-title]': 'true', '[attr.aria-hidden]': 'true' }
|
|
23143
23377
|
},] }
|
|
23144
23378
|
];
|
|
@@ -23199,7 +23433,7 @@
|
|
|
23199
23433
|
ClrTimelineStep.decorators = [
|
|
23200
23434
|
{ type: i0.Component, args: [{
|
|
23201
23435
|
selector: 'clr-timeline-step',
|
|
23202
|
-
template: "\n <ng-content select=\"clr-timeline-step-header\"></ng-content>\n <span class=\"clr-sr-only\">{{ stepTitleText }}</span>\n <ng-container *ngIf=\"!isProcessing; else processing\">\n <cds-icon\n [attr.status]=\"iconStatus\"\n [attr.shape]=\"iconShape\"\n [attr.aria-label]=\"iconAriaLabel\"\n [attr.aria-current]=\"iconAriaCurrent\"\n
|
|
23436
|
+
template: "\n <ng-content select=\"clr-timeline-step-header\"></ng-content>\n <span class=\"clr-sr-only\">{{ stepTitleText }}</span>\n <ng-container *ngIf=\"!isProcessing; else processing\">\n <cds-icon\n [attr.status]=\"iconStatus\"\n [attr.shape]=\"iconShape\"\n [attr.aria-label]=\"iconAriaLabel\"\n [attr.aria-current]=\"iconAriaCurrent\"\n ></cds-icon>\n </ng-container>\n <div class=\"clr-timeline-step-body\">\n <ng-content select=\"clr-timeline-step-title\"></ng-content>\n <ng-content select=\"clr-timeline-step-description\"></ng-content>\n </div>\n\n <ng-template #processing>\n <clr-spinner clrMedium [attr.aria-label]=\"iconAriaLabel\"></clr-spinner>\n </ng-template>\n ",
|
|
23203
23437
|
host: { '[class.clr-timeline-step]': 'true' }
|
|
23204
23438
|
},] }
|
|
23205
23439
|
];
|
|
@@ -23225,7 +23459,7 @@
|
|
|
23225
23459
|
ClrTimelineStepDescription.decorators = [
|
|
23226
23460
|
{ type: i0.Component, args: [{
|
|
23227
23461
|
selector: 'clr-timeline-step-description',
|
|
23228
|
-
template: "
|
|
23462
|
+
template: "<ng-content></ng-content>",
|
|
23229
23463
|
host: { '[class.clr-timeline-step-description]': 'true' }
|
|
23230
23464
|
},] }
|
|
23231
23465
|
];
|
|
@@ -23243,7 +23477,7 @@
|
|
|
23243
23477
|
ClrTimelineStepHeader.decorators = [
|
|
23244
23478
|
{ type: i0.Component, args: [{
|
|
23245
23479
|
selector: 'clr-timeline-step-header',
|
|
23246
|
-
template: "
|
|
23480
|
+
template: "<ng-content></ng-content>",
|
|
23247
23481
|
host: { '[class.clr-timeline-step-header]': 'true' }
|
|
23248
23482
|
},] }
|
|
23249
23483
|
];
|
|
@@ -24456,7 +24690,9 @@
|
|
|
24456
24690
|
return ClrWizardPageButtons;
|
|
24457
24691
|
}());
|
|
24458
24692
|
ClrWizardPageButtons.decorators = [
|
|
24459
|
-
{ type: i0.Directive, args: [{
|
|
24693
|
+
{ type: i0.Directive, args: [{
|
|
24694
|
+
selector: '[clrPageButtons]',
|
|
24695
|
+
},] }
|
|
24460
24696
|
];
|
|
24461
24697
|
ClrWizardPageButtons.ctorParameters = function () { return [
|
|
24462
24698
|
{ type: i0.TemplateRef }
|
|
@@ -24474,7 +24710,9 @@
|
|
|
24474
24710
|
return ClrWizardPageHeaderActions;
|
|
24475
24711
|
}());
|
|
24476
24712
|
ClrWizardPageHeaderActions.decorators = [
|
|
24477
|
-
{ type: i0.Directive, args: [{
|
|
24713
|
+
{ type: i0.Directive, args: [{
|
|
24714
|
+
selector: '[clrPageHeaderActions]',
|
|
24715
|
+
},] }
|
|
24478
24716
|
];
|
|
24479
24717
|
ClrWizardPageHeaderActions.ctorParameters = function () { return [
|
|
24480
24718
|
{ type: i0.TemplateRef }
|
|
@@ -24492,7 +24730,9 @@
|
|
|
24492
24730
|
return ClrWizardPageNavTitle;
|
|
24493
24731
|
}());
|
|
24494
24732
|
ClrWizardPageNavTitle.decorators = [
|
|
24495
|
-
{ type: i0.Directive, args: [{
|
|
24733
|
+
{ type: i0.Directive, args: [{
|
|
24734
|
+
selector: '[clrPageNavTitle]',
|
|
24735
|
+
},] }
|
|
24496
24736
|
];
|
|
24497
24737
|
ClrWizardPageNavTitle.ctorParameters = function () { return [
|
|
24498
24738
|
{ type: i0.TemplateRef }
|
|
@@ -24510,7 +24750,9 @@
|
|
|
24510
24750
|
return ClrWizardPageTitle;
|
|
24511
24751
|
}());
|
|
24512
24752
|
ClrWizardPageTitle.decorators = [
|
|
24513
|
-
{ type: i0.Directive, args: [{
|
|
24753
|
+
{ type: i0.Directive, args: [{
|
|
24754
|
+
selector: '[clrPageTitle]',
|
|
24755
|
+
},] }
|
|
24514
24756
|
];
|
|
24515
24757
|
ClrWizardPageTitle.ctorParameters = function () { return [
|
|
24516
24758
|
{ type: i0.TemplateRef }
|
|
@@ -25903,7 +26145,9 @@
|
|
|
25903
26145
|
return ClrWizardCustomTags;
|
|
25904
26146
|
}());
|
|
25905
26147
|
ClrWizardCustomTags.decorators = [
|
|
25906
|
-
{ type: i0.Directive, args: [{
|
|
26148
|
+
{ type: i0.Directive, args: [{
|
|
26149
|
+
selector: 'clr-wizard-title, clr-wizard-pagetitle',
|
|
26150
|
+
},] }
|
|
25907
26151
|
];
|
|
25908
26152
|
|
|
25909
26153
|
/*
|