igniteui-angular 14.0.11 → 14.0.14
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/esm2020/lib/core/utils.mjs +3 -3
- package/esm2020/lib/date-picker/date-picker.component.mjs +2 -1
- package/esm2020/lib/date-range-picker/date-range-picker.component.mjs +3 -3
- package/esm2020/lib/directives/drag-drop/drag-drop.directive.mjs +8 -6
- package/esm2020/lib/directives/radio/radio-group.directive.mjs +11 -5
- package/esm2020/lib/grids/grid/grid.component.mjs +2 -2
- package/esm2020/lib/grids/grid-navigation.service.mjs +8 -3
- package/esm2020/lib/grids/selection/selection.service.mjs +9 -4
- package/esm2020/lib/paginator/paginator.component.mjs +3 -3
- package/esm2020/lib/radio/radio.component.mjs +15 -2
- package/esm2020/lib/time-picker/time-picker.component.mjs +3 -2
- package/esm2020/lib/tree/tree-node/tree-node.component.mjs +7 -1
- package/fesm2015/igniteui-angular.mjs +61 -22
- package/fesm2015/igniteui-angular.mjs.map +1 -1
- package/fesm2020/igniteui-angular.mjs +61 -22
- package/fesm2020/igniteui-angular.mjs.map +1 -1
- package/lib/core/utils.d.ts +1 -1
- package/lib/directives/drag-drop/drag-drop.directive.d.ts +1 -1
- package/lib/directives/radio/radio-group.directive.d.ts +5 -0
- package/lib/grids/selection/selection.service.d.ts +2 -1
- package/lib/radio/radio.component.d.ts +13 -2
- package/package.json +1 -1
|
@@ -7,7 +7,7 @@ import { NgModel, FormControlName, NG_VALUE_ACCESSOR, NG_VALIDATORS, CheckboxReq
|
|
|
7
7
|
import * as i1$1 from '@angular/common';
|
|
8
8
|
import { isPlatformBrowser, formatDate as formatDate$1, CurrencyPipe, formatPercent, formatNumber, getLocaleCurrencyCode, DatePipe, DOCUMENT, CommonModule, FormatWidth, getLocaleDateFormat, getLocaleFirstDayOfWeek, getLocaleNumberFormat, NumberFormatStyle, getCurrencySymbol } from '@angular/common';
|
|
9
9
|
import { Observable, Subject, fromEvent, interval, animationFrameScheduler, noop, merge, Subscription, timer, pipe } from 'rxjs';
|
|
10
|
-
import { takeUntil, filter, first as first$1, throttleTime, take, throttle, debounce, tap, switchMap, skipLast, map, debounceTime, shareReplay, takeWhile, pluck } from 'rxjs/operators';
|
|
10
|
+
import { takeUntil, filter, first as first$1, throttleTime, take, throttle, startWith, debounce, tap, switchMap, skipLast, map, debounceTime, shareReplay, takeWhile, pluck } from 'rxjs/operators';
|
|
11
11
|
import mergeWith from 'lodash.mergewith';
|
|
12
12
|
import * as JSZip from 'jszip';
|
|
13
13
|
import * as i1$2 from '@angular/platform-browser';
|
|
@@ -2109,11 +2109,11 @@ const verticalAnimations = [
|
|
|
2109
2109
|
swingOutBottomBck,
|
|
2110
2110
|
];
|
|
2111
2111
|
/**
|
|
2112
|
-
* Similar to Angular's formatDate. However it will not throw on `undefined | null` instead
|
|
2112
|
+
* Similar to Angular's formatDate. However it will not throw on `undefined | null | ''` instead
|
|
2113
2113
|
* coalescing to an empty string.
|
|
2114
2114
|
*/
|
|
2115
2115
|
const formatDate = (value, format, locale, timezone) => {
|
|
2116
|
-
if (value === null || value === undefined) {
|
|
2116
|
+
if (value === null || value === undefined || value === '') {
|
|
2117
2117
|
return '';
|
|
2118
2118
|
}
|
|
2119
2119
|
return formatDate$1(value, format, locale, timezone);
|
|
@@ -15890,7 +15890,7 @@ class IgxDragDirective {
|
|
|
15890
15890
|
// Check for shadowRoot instance and use it if present
|
|
15891
15891
|
for (const elFromPoint of elementsFromPoint) {
|
|
15892
15892
|
if (!!elFromPoint?.shadowRoot) {
|
|
15893
|
-
targetElements = targetElements.concat(this.getFromShadowRoot(elFromPoint, pageX, pageY));
|
|
15893
|
+
targetElements = targetElements.concat(this.getFromShadowRoot(elFromPoint, pageX, pageY, elementsFromPoint));
|
|
15894
15894
|
}
|
|
15895
15895
|
else if (targetElements.indexOf(elFromPoint) === -1) {
|
|
15896
15896
|
targetElements.push(elFromPoint);
|
|
@@ -15924,13 +15924,15 @@ class IgxDragDirective {
|
|
|
15924
15924
|
* @hidden
|
|
15925
15925
|
* Traverse shadow dom in depth.
|
|
15926
15926
|
*/
|
|
15927
|
-
getFromShadowRoot(elem, pageX, pageY) {
|
|
15927
|
+
getFromShadowRoot(elem, pageX, pageY, parentDomElems) {
|
|
15928
15928
|
const elementsFromPoint = elem.shadowRoot.elementsFromPoint(pageX, pageY);
|
|
15929
|
-
|
|
15930
|
-
|
|
15929
|
+
const shadowElements = elementsFromPoint.filter(cur => parentDomElems.indexOf(cur) === -1);
|
|
15930
|
+
let res = [];
|
|
15931
|
+
for (const elFromPoint of shadowElements) {
|
|
15931
15932
|
if (!!elFromPoint?.shadowRoot && elFromPoint.shadowRoot !== elem.shadowRoot) {
|
|
15932
|
-
res = res.concat(this.getFromShadowRoot(elFromPoint, pageX, pageY));
|
|
15933
|
+
res = res.concat(this.getFromShadowRoot(elFromPoint, pageX, pageY, elementsFromPoint));
|
|
15933
15934
|
}
|
|
15935
|
+
res.push(elFromPoint);
|
|
15934
15936
|
}
|
|
15935
15937
|
return res;
|
|
15936
15938
|
}
|
|
@@ -17939,6 +17941,11 @@ let nextId$3 = 0;
|
|
|
17939
17941
|
class IgxRadioComponent {
|
|
17940
17942
|
constructor(cdr) {
|
|
17941
17943
|
this.cdr = cdr;
|
|
17944
|
+
/**
|
|
17945
|
+
* @hidden
|
|
17946
|
+
* @internal
|
|
17947
|
+
*/
|
|
17948
|
+
this.destroy$ = new Subject();
|
|
17942
17949
|
/**
|
|
17943
17950
|
* Sets/gets the `id` of the radio component.
|
|
17944
17951
|
* If not set, the `id` of the first radio component will be `"igx-radio-0"`.
|
|
@@ -18112,6 +18119,14 @@ class IgxRadioComponent {
|
|
|
18112
18119
|
set disabled(value) {
|
|
18113
18120
|
this._disabled = (value === '') || value;
|
|
18114
18121
|
}
|
|
18122
|
+
/**
|
|
18123
|
+
* @hidden
|
|
18124
|
+
* @internal
|
|
18125
|
+
*/
|
|
18126
|
+
ngOnDestroy() {
|
|
18127
|
+
this.destroy$.next(true);
|
|
18128
|
+
this.destroy$.complete();
|
|
18129
|
+
}
|
|
18115
18130
|
/**
|
|
18116
18131
|
* @hidden
|
|
18117
18132
|
* @internal
|
|
@@ -18411,6 +18426,11 @@ class IgxRadioGroupDirective {
|
|
|
18411
18426
|
* @internal
|
|
18412
18427
|
*/
|
|
18413
18428
|
this.destroy$ = new Subject();
|
|
18429
|
+
/**
|
|
18430
|
+
* @hidden
|
|
18431
|
+
* @internal
|
|
18432
|
+
*/
|
|
18433
|
+
this.queryChange$ = new Subject();
|
|
18414
18434
|
}
|
|
18415
18435
|
/**
|
|
18416
18436
|
* Sets/gets the `value` attribute.
|
|
@@ -18556,8 +18576,9 @@ class IgxRadioGroupDirective {
|
|
|
18556
18576
|
// The initial value can possibly be set by NgModel and it is possible that
|
|
18557
18577
|
// the OnInit of the NgModel occurs after the OnInit of this class.
|
|
18558
18578
|
this._isInitialized = true;
|
|
18559
|
-
|
|
18560
|
-
this.
|
|
18579
|
+
this.radioButtons.changes.pipe(startWith(0), takeUntil(this.destroy$)).subscribe(() => {
|
|
18580
|
+
this.queryChange$.next();
|
|
18581
|
+
setTimeout(() => this._initRadioButtons());
|
|
18561
18582
|
});
|
|
18562
18583
|
}
|
|
18563
18584
|
/**
|
|
@@ -18635,7 +18656,7 @@ class IgxRadioGroupDirective {
|
|
|
18635
18656
|
button.checked = true;
|
|
18636
18657
|
this._selected = button;
|
|
18637
18658
|
}
|
|
18638
|
-
button.change.pipe(takeUntil(this.destroy$)).subscribe((ev) => this._selectedRadioButtonChanged(ev));
|
|
18659
|
+
button.change.pipe(takeUntil(button.destroy$), takeUntil(this.destroy$), takeUntil(this.queryChange$)).subscribe((ev) => this._selectedRadioButtonChanged(ev));
|
|
18639
18660
|
});
|
|
18640
18661
|
}
|
|
18641
18662
|
}
|
|
@@ -24230,9 +24251,13 @@ class IgxGridSelectionService {
|
|
|
24230
24251
|
*/
|
|
24231
24252
|
this.pointerEventInGridBody = false;
|
|
24232
24253
|
this._ranges = new Set();
|
|
24233
|
-
this.pointerOriginHandler = () => {
|
|
24254
|
+
this.pointerOriginHandler = (event) => {
|
|
24234
24255
|
this.pointerEventInGridBody = false;
|
|
24235
24256
|
document.body.removeEventListener('pointerup', this.pointerOriginHandler);
|
|
24257
|
+
const targetTagName = event.target.tagName.toLowerCase();
|
|
24258
|
+
if (targetTagName !== 'igx-grid-cell' && targetTagName !== 'igx-tree-grid-cell') {
|
|
24259
|
+
this.pointerUp(this._lastSelectedNode, this.grid.rangeSelected, true);
|
|
24260
|
+
}
|
|
24236
24261
|
};
|
|
24237
24262
|
this.initPointerState();
|
|
24238
24263
|
this.initKeyboardState();
|
|
@@ -24349,6 +24374,7 @@ class IgxGridSelectionService {
|
|
|
24349
24374
|
* and the start node of the `state`.
|
|
24350
24375
|
*/
|
|
24351
24376
|
generateRange(node, state) {
|
|
24377
|
+
this._lastSelectedNode = node;
|
|
24352
24378
|
if (!state) {
|
|
24353
24379
|
return {
|
|
24354
24380
|
rowStart: node.row,
|
|
@@ -24466,8 +24492,8 @@ class IgxGridSelectionService {
|
|
|
24466
24492
|
}
|
|
24467
24493
|
return true;
|
|
24468
24494
|
}
|
|
24469
|
-
pointerUp(node, emitter) {
|
|
24470
|
-
if (this.dragMode) {
|
|
24495
|
+
pointerUp(node, emitter, firedOutsideGrid) {
|
|
24496
|
+
if (this.dragMode || firedOutsideGrid) {
|
|
24471
24497
|
this.restoreTextSelection();
|
|
24472
24498
|
this.addRangeMeta(node, this.pointerState);
|
|
24473
24499
|
this.mergeMap(this.selection, this.temp);
|
|
@@ -38544,6 +38570,7 @@ class IgxDatePickerComponent extends PickerBaseDirective {
|
|
|
38544
38570
|
this._onTouchedCallback = noop;
|
|
38545
38571
|
this._onValidatorChange = noop;
|
|
38546
38572
|
this.onStatusChanged = () => {
|
|
38573
|
+
this.disabled = this._ngControl.disabled;
|
|
38547
38574
|
this.updateValidity();
|
|
38548
38575
|
this.inputGroup.isRequired = this.required;
|
|
38549
38576
|
};
|
|
@@ -42496,7 +42523,8 @@ class IgxTimePickerComponent extends PickerBaseDirective {
|
|
|
42496
42523
|
}
|
|
42497
42524
|
onStatusChanged() {
|
|
42498
42525
|
if ((this._ngControl.control.touched || this._ngControl.control.dirty) &&
|
|
42499
|
-
(this._ngControl.control.validator || this._ngControl.control.asyncValidator)
|
|
42526
|
+
(this._ngControl.control.validator || this._ngControl.control.asyncValidator) &&
|
|
42527
|
+
!this._ngControl.disabled) {
|
|
42500
42528
|
if (this._inputGroup.isFocused) {
|
|
42501
42529
|
this.inputDirective.valid = this._ngControl.valid ? IgxInputState.VALID : IgxInputState.INVALID;
|
|
42502
42530
|
}
|
|
@@ -46323,6 +46351,9 @@ class IgxTreeNodeComponent extends ToggleAnimationPlayer {
|
|
|
46323
46351
|
* ```
|
|
46324
46352
|
*/
|
|
46325
46353
|
expand() {
|
|
46354
|
+
if (this.expanded && !this.treeService.collapsingNodes.has(this)) {
|
|
46355
|
+
return;
|
|
46356
|
+
}
|
|
46326
46357
|
const args = {
|
|
46327
46358
|
owner: this.tree,
|
|
46328
46359
|
node: this,
|
|
@@ -46351,6 +46382,9 @@ class IgxTreeNodeComponent extends ToggleAnimationPlayer {
|
|
|
46351
46382
|
* ```
|
|
46352
46383
|
*/
|
|
46353
46384
|
collapse() {
|
|
46385
|
+
if (!this.expanded || this.treeService.collapsingNodes.has(this)) {
|
|
46386
|
+
return;
|
|
46387
|
+
}
|
|
46354
46388
|
const args = {
|
|
46355
46389
|
owner: this.tree,
|
|
46356
46390
|
node: this,
|
|
@@ -56096,10 +56130,10 @@ class IgxPageNavigationComponent {
|
|
|
56096
56130
|
}
|
|
56097
56131
|
}
|
|
56098
56132
|
IgxPageNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: IgxPageNavigationComponent, deps: [{ token: IgxPaginatorComponent, host: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
56099
|
-
IgxPageNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: IgxPageNavigationComponent, selector: "igx-page-nav", inputs: { role: "role" }, host: { properties: { "class.igx-page-nav": "this.cssClass", "attr.role": "this.role" } }, ngImport: i0, template: "<button\n [title]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n [disabled]=\"paginator.isFirstPageDisabled\"\n [attr.aria-disabled]=\"paginator.isFirstPageDisabled\"\n (click)=\"paginator.paginate(0)\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n>\n <igx-icon>first_page</igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n [disabled]=\"paginator.isFirstPageDisabled\"\n [attr.aria-disabled]=\"paginator.isFirstPageDisabled\"\n (click)=\"paginator.previousPage()\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n>\n <igx-icon>chevron_left</igx-icon>\n</button>\n<div class=\"igx-page-nav__text\" aria-current=\"page\">\n <span>{{ paginator.page + 1 }}</span>\n <span\n > {{\n paginator.resourceStrings.igx_paginator_pager_text\n }} </span\n >\n <span>{{ paginator.totalPages }}</span>\n</div>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n [disabled]=\"paginator.isLastPageDisabled\"\n [attr.aria-disabled]=\"paginator.isLastPageDisabled\"\n (click)=\"paginator.nextPage()\"\n igxRipple\n [igxRippleCentered]=\"true\"\n igxButton=\"icon\"\n>\n <igx-icon>chevron_right</igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n [disabled]=\"paginator.isLastPageDisabled\"\n [attr.aria-disabled]=\"paginator.isLastPageDisabled\"\n (click)=\"paginator.paginate(paginator.totalPages - 1)\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n>\n <igx-icon>last_page</igx-icon>\n</button>\n\n", dependencies: [{ kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }] });
|
|
56133
|
+
IgxPageNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: IgxPageNavigationComponent, selector: "igx-page-nav", inputs: { role: "role" }, host: { properties: { "class.igx-page-nav": "this.cssClass", "attr.role": "this.role" } }, ngImport: i0, template: "<button\n [title]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n [disabled]=\"paginator.isFirstPageDisabled\"\n [attr.aria-disabled]=\"paginator.isFirstPageDisabled\"\n (click)=\"paginator.paginate(0)\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon>first_page</igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n [disabled]=\"paginator.isFirstPageDisabled\"\n [attr.aria-disabled]=\"paginator.isFirstPageDisabled\"\n (click)=\"paginator.previousPage()\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon>chevron_left</igx-icon>\n</button>\n<div class=\"igx-page-nav__text\" aria-current=\"page\">\n <span>{{ paginator.page + 1 }}</span>\n <span\n > {{\n paginator.resourceStrings.igx_paginator_pager_text\n }} </span\n >\n <span>{{ paginator.totalPages }}</span>\n</div>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n [disabled]=\"paginator.isLastPageDisabled\"\n [attr.aria-disabled]=\"paginator.isLastPageDisabled\"\n (click)=\"paginator.nextPage()\"\n igxRipple\n [igxRippleCentered]=\"true\"\n igxButton=\"icon\"\n type=\"button\"\n>\n <igx-icon>chevron_right</igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n [disabled]=\"paginator.isLastPageDisabled\"\n [attr.aria-disabled]=\"paginator.isLastPageDisabled\"\n (click)=\"paginator.paginate(paginator.totalPages - 1)\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon>last_page</igx-icon>\n</button>\n\n", dependencies: [{ kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }] });
|
|
56100
56134
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: IgxPageNavigationComponent, decorators: [{
|
|
56101
56135
|
type: Component,
|
|
56102
|
-
args: [{ selector: 'igx-page-nav', template: "<button\n [title]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n [disabled]=\"paginator.isFirstPageDisabled\"\n [attr.aria-disabled]=\"paginator.isFirstPageDisabled\"\n (click)=\"paginator.paginate(0)\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n>\n <igx-icon>first_page</igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n [disabled]=\"paginator.isFirstPageDisabled\"\n [attr.aria-disabled]=\"paginator.isFirstPageDisabled\"\n (click)=\"paginator.previousPage()\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n>\n <igx-icon>chevron_left</igx-icon>\n</button>\n<div class=\"igx-page-nav__text\" aria-current=\"page\">\n <span>{{ paginator.page + 1 }}</span>\n <span\n > {{\n paginator.resourceStrings.igx_paginator_pager_text\n }} </span\n >\n <span>{{ paginator.totalPages }}</span>\n</div>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n [disabled]=\"paginator.isLastPageDisabled\"\n [attr.aria-disabled]=\"paginator.isLastPageDisabled\"\n (click)=\"paginator.nextPage()\"\n igxRipple\n [igxRippleCentered]=\"true\"\n igxButton=\"icon\"\n>\n <igx-icon>chevron_right</igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n [disabled]=\"paginator.isLastPageDisabled\"\n [attr.aria-disabled]=\"paginator.isLastPageDisabled\"\n (click)=\"paginator.paginate(paginator.totalPages - 1)\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n>\n <igx-icon>last_page</igx-icon>\n</button>\n\n" }]
|
|
56136
|
+
args: [{ selector: 'igx-page-nav', template: "<button\n [title]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n [disabled]=\"paginator.isFirstPageDisabled\"\n [attr.aria-disabled]=\"paginator.isFirstPageDisabled\"\n (click)=\"paginator.paginate(0)\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon>first_page</igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n [disabled]=\"paginator.isFirstPageDisabled\"\n [attr.aria-disabled]=\"paginator.isFirstPageDisabled\"\n (click)=\"paginator.previousPage()\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon>chevron_left</igx-icon>\n</button>\n<div class=\"igx-page-nav__text\" aria-current=\"page\">\n <span>{{ paginator.page + 1 }}</span>\n <span\n > {{\n paginator.resourceStrings.igx_paginator_pager_text\n }} </span\n >\n <span>{{ paginator.totalPages }}</span>\n</div>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n [disabled]=\"paginator.isLastPageDisabled\"\n [attr.aria-disabled]=\"paginator.isLastPageDisabled\"\n (click)=\"paginator.nextPage()\"\n igxRipple\n [igxRippleCentered]=\"true\"\n igxButton=\"icon\"\n type=\"button\"\n>\n <igx-icon>chevron_right</igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n [disabled]=\"paginator.isLastPageDisabled\"\n [attr.aria-disabled]=\"paginator.isLastPageDisabled\"\n (click)=\"paginator.paginate(paginator.totalPages - 1)\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon>last_page</igx-icon>\n</button>\n\n" }]
|
|
56103
56137
|
}], ctorParameters: function () { return [{ type: IgxPaginatorComponent, decorators: [{
|
|
56104
56138
|
type: Host
|
|
56105
56139
|
}] }]; }, propDecorators: { cssClass: [{
|
|
@@ -58715,8 +58749,13 @@ class IgxGridNavigationService {
|
|
|
58715
58749
|
if (shouldClearSelection || (this.grid.cellSelection !== GridSelectionMode.multiple)) {
|
|
58716
58750
|
this.grid.clearCellSelection();
|
|
58717
58751
|
this.grid.navigateTo(this.activeNode.row, this.activeNode.column, (obj) => {
|
|
58718
|
-
obj.target
|
|
58719
|
-
|
|
58752
|
+
if (this.activeNode.row === obj.target.row.index) {
|
|
58753
|
+
obj.target?.activate(event);
|
|
58754
|
+
this.grid.cdr.detectChanges();
|
|
58755
|
+
}
|
|
58756
|
+
else {
|
|
58757
|
+
this.grid.navigateTo(this.activeNode.row, this.activeNode.column);
|
|
58758
|
+
}
|
|
58720
58759
|
});
|
|
58721
58760
|
}
|
|
58722
58761
|
else {
|
|
@@ -69005,7 +69044,6 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
69005
69044
|
if (this.groupTemplate) {
|
|
69006
69045
|
this._groupRowTemplate = this.groupTemplate.template;
|
|
69007
69046
|
}
|
|
69008
|
-
this.detailTemplate.changes.subscribe(() => this.trackChanges = (_, rec) => (rec?.detailsData !== undefined ? rec.detailsData : rec));
|
|
69009
69047
|
if (this.hideGroupedColumns && this._columns && this.groupingExpressions) {
|
|
69010
69048
|
this._setGroupColsVisibility(this.hideGroupedColumns);
|
|
69011
69049
|
}
|
|
@@ -69044,6 +69082,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
69044
69082
|
*/
|
|
69045
69083
|
ngOnInit() {
|
|
69046
69084
|
super.ngOnInit();
|
|
69085
|
+
this.trackChanges = (_, rec) => (rec?.detailsData !== undefined ? rec.detailsData : rec);
|
|
69047
69086
|
this.onGroupingDone.pipe(takeUntil(this.destroy$)).subscribe((args) => {
|
|
69048
69087
|
this.crudService.endEdit(false);
|
|
69049
69088
|
this.summaryService.updateSummaryCache(args);
|
|
@@ -83956,14 +83995,14 @@ class IgxDateRangePickerComponent extends PickerBaseDirective {
|
|
|
83956
83995
|
this.onValidatorChange = noop;
|
|
83957
83996
|
this.onStatusChanged = () => {
|
|
83958
83997
|
if (this.inputGroup) {
|
|
83959
|
-
this.inputDirective.valid = this.isTouchedOrDirty
|
|
83998
|
+
this.inputDirective.valid = this.isTouchedOrDirty && !this._ngControl.disabled
|
|
83960
83999
|
? this.getInputState(this.inputGroup.isFocused)
|
|
83961
84000
|
: IgxInputState.INITIAL;
|
|
83962
84001
|
}
|
|
83963
84002
|
else if (this.hasProjectedInputs) {
|
|
83964
84003
|
this.projectedInputs
|
|
83965
84004
|
.forEach(i => {
|
|
83966
|
-
i.inputDirective.valid = this.isTouchedOrDirty
|
|
84005
|
+
i.inputDirective.valid = this.isTouchedOrDirty && !this._ngControl.disabled
|
|
83967
84006
|
? this.getInputState(i.isFocused)
|
|
83968
84007
|
: IgxInputState.INITIAL;
|
|
83969
84008
|
;
|