@clr/angular 12.1.2 → 12.3.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/bundles/clr-angular.umd.js +343 -88
- 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/combobox/options.js +5 -1
- package/esm2015/forms/combobox/providers/combobox-focus-handler.service.js +9 -2
- 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 +330 -96
- 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 }
|
|
@@ -6077,7 +6122,14 @@
|
|
|
6077
6122
|
firstActive_1 = this.selectionService.selectionModel.model;
|
|
6078
6123
|
}
|
|
6079
6124
|
var activeProxy = this.optionData.find(function (option) { return option.value === firstActive_1; });
|
|
6080
|
-
|
|
6125
|
+
if (activeProxy) {
|
|
6126
|
+
// active element is visible
|
|
6127
|
+
this.pseudoFocus.select(activeProxy);
|
|
6128
|
+
}
|
|
6129
|
+
else {
|
|
6130
|
+
// we have active element, but it's filtered out
|
|
6131
|
+
this.pseudoFocus.select(this.optionData[0]);
|
|
6132
|
+
}
|
|
6081
6133
|
}
|
|
6082
6134
|
}
|
|
6083
6135
|
};
|
|
@@ -6405,7 +6457,7 @@
|
|
|
6405
6457
|
ClrCombobox.decorators = [
|
|
6406
6458
|
{ type: i0.Component, args: [{
|
|
6407
6459
|
selector: 'clr-combobox',
|
|
6408
|
-
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",
|
|
6409
6461
|
providers: [
|
|
6410
6462
|
ClrPopoverToggleService,
|
|
6411
6463
|
{ provide: POPOVER_HOST_ANCHOR, useExisting: i0.ElementRef },
|
|
@@ -6531,7 +6583,7 @@
|
|
|
6531
6583
|
ClrOption.decorators = [
|
|
6532
6584
|
{ type: i0.Component, args: [{
|
|
6533
6585
|
selector: 'clr-option',
|
|
6534
|
-
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 ",
|
|
6535
6587
|
providers: [UNIQUE_ID_PROVIDER],
|
|
6536
6588
|
host: {
|
|
6537
6589
|
'[class.clr-combobox-option]': 'true',
|
|
@@ -6736,6 +6788,10 @@
|
|
|
6736
6788
|
event.target !== _this.focusHandler.textInput) {
|
|
6737
6789
|
_this.toggleService.open = false;
|
|
6738
6790
|
}
|
|
6791
|
+
}), this.items.changes.subscribe(function () {
|
|
6792
|
+
setTimeout(function () {
|
|
6793
|
+
_this.focusHandler.focusFirstActive();
|
|
6794
|
+
});
|
|
6739
6795
|
}));
|
|
6740
6796
|
};
|
|
6741
6797
|
ClrOptions.prototype.ngOnDestroy = function () {
|
|
@@ -6839,7 +6895,10 @@
|
|
|
6839
6895
|
return ClrInput;
|
|
6840
6896
|
}(WrappedFormControl));
|
|
6841
6897
|
ClrInput.decorators = [
|
|
6842
|
-
{ type: i0.Directive, args: [{
|
|
6898
|
+
{ type: i0.Directive, args: [{
|
|
6899
|
+
selector: '[clrInput]',
|
|
6900
|
+
host: { '[class.clr-input]': 'true' },
|
|
6901
|
+
},] }
|
|
6843
6902
|
];
|
|
6844
6903
|
ClrInput.ctorParameters = function () { return [
|
|
6845
6904
|
{ type: i0.ViewContainerRef },
|
|
@@ -7275,7 +7334,9 @@
|
|
|
7275
7334
|
return FocusTrapDirective;
|
|
7276
7335
|
}());
|
|
7277
7336
|
FocusTrapDirective.decorators = [
|
|
7278
|
-
{ type: i0.Directive, args: [{
|
|
7337
|
+
{ type: i0.Directive, args: [{
|
|
7338
|
+
selector: '[clrFocusTrap]',
|
|
7339
|
+
},] }
|
|
7279
7340
|
];
|
|
7280
7341
|
FocusTrapDirective.ctorParameters = function () { return [
|
|
7281
7342
|
{ type: i0.ElementRef },
|
|
@@ -8297,7 +8358,10 @@
|
|
|
8297
8358
|
return ClrCalendar;
|
|
8298
8359
|
}());
|
|
8299
8360
|
ClrCalendar.decorators = [
|
|
8300
|
-
{ 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
|
+
},] }
|
|
8301
8365
|
];
|
|
8302
8366
|
ClrCalendar.ctorParameters = function () { return [
|
|
8303
8367
|
{ type: LocaleHelperService },
|
|
@@ -9527,7 +9591,7 @@
|
|
|
9527
9591
|
ClrPasswordContainer.decorators = [
|
|
9528
9592
|
{ type: i0.Component, args: [{
|
|
9529
9593
|
selector: 'clr-password-container',
|
|
9530
|
-
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 ",
|
|
9531
9595
|
host: {
|
|
9532
9596
|
'[class.clr-form-control]': 'true',
|
|
9533
9597
|
'[class.clr-form-control-disabled]': 'control?.disabled',
|
|
@@ -9585,7 +9649,10 @@
|
|
|
9585
9649
|
return ClrPassword;
|
|
9586
9650
|
}(WrappedFormControl));
|
|
9587
9651
|
ClrPassword.decorators = [
|
|
9588
|
-
{ type: i0.Directive, args: [{
|
|
9652
|
+
{ type: i0.Directive, args: [{
|
|
9653
|
+
selector: '[clrPassword]',
|
|
9654
|
+
host: { '[class.clr-input]': 'true' },
|
|
9655
|
+
},] }
|
|
9589
9656
|
];
|
|
9590
9657
|
ClrPassword.ctorParameters = function () { return [
|
|
9591
9658
|
{ type: i0.ViewContainerRef },
|
|
@@ -9663,7 +9730,9 @@
|
|
|
9663
9730
|
return ClrRadio;
|
|
9664
9731
|
}(WrappedFormControl));
|
|
9665
9732
|
ClrRadio.decorators = [
|
|
9666
|
-
{ type: i0.Directive, args: [{
|
|
9733
|
+
{ type: i0.Directive, args: [{
|
|
9734
|
+
selector: '[clrRadio]',
|
|
9735
|
+
},] }
|
|
9667
9736
|
];
|
|
9668
9737
|
ClrRadio.ctorParameters = function () { return [
|
|
9669
9738
|
{ type: i0.ViewContainerRef },
|
|
@@ -9828,7 +9897,10 @@
|
|
|
9828
9897
|
return ClrRange;
|
|
9829
9898
|
}(WrappedFormControl));
|
|
9830
9899
|
ClrRange.decorators = [
|
|
9831
|
-
{ type: i0.Directive, args: [{
|
|
9900
|
+
{ type: i0.Directive, args: [{
|
|
9901
|
+
selector: '[clrRange]',
|
|
9902
|
+
host: { '[class.clr-range]': 'true' },
|
|
9903
|
+
},] }
|
|
9832
9904
|
];
|
|
9833
9905
|
ClrRange.ctorParameters = function () { return [
|
|
9834
9906
|
{ type: i0.ViewContainerRef },
|
|
@@ -9917,7 +9989,10 @@
|
|
|
9917
9989
|
return ClrSelect;
|
|
9918
9990
|
}(WrappedFormControl));
|
|
9919
9991
|
ClrSelect.decorators = [
|
|
9920
|
-
{ type: i0.Directive, args: [{
|
|
9992
|
+
{ type: i0.Directive, args: [{
|
|
9993
|
+
selector: '[clrSelect]',
|
|
9994
|
+
host: { '[class.clr-select]': 'true' },
|
|
9995
|
+
},] }
|
|
9921
9996
|
];
|
|
9922
9997
|
ClrSelect.ctorParameters = function () { return [
|
|
9923
9998
|
{ type: i0.ViewContainerRef },
|
|
@@ -9978,7 +10053,10 @@
|
|
|
9978
10053
|
return ClrTextarea;
|
|
9979
10054
|
}(WrappedFormControl));
|
|
9980
10055
|
ClrTextarea.decorators = [
|
|
9981
|
-
{ type: i0.Directive, args: [{
|
|
10056
|
+
{ type: i0.Directive, args: [{
|
|
10057
|
+
selector: '[clrTextarea]',
|
|
10058
|
+
host: { '[class.clr-textarea]': 'true' },
|
|
10059
|
+
},] }
|
|
9982
10060
|
];
|
|
9983
10061
|
ClrTextarea.ctorParameters = function () { return [
|
|
9984
10062
|
{ type: i0.ViewContainerRef },
|
|
@@ -10116,7 +10194,7 @@
|
|
|
10116
10194
|
ClrExpandableAnimation.decorators = [
|
|
10117
10195
|
{ type: i0.Component, args: [{
|
|
10118
10196
|
selector: 'clr-expandable-animation',
|
|
10119
|
-
template: "
|
|
10197
|
+
template: "<ng-content></ng-content>",
|
|
10120
10198
|
animations: [
|
|
10121
10199
|
animations.trigger('expandAnimation', [
|
|
10122
10200
|
animations.transition('true <=> false', [
|
|
@@ -10530,7 +10608,10 @@
|
|
|
10530
10608
|
return ClrDragHandle;
|
|
10531
10609
|
}());
|
|
10532
10610
|
ClrDragHandle.decorators = [
|
|
10533
|
-
{ type: i0.Directive, args: [{
|
|
10611
|
+
{ type: i0.Directive, args: [{
|
|
10612
|
+
selector: '[clrDragHandle]',
|
|
10613
|
+
host: { '[class.drag-handle]': 'true' },
|
|
10614
|
+
},] }
|
|
10534
10615
|
];
|
|
10535
10616
|
ClrDragHandle.ctorParameters = function () { return [
|
|
10536
10617
|
{ type: i0.ElementRef },
|
|
@@ -10750,7 +10831,9 @@
|
|
|
10750
10831
|
return ClrIfDragged;
|
|
10751
10832
|
}());
|
|
10752
10833
|
ClrIfDragged.decorators = [
|
|
10753
|
-
{ type: i0.Directive, args: [{
|
|
10834
|
+
{ type: i0.Directive, args: [{
|
|
10835
|
+
selector: '[clrIfDragged]',
|
|
10836
|
+
},] }
|
|
10754
10837
|
];
|
|
10755
10838
|
ClrIfDragged.ctorParameters = function () { return [
|
|
10756
10839
|
{ type: i0.TemplateRef },
|
|
@@ -11311,7 +11394,9 @@
|
|
|
11311
11394
|
return OutsideClick;
|
|
11312
11395
|
}());
|
|
11313
11396
|
OutsideClick.decorators = [
|
|
11314
|
-
{ type: i0.Directive, args: [{
|
|
11397
|
+
{ type: i0.Directive, args: [{
|
|
11398
|
+
selector: '[clrOutsideClick]',
|
|
11399
|
+
},] }
|
|
11315
11400
|
];
|
|
11316
11401
|
OutsideClick.ctorParameters = function () { return [
|
|
11317
11402
|
{ type: i0.ElementRef },
|
|
@@ -12074,6 +12159,20 @@
|
|
|
12074
12159
|
sub.unsubscribe();
|
|
12075
12160
|
});
|
|
12076
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
|
+
});
|
|
12077
12176
|
Object.defineProperty(DatagridNumericFilter.prototype, "customNumericFilter", {
|
|
12078
12177
|
/**
|
|
12079
12178
|
* Customizable filter logic based on high and low values
|
|
@@ -12190,7 +12289,7 @@
|
|
|
12190
12289
|
{ type: i0.Component, args: [{
|
|
12191
12290
|
selector: 'clr-dg-numeric-filter',
|
|
12192
12291
|
providers: [{ provide: CustomFilter, useExisting: DatagridNumericFilter }],
|
|
12193
|
-
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 "
|
|
12194
12293
|
},] }
|
|
12195
12294
|
];
|
|
12196
12295
|
DatagridNumericFilter.ctorParameters = function () { return [
|
|
@@ -12200,6 +12299,8 @@
|
|
|
12200
12299
|
{ type: ClrPopoverToggleService }
|
|
12201
12300
|
]; };
|
|
12202
12301
|
DatagridNumericFilter.propDecorators = {
|
|
12302
|
+
maxPlaceholder: [{ type: i0.Input, args: ['clrFilterMaxPlaceholder',] }],
|
|
12303
|
+
minPlaceholder: [{ type: i0.Input, args: ['clrFilterMinPlaceholder',] }],
|
|
12203
12304
|
customNumericFilter: [{ type: i0.Input, args: ['clrDgNumericFilter',] }],
|
|
12204
12305
|
input: [{ type: i0.ViewChild, args: ['input_low',] }],
|
|
12205
12306
|
filterContainer: [{ type: i0.ViewChild, args: [ClrDatagridFilter,] }],
|
|
@@ -12345,6 +12446,13 @@
|
|
|
12345
12446
|
_this.filterValueChange = new i0.EventEmitter();
|
|
12346
12447
|
return _this;
|
|
12347
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
|
+
});
|
|
12348
12456
|
Object.defineProperty(DatagridStringFilter.prototype, "customStringFilter", {
|
|
12349
12457
|
/**
|
|
12350
12458
|
* Customizable filter logic based on a search text
|
|
@@ -12411,7 +12519,7 @@
|
|
|
12411
12519
|
{ type: i0.Component, args: [{
|
|
12412
12520
|
selector: 'clr-dg-string-filter',
|
|
12413
12521
|
providers: [{ provide: CustomFilter, useExisting: DatagridStringFilter }],
|
|
12414
|
-
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 "
|
|
12415
12523
|
},] }
|
|
12416
12524
|
];
|
|
12417
12525
|
DatagridStringFilter.ctorParameters = function () { return [
|
|
@@ -12421,6 +12529,7 @@
|
|
|
12421
12529
|
{ type: ClrPopoverToggleService }
|
|
12422
12530
|
]; };
|
|
12423
12531
|
DatagridStringFilter.propDecorators = {
|
|
12532
|
+
placeholder: [{ type: i0.Input, args: ['clrFilterPlaceholder',] }],
|
|
12424
12533
|
customStringFilter: [{ type: i0.Input, args: ['clrDgStringFilter',] }],
|
|
12425
12534
|
input: [{ type: i0.ViewChild, args: ['input',] }],
|
|
12426
12535
|
filterContainer: [{ type: i0.ViewChild, args: [ClrDatagridFilter,] }],
|
|
@@ -12467,7 +12576,9 @@
|
|
|
12467
12576
|
return DatagridWillyWonka;
|
|
12468
12577
|
}(WillyWonka));
|
|
12469
12578
|
DatagridWillyWonka.decorators = [
|
|
12470
|
-
{ type: i0.Directive, args: [{
|
|
12579
|
+
{ type: i0.Directive, args: [{
|
|
12580
|
+
selector: 'clr-datagrid',
|
|
12581
|
+
},] }
|
|
12471
12582
|
];
|
|
12472
12583
|
|
|
12473
12584
|
var ActionableOompaLoompa = /** @class */ (function (_super) {
|
|
@@ -12491,7 +12602,9 @@
|
|
|
12491
12602
|
return ActionableOompaLoompa;
|
|
12492
12603
|
}(OompaLoompa));
|
|
12493
12604
|
ActionableOompaLoompa.decorators = [
|
|
12494
|
-
{ type: i0.Directive, args: [{
|
|
12605
|
+
{ type: i0.Directive, args: [{
|
|
12606
|
+
selector: 'clr-datagrid, clr-dg-row',
|
|
12607
|
+
},] }
|
|
12495
12608
|
];
|
|
12496
12609
|
ActionableOompaLoompa.ctorParameters = function () { return [
|
|
12497
12610
|
{ type: i0.ChangeDetectorRef },
|
|
@@ -12629,7 +12742,9 @@
|
|
|
12629
12742
|
return ExpandableOompaLoompa;
|
|
12630
12743
|
}(OompaLoompa));
|
|
12631
12744
|
ExpandableOompaLoompa.decorators = [
|
|
12632
|
-
{ type: i0.Directive, args: [{
|
|
12745
|
+
{ type: i0.Directive, args: [{
|
|
12746
|
+
selector: 'clr-datagrid, clr-dg-row',
|
|
12747
|
+
},] }
|
|
12633
12748
|
];
|
|
12634
12749
|
ExpandableOompaLoompa.ctorParameters = function () { return [
|
|
12635
12750
|
{ type: i0.ChangeDetectorRef },
|
|
@@ -13094,6 +13209,27 @@
|
|
|
13094
13209
|
enumerable: false,
|
|
13095
13210
|
configurable: true
|
|
13096
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
|
+
});
|
|
13097
13233
|
Object.defineProperty(ClrDatagridColumn.prototype, "updateFilterValue", {
|
|
13098
13234
|
set: function (newValue) {
|
|
13099
13235
|
if (this.filter) {
|
|
@@ -13160,7 +13296,7 @@
|
|
|
13160
13296
|
ClrDatagridColumn.decorators = [
|
|
13161
13297
|
{ type: i0.Component, args: [{
|
|
13162
13298
|
selector: 'clr-dg-column',
|
|
13163
|
-
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 ",
|
|
13164
13300
|
providers: [ClrPopoverPositionService, ClrPopoverEventsService, ClrPopoverToggleService],
|
|
13165
13301
|
host: {
|
|
13166
13302
|
'[class.datagrid-column]': 'true',
|
|
@@ -13187,6 +13323,9 @@
|
|
|
13187
13323
|
sortOrder: [{ type: i0.Input, args: ['clrDgSortOrder',] }],
|
|
13188
13324
|
sortOrderChange: [{ type: i0.Output, args: ['clrDgSortOrderChange',] }],
|
|
13189
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',] }],
|
|
13190
13329
|
updateFilterValue: [{ type: i0.Input, args: ['clrFilterValue',] }],
|
|
13191
13330
|
filterValueChange: [{ type: i0.Output, args: ['clrFilterValueChange',] }]
|
|
13192
13331
|
};
|
|
@@ -13746,7 +13885,7 @@
|
|
|
13746
13885
|
ClrDatagridCell.decorators = [
|
|
13747
13886
|
{ type: i0.Component, args: [{
|
|
13748
13887
|
selector: 'clr-dg-cell',
|
|
13749
|
-
template: "
|
|
13888
|
+
template: "<ng-content></ng-content>",
|
|
13750
13889
|
host: {
|
|
13751
13890
|
'[class.datagrid-cell]': 'true',
|
|
13752
13891
|
'[class.datagrid-signpost-trigger]': 'signpost.length > 0',
|
|
@@ -13950,6 +14089,10 @@
|
|
|
13950
14089
|
* Subscriptions to the other providers changes.
|
|
13951
14090
|
*/
|
|
13952
14091
|
this.subscriptions = [];
|
|
14092
|
+
/**
|
|
14093
|
+
* Shift key state, for use in range selection.
|
|
14094
|
+
*/
|
|
14095
|
+
this.shiftPressed = false;
|
|
13953
14096
|
this.valueCollector = new rxjs.Subject();
|
|
13954
14097
|
/**
|
|
13955
14098
|
* The Observable that lets other classes subscribe to selection changes
|
|
@@ -14352,7 +14495,7 @@
|
|
|
14352
14495
|
|
|
14353
14496
|
var nbRow = 0;
|
|
14354
14497
|
var ClrDatagridRow = /** @class */ (function () {
|
|
14355
|
-
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) {
|
|
14356
14499
|
var _this = this;
|
|
14357
14500
|
this.selection = selection;
|
|
14358
14501
|
this.rowActionService = rowActionService;
|
|
@@ -14364,6 +14507,8 @@
|
|
|
14364
14507
|
this.renderer = renderer;
|
|
14365
14508
|
this.el = el;
|
|
14366
14509
|
this.commonStrings = commonStrings;
|
|
14510
|
+
this.items = items;
|
|
14511
|
+
this.document = document;
|
|
14367
14512
|
/* reference to the enum so that template can access */
|
|
14368
14513
|
this.SELECTION_TYPE = SelectionType;
|
|
14369
14514
|
this.expandAnimationTrigger = false;
|
|
@@ -14394,6 +14539,24 @@
|
|
|
14394
14539
|
}
|
|
14395
14540
|
}));
|
|
14396
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
|
+
};
|
|
14397
14560
|
Object.defineProperty(ClrDatagridRow.prototype, "selected", {
|
|
14398
14561
|
/**
|
|
14399
14562
|
* Indicates if the row is selected
|
|
@@ -14411,6 +14574,12 @@
|
|
|
14411
14574
|
this._selected = value;
|
|
14412
14575
|
}
|
|
14413
14576
|
else {
|
|
14577
|
+
if (value && this.selection.selectionType === SelectionType.Multi) {
|
|
14578
|
+
this.rangeSelect();
|
|
14579
|
+
}
|
|
14580
|
+
else {
|
|
14581
|
+
this.selection.rangeStart = null;
|
|
14582
|
+
}
|
|
14414
14583
|
this.selection.setSelected(this.item, value);
|
|
14415
14584
|
}
|
|
14416
14585
|
},
|
|
@@ -14514,6 +14683,30 @@
|
|
|
14514
14683
|
_this.expandAnimationTrigger = !_this.expandAnimationTrigger;
|
|
14515
14684
|
}));
|
|
14516
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
|
+
};
|
|
14517
14710
|
ClrDatagridRow.prototype.ngOnDestroy = function () {
|
|
14518
14711
|
this.subscriptions.forEach(function (sub) { return sub.unsubscribe(); });
|
|
14519
14712
|
};
|
|
@@ -14533,7 +14726,7 @@
|
|
|
14533
14726
|
ClrDatagridRow.decorators = [
|
|
14534
14727
|
{ type: i0.Component, args: [{
|
|
14535
14728
|
selector: 'clr-dg-row',
|
|
14536
|
-
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",
|
|
14537
14730
|
host: {
|
|
14538
14731
|
'[class.datagrid-row]': 'true',
|
|
14539
14732
|
'[class.datagrid-selected]': 'selected',
|
|
@@ -14557,7 +14750,9 @@
|
|
|
14557
14750
|
{ type: i0.ViewContainerRef },
|
|
14558
14751
|
{ type: i0.Renderer2 },
|
|
14559
14752
|
{ type: i0.ElementRef },
|
|
14560
|
-
{ type: ClrCommonStringsService }
|
|
14753
|
+
{ type: ClrCommonStringsService },
|
|
14754
|
+
{ type: Items },
|
|
14755
|
+
{ type: undefined, decorators: [{ type: i0.Inject, args: [i1.DOCUMENT,] }] }
|
|
14561
14756
|
]; };
|
|
14562
14757
|
ClrDatagridRow.propDecorators = {
|
|
14563
14758
|
expandAnimation: [{ type: i0.ViewChild, args: [ClrExpandableAnimation,] }],
|
|
@@ -14973,7 +15168,7 @@
|
|
|
14973
15168
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
14974
15169
|
*/
|
|
14975
15170
|
var ClrDatagrid = /** @class */ (function () {
|
|
14976
|
-
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) {
|
|
14977
15172
|
this.organizer = organizer;
|
|
14978
15173
|
this.items = items;
|
|
14979
15174
|
this.expandableRows = expandableRows;
|
|
@@ -14983,11 +15178,13 @@
|
|
|
14983
15178
|
this.displayMode = displayMode;
|
|
14984
15179
|
this.renderer = renderer;
|
|
14985
15180
|
this.detailService = detailService;
|
|
15181
|
+
this.document = document;
|
|
14986
15182
|
this.el = el;
|
|
14987
15183
|
this.page = page;
|
|
14988
15184
|
this.commonStrings = commonStrings;
|
|
14989
15185
|
this.columnsService = columnsService;
|
|
14990
15186
|
this.keyNavigation = keyNavigation;
|
|
15187
|
+
this.zone = zone;
|
|
14991
15188
|
/* reference to the enum so that template can access */
|
|
14992
15189
|
this.SELECTION_TYPE = SelectionType;
|
|
14993
15190
|
/**
|
|
@@ -15198,6 +15395,19 @@
|
|
|
15198
15395
|
});
|
|
15199
15396
|
}
|
|
15200
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
|
+
});
|
|
15201
15411
|
};
|
|
15202
15412
|
ClrDatagrid.prototype.ngOnDestroy = function () {
|
|
15203
15413
|
this._subscriptions.forEach(function (sub) { return sub.unsubscribe(); });
|
|
@@ -15246,11 +15456,13 @@
|
|
|
15246
15456
|
{ type: i0.Renderer2 },
|
|
15247
15457
|
{ type: DetailService },
|
|
15248
15458
|
{ type: String, decorators: [{ type: i0.Inject, args: [UNIQUE_ID,] }] },
|
|
15459
|
+
{ type: undefined, decorators: [{ type: i0.Inject, args: [i1.DOCUMENT,] }] },
|
|
15249
15460
|
{ type: i0.ElementRef },
|
|
15250
15461
|
{ type: Page },
|
|
15251
15462
|
{ type: ClrCommonStringsService },
|
|
15252
15463
|
{ type: ColumnsService },
|
|
15253
|
-
{ type: KeyNavigationGridController }
|
|
15464
|
+
{ type: KeyNavigationGridController },
|
|
15465
|
+
{ type: i0.NgZone }
|
|
15254
15466
|
]; };
|
|
15255
15467
|
ClrDatagrid.propDecorators = {
|
|
15256
15468
|
loading: [{ type: i0.Input, args: ['clrDgLoading',] }],
|
|
@@ -15290,7 +15502,7 @@
|
|
|
15290
15502
|
ClrDatagridActionBar.decorators = [
|
|
15291
15503
|
{ type: i0.Component, args: [{
|
|
15292
15504
|
selector: 'clr-dg-action-bar',
|
|
15293
|
-
template: "
|
|
15505
|
+
template: "<ng-content></ng-content>",
|
|
15294
15506
|
host: { '[class.datagrid-action-bar]': 'true' }
|
|
15295
15507
|
},] }
|
|
15296
15508
|
];
|
|
@@ -15871,7 +16083,9 @@
|
|
|
15871
16083
|
return DatagridDetailRegisterer;
|
|
15872
16084
|
}());
|
|
15873
16085
|
DatagridDetailRegisterer.decorators = [
|
|
15874
|
-
{ type: i0.Directive, args: [{
|
|
16086
|
+
{ type: i0.Directive, args: [{
|
|
16087
|
+
selector: '[clrIfExpanded]',
|
|
16088
|
+
},] }
|
|
15875
16089
|
];
|
|
15876
16090
|
DatagridDetailRegisterer.ctorParameters = function () { return [
|
|
15877
16091
|
{ type: ExpandableRowsCount, decorators: [{ type: i0.Optional }] }
|
|
@@ -16021,7 +16235,9 @@
|
|
|
16021
16235
|
return ClrDatagridHideableColumn;
|
|
16022
16236
|
}());
|
|
16023
16237
|
ClrDatagridHideableColumn.decorators = [
|
|
16024
|
-
{ type: i0.Directive, args: [{
|
|
16238
|
+
{ type: i0.Directive, args: [{
|
|
16239
|
+
selector: '[clrDgHideableColumn]',
|
|
16240
|
+
},] }
|
|
16025
16241
|
];
|
|
16026
16242
|
ClrDatagridHideableColumn.ctorParameters = function () { return [
|
|
16027
16243
|
{ type: i0.TemplateRef },
|
|
@@ -16528,7 +16744,9 @@
|
|
|
16528
16744
|
return DatagridCellRenderer;
|
|
16529
16745
|
}());
|
|
16530
16746
|
DatagridCellRenderer.decorators = [
|
|
16531
|
-
{ type: i0.Directive, args: [{
|
|
16747
|
+
{ type: i0.Directive, args: [{
|
|
16748
|
+
selector: 'clr-dg-cell',
|
|
16749
|
+
},] }
|
|
16532
16750
|
];
|
|
16533
16751
|
DatagridCellRenderer.ctorParameters = function () { return [
|
|
16534
16752
|
{ type: i0.ElementRef },
|
|
@@ -16647,7 +16865,10 @@
|
|
|
16647
16865
|
return DatagridHeaderRenderer;
|
|
16648
16866
|
}());
|
|
16649
16867
|
DatagridHeaderRenderer.decorators = [
|
|
16650
|
-
{ type: i0.Directive, args: [{
|
|
16868
|
+
{ type: i0.Directive, args: [{
|
|
16869
|
+
selector: 'clr-dg-column',
|
|
16870
|
+
providers: [ColumnResizerService, COLUMN_STATE_PROVIDER],
|
|
16871
|
+
},] }
|
|
16651
16872
|
];
|
|
16652
16873
|
DatagridHeaderRenderer.ctorParameters = function () { return [
|
|
16653
16874
|
{ type: i0.ElementRef },
|
|
@@ -16759,7 +16980,9 @@
|
|
|
16759
16980
|
return DatagridRowRenderer;
|
|
16760
16981
|
}());
|
|
16761
16982
|
DatagridRowRenderer.decorators = [
|
|
16762
|
-
{ type: i0.Directive, args: [{
|
|
16983
|
+
{ type: i0.Directive, args: [{
|
|
16984
|
+
selector: 'clr-dg-row, clr-dg-row-detail',
|
|
16985
|
+
},] }
|
|
16763
16986
|
];
|
|
16764
16987
|
DatagridRowRenderer.ctorParameters = function () { return [
|
|
16765
16988
|
{ type: ColumnsService }
|
|
@@ -17047,7 +17270,9 @@
|
|
|
17047
17270
|
return ClrStackViewCustomTags;
|
|
17048
17271
|
}());
|
|
17049
17272
|
ClrStackViewCustomTags.decorators = [
|
|
17050
|
-
{ type: i0.Directive, args: [{
|
|
17273
|
+
{ type: i0.Directive, args: [{
|
|
17274
|
+
selector: 'clr-stack-content',
|
|
17275
|
+
},] }
|
|
17051
17276
|
];
|
|
17052
17277
|
var ClrStackViewLabel = /** @class */ (function () {
|
|
17053
17278
|
function ClrStackViewLabel(uniqueId) {
|
|
@@ -17790,7 +18015,9 @@
|
|
|
17790
18015
|
return ClrRecursiveForOf;
|
|
17791
18016
|
}());
|
|
17792
18017
|
ClrRecursiveForOf.decorators = [
|
|
17793
|
-
{ type: i0.Directive, args: [{
|
|
18018
|
+
{ type: i0.Directive, args: [{
|
|
18019
|
+
selector: '[clrRecursiveFor][clrRecursiveForOf]',
|
|
18020
|
+
},] }
|
|
17794
18021
|
];
|
|
17795
18022
|
ClrRecursiveForOf.ctorParameters = function () { return [
|
|
17796
18023
|
{ type: i0.TemplateRef },
|
|
@@ -18199,7 +18426,7 @@
|
|
|
18199
18426
|
ClrTreeNode.decorators = [
|
|
18200
18427
|
{ type: i0.Component, args: [{
|
|
18201
18428
|
selector: 'clr-tree-node',
|
|
18202
|
-
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",
|
|
18203
18430
|
providers: [
|
|
18204
18431
|
UNIQUE_ID_PROVIDER,
|
|
18205
18432
|
TREE_FEATURES_PROVIDER,
|
|
@@ -19329,7 +19556,7 @@
|
|
|
19329
19556
|
ClrDropdownMenu.decorators = [
|
|
19330
19557
|
{ type: i0.Component, args: [{
|
|
19331
19558
|
selector: 'clr-dropdown-menu',
|
|
19332
|
-
template: "
|
|
19559
|
+
template: "<ng-content></ng-content>",
|
|
19333
19560
|
host: {
|
|
19334
19561
|
'[class.dropdown-menu]': 'true',
|
|
19335
19562
|
'[attr.role]': '"menu"',
|
|
@@ -19850,7 +20077,7 @@
|
|
|
19850
20077
|
ClrAlerts.decorators = [
|
|
19851
20078
|
{ type: i0.Component, args: [{
|
|
19852
20079
|
selector: 'clr-alerts',
|
|
19853
|
-
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",
|
|
19854
20081
|
providers: [MultiAlertService],
|
|
19855
20082
|
host: {
|
|
19856
20083
|
'[class.alerts]': 'true',
|
|
@@ -20147,7 +20374,10 @@
|
|
|
20147
20374
|
return ClrMainContainer;
|
|
20148
20375
|
}());
|
|
20149
20376
|
ClrMainContainer.decorators = [
|
|
20150
|
-
{ type: i0.Directive, args: [{
|
|
20377
|
+
{ type: i0.Directive, args: [{
|
|
20378
|
+
selector: 'clr-main-container',
|
|
20379
|
+
host: { '[class.main-container]': 'true' },
|
|
20380
|
+
},] }
|
|
20151
20381
|
];
|
|
20152
20382
|
ClrMainContainer.ctorParameters = function () { return [
|
|
20153
20383
|
{ type: i0.ElementRef },
|
|
@@ -20181,7 +20411,9 @@
|
|
|
20181
20411
|
return MainContainerWillyWonka;
|
|
20182
20412
|
}(WillyWonka));
|
|
20183
20413
|
MainContainerWillyWonka.decorators = [
|
|
20184
|
-
{ type: i0.Directive, args: [{
|
|
20414
|
+
{ type: i0.Directive, args: [{
|
|
20415
|
+
selector: 'clr-main-container',
|
|
20416
|
+
},] }
|
|
20185
20417
|
];
|
|
20186
20418
|
|
|
20187
20419
|
var NavDetectionOompaLoompa = /** @class */ (function (_super) {
|
|
@@ -20207,7 +20439,9 @@
|
|
|
20207
20439
|
return NavDetectionOompaLoompa;
|
|
20208
20440
|
}(OompaLoompa));
|
|
20209
20441
|
NavDetectionOompaLoompa.decorators = [
|
|
20210
|
-
{ type: i0.Directive, args: [{
|
|
20442
|
+
{ type: i0.Directive, args: [{
|
|
20443
|
+
selector: 'clr-header',
|
|
20444
|
+
},] }
|
|
20211
20445
|
];
|
|
20212
20446
|
NavDetectionOompaLoompa.ctorParameters = function () { return [
|
|
20213
20447
|
{ type: i0.ChangeDetectorRef },
|
|
@@ -20944,7 +21178,9 @@
|
|
|
20944
21178
|
return ClrNavLevel;
|
|
20945
21179
|
}(FocusTrap));
|
|
20946
21180
|
ClrNavLevel.decorators = [
|
|
20947
|
-
{ type: i0.Directive, args: [{
|
|
21181
|
+
{ type: i0.Directive, args: [{
|
|
21182
|
+
selector: '[clr-nav-level]',
|
|
21183
|
+
},] }
|
|
20948
21184
|
];
|
|
20949
21185
|
ClrNavLevel.ctorParameters = function () { return [
|
|
20950
21186
|
{ type: undefined, decorators: [{ type: i0.Inject, args: [i0.PLATFORM_ID,] }] },
|
|
@@ -21037,7 +21273,9 @@
|
|
|
21037
21273
|
return TabsWillyWonka;
|
|
21038
21274
|
}(WillyWonka));
|
|
21039
21275
|
TabsWillyWonka.decorators = [
|
|
21040
|
-
{ type: i0.Directive, args: [{
|
|
21276
|
+
{ type: i0.Directive, args: [{
|
|
21277
|
+
selector: 'clr-tabs',
|
|
21278
|
+
},] }
|
|
21041
21279
|
];
|
|
21042
21280
|
|
|
21043
21281
|
var ActiveOompaLoompa = /** @class */ (function (_super) {
|
|
@@ -21062,7 +21300,9 @@
|
|
|
21062
21300
|
return ActiveOompaLoompa;
|
|
21063
21301
|
}(OompaLoompa));
|
|
21064
21302
|
ActiveOompaLoompa.decorators = [
|
|
21065
|
-
{ type: i0.Directive, args: [{
|
|
21303
|
+
{ type: i0.Directive, args: [{
|
|
21304
|
+
selector: '[clrTabLink], clr-tab-content',
|
|
21305
|
+
},] }
|
|
21066
21306
|
];
|
|
21067
21307
|
ActiveOompaLoompa.ctorParameters = function () { return [
|
|
21068
21308
|
{ type: i0.ChangeDetectorRef },
|
|
@@ -21362,7 +21602,7 @@
|
|
|
21362
21602
|
ClrTab.decorators = [
|
|
21363
21603
|
{ type: i0.Component, args: [{
|
|
21364
21604
|
selector: 'clr-tab',
|
|
21365
|
-
template: "
|
|
21605
|
+
template: "<ng-content></ng-content>",
|
|
21366
21606
|
providers: [IF_ACTIVE_ID_PROVIDER, AriaService]
|
|
21367
21607
|
},] }
|
|
21368
21608
|
];
|
|
@@ -21389,7 +21629,7 @@
|
|
|
21389
21629
|
ClrTabOverflowContent.decorators = [
|
|
21390
21630
|
{ type: i0.Component, args: [{
|
|
21391
21631
|
selector: 'clr-tab-overflow-content',
|
|
21392
|
-
template: "
|
|
21632
|
+
template: "<ng-content></ng-content>",
|
|
21393
21633
|
host: {
|
|
21394
21634
|
'[class.dropdown-menu]': 'true',
|
|
21395
21635
|
}
|
|
@@ -21582,7 +21822,7 @@
|
|
|
21582
21822
|
ClrTabs.decorators = [
|
|
21583
21823
|
{ type: i0.Component, args: [{
|
|
21584
21824
|
selector: 'clr-tabs',
|
|
21585
|
-
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 ",
|
|
21586
21826
|
providers: [IfActiveService, ClrPopoverToggleService, TabsService, TABS_ID_PROVIDER]
|
|
21587
21827
|
},] }
|
|
21588
21828
|
];
|
|
@@ -22006,7 +22246,7 @@
|
|
|
22006
22246
|
ClrVerticalNavGroup.decorators = [
|
|
22007
22247
|
{ type: i0.Component, args: [{
|
|
22008
22248
|
selector: 'clr-vertical-nav-group',
|
|
22009
|
-
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",
|
|
22010
22250
|
providers: [IfExpandService, VerticalNavGroupService],
|
|
22011
22251
|
animations: [
|
|
22012
22252
|
animations.trigger('clrExpand', [
|
|
@@ -22045,7 +22285,7 @@
|
|
|
22045
22285
|
ClrVerticalNavGroupChildren.decorators = [
|
|
22046
22286
|
{ type: i0.Component, args: [{
|
|
22047
22287
|
selector: 'clr-vertical-nav-group-children',
|
|
22048
|
-
template: "
|
|
22288
|
+
template: "<ng-content></ng-content>"
|
|
22049
22289
|
},] }
|
|
22050
22290
|
];
|
|
22051
22291
|
|
|
@@ -22065,7 +22305,10 @@
|
|
|
22065
22305
|
return ClrVerticalNavIcon;
|
|
22066
22306
|
}());
|
|
22067
22307
|
ClrVerticalNavIcon.decorators = [
|
|
22068
|
-
{ type: i0.Directive, args: [{
|
|
22308
|
+
{ type: i0.Directive, args: [{
|
|
22309
|
+
selector: '[clrVerticalNavIcon]',
|
|
22310
|
+
host: { class: 'nav-icon' },
|
|
22311
|
+
},] }
|
|
22069
22312
|
];
|
|
22070
22313
|
ClrVerticalNavIcon.ctorParameters = function () { return [
|
|
22071
22314
|
{ type: VerticalNavIconService }
|
|
@@ -22323,7 +22566,9 @@
|
|
|
22323
22566
|
return ClrModalBody;
|
|
22324
22567
|
}());
|
|
22325
22568
|
ClrModalBody.decorators = [
|
|
22326
|
-
{ type: i0.Directive, args: [{
|
|
22569
|
+
{ type: i0.Directive, args: [{
|
|
22570
|
+
selector: '.modal-body',
|
|
22571
|
+
},] }
|
|
22327
22572
|
];
|
|
22328
22573
|
ClrModalBody.ctorParameters = function () { return [
|
|
22329
22574
|
{ type: i0.Renderer2 },
|
|
@@ -22557,7 +22802,7 @@
|
|
|
22557
22802
|
ClrTooltip.decorators = [
|
|
22558
22803
|
{ type: i0.Component, args: [{
|
|
22559
22804
|
selector: 'clr-tooltip',
|
|
22560
|
-
template: "
|
|
22805
|
+
template: "<ng-content></ng-content>",
|
|
22561
22806
|
host: {
|
|
22562
22807
|
'[class.tooltip]': 'true',
|
|
22563
22808
|
},
|
|
@@ -22678,7 +22923,7 @@
|
|
|
22678
22923
|
ClrTooltipContent.decorators = [
|
|
22679
22924
|
{ type: i0.Component, args: [{
|
|
22680
22925
|
selector: 'clr-tooltip-content',
|
|
22681
|
-
template: "
|
|
22926
|
+
template: "<ng-content></ng-content>",
|
|
22682
22927
|
host: {
|
|
22683
22928
|
'[class.tooltip-content]': 'true',
|
|
22684
22929
|
'[style.opacity]': '1',
|
|
@@ -23094,7 +23339,7 @@
|
|
|
23094
23339
|
ClrTimeline.decorators = [
|
|
23095
23340
|
{ type: i0.Component, args: [{
|
|
23096
23341
|
selector: 'clr-timeline',
|
|
23097
|
-
template: "
|
|
23342
|
+
template: "<ng-content></ng-content>",
|
|
23098
23343
|
host: { '[class.clr-timeline]': 'true' },
|
|
23099
23344
|
providers: [TimelineIconAttributeService]
|
|
23100
23345
|
},] }
|
|
@@ -23127,7 +23372,7 @@
|
|
|
23127
23372
|
ClrTimelineStepTitle.decorators = [
|
|
23128
23373
|
{ type: i0.Component, args: [{
|
|
23129
23374
|
selector: 'clr-timeline-step-title',
|
|
23130
|
-
template: "
|
|
23375
|
+
template: "<ng-content></ng-content>",
|
|
23131
23376
|
host: { '[class.clr-timeline-step-title]': 'true', '[attr.aria-hidden]': 'true' }
|
|
23132
23377
|
},] }
|
|
23133
23378
|
];
|
|
@@ -23188,7 +23433,7 @@
|
|
|
23188
23433
|
ClrTimelineStep.decorators = [
|
|
23189
23434
|
{ type: i0.Component, args: [{
|
|
23190
23435
|
selector: 'clr-timeline-step',
|
|
23191
|
-
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 ",
|
|
23192
23437
|
host: { '[class.clr-timeline-step]': 'true' }
|
|
23193
23438
|
},] }
|
|
23194
23439
|
];
|
|
@@ -23214,7 +23459,7 @@
|
|
|
23214
23459
|
ClrTimelineStepDescription.decorators = [
|
|
23215
23460
|
{ type: i0.Component, args: [{
|
|
23216
23461
|
selector: 'clr-timeline-step-description',
|
|
23217
|
-
template: "
|
|
23462
|
+
template: "<ng-content></ng-content>",
|
|
23218
23463
|
host: { '[class.clr-timeline-step-description]': 'true' }
|
|
23219
23464
|
},] }
|
|
23220
23465
|
];
|
|
@@ -23232,7 +23477,7 @@
|
|
|
23232
23477
|
ClrTimelineStepHeader.decorators = [
|
|
23233
23478
|
{ type: i0.Component, args: [{
|
|
23234
23479
|
selector: 'clr-timeline-step-header',
|
|
23235
|
-
template: "
|
|
23480
|
+
template: "<ng-content></ng-content>",
|
|
23236
23481
|
host: { '[class.clr-timeline-step-header]': 'true' }
|
|
23237
23482
|
},] }
|
|
23238
23483
|
];
|
|
@@ -24445,7 +24690,9 @@
|
|
|
24445
24690
|
return ClrWizardPageButtons;
|
|
24446
24691
|
}());
|
|
24447
24692
|
ClrWizardPageButtons.decorators = [
|
|
24448
|
-
{ type: i0.Directive, args: [{
|
|
24693
|
+
{ type: i0.Directive, args: [{
|
|
24694
|
+
selector: '[clrPageButtons]',
|
|
24695
|
+
},] }
|
|
24449
24696
|
];
|
|
24450
24697
|
ClrWizardPageButtons.ctorParameters = function () { return [
|
|
24451
24698
|
{ type: i0.TemplateRef }
|
|
@@ -24463,7 +24710,9 @@
|
|
|
24463
24710
|
return ClrWizardPageHeaderActions;
|
|
24464
24711
|
}());
|
|
24465
24712
|
ClrWizardPageHeaderActions.decorators = [
|
|
24466
|
-
{ type: i0.Directive, args: [{
|
|
24713
|
+
{ type: i0.Directive, args: [{
|
|
24714
|
+
selector: '[clrPageHeaderActions]',
|
|
24715
|
+
},] }
|
|
24467
24716
|
];
|
|
24468
24717
|
ClrWizardPageHeaderActions.ctorParameters = function () { return [
|
|
24469
24718
|
{ type: i0.TemplateRef }
|
|
@@ -24481,7 +24730,9 @@
|
|
|
24481
24730
|
return ClrWizardPageNavTitle;
|
|
24482
24731
|
}());
|
|
24483
24732
|
ClrWizardPageNavTitle.decorators = [
|
|
24484
|
-
{ type: i0.Directive, args: [{
|
|
24733
|
+
{ type: i0.Directive, args: [{
|
|
24734
|
+
selector: '[clrPageNavTitle]',
|
|
24735
|
+
},] }
|
|
24485
24736
|
];
|
|
24486
24737
|
ClrWizardPageNavTitle.ctorParameters = function () { return [
|
|
24487
24738
|
{ type: i0.TemplateRef }
|
|
@@ -24499,7 +24750,9 @@
|
|
|
24499
24750
|
return ClrWizardPageTitle;
|
|
24500
24751
|
}());
|
|
24501
24752
|
ClrWizardPageTitle.decorators = [
|
|
24502
|
-
{ type: i0.Directive, args: [{
|
|
24753
|
+
{ type: i0.Directive, args: [{
|
|
24754
|
+
selector: '[clrPageTitle]',
|
|
24755
|
+
},] }
|
|
24503
24756
|
];
|
|
24504
24757
|
ClrWizardPageTitle.ctorParameters = function () { return [
|
|
24505
24758
|
{ type: i0.TemplateRef }
|
|
@@ -25892,7 +26145,9 @@
|
|
|
25892
26145
|
return ClrWizardCustomTags;
|
|
25893
26146
|
}());
|
|
25894
26147
|
ClrWizardCustomTags.decorators = [
|
|
25895
|
-
{ type: i0.Directive, args: [{
|
|
26148
|
+
{ type: i0.Directive, args: [{
|
|
26149
|
+
selector: 'clr-wizard-title, clr-wizard-pagetitle',
|
|
26150
|
+
},] }
|
|
25896
26151
|
];
|
|
25897
26152
|
|
|
25898
26153
|
/*
|