igniteui-angular 13.2.10 → 13.2.13
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 i4 from '@angular/common';
|
|
8
8
|
import { isPlatformBrowser, formatDate as formatDate$1, CurrencyPipe, formatPercent, formatNumber, getLocaleCurrencyCode, DatePipe, DOCUMENT, CommonModule, FormatWidth, getLocaleDateFormat, 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$1 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);
|
|
@@ -15868,7 +15868,7 @@ class IgxDragDirective {
|
|
|
15868
15868
|
// Check for shadowRoot instance and use it if present
|
|
15869
15869
|
for (const elFromPoint of elementsFromPoint) {
|
|
15870
15870
|
if (!!elFromPoint?.shadowRoot) {
|
|
15871
|
-
targetElements = targetElements.concat(this.getFromShadowRoot(elFromPoint, pageX, pageY));
|
|
15871
|
+
targetElements = targetElements.concat(this.getFromShadowRoot(elFromPoint, pageX, pageY, elementsFromPoint));
|
|
15872
15872
|
}
|
|
15873
15873
|
else if (targetElements.indexOf(elFromPoint) === -1) {
|
|
15874
15874
|
targetElements.push(elFromPoint);
|
|
@@ -15902,13 +15902,15 @@ class IgxDragDirective {
|
|
|
15902
15902
|
* @hidden
|
|
15903
15903
|
* Traverse shadow dom in depth.
|
|
15904
15904
|
*/
|
|
15905
|
-
getFromShadowRoot(elem, pageX, pageY) {
|
|
15905
|
+
getFromShadowRoot(elem, pageX, pageY, parentDomElems) {
|
|
15906
15906
|
const elementsFromPoint = elem.shadowRoot.elementsFromPoint(pageX, pageY);
|
|
15907
|
-
|
|
15908
|
-
|
|
15907
|
+
const shadowElements = elementsFromPoint.filter(cur => parentDomElems.indexOf(cur) === -1);
|
|
15908
|
+
let res = [];
|
|
15909
|
+
for (const elFromPoint of shadowElements) {
|
|
15909
15910
|
if (!!elFromPoint?.shadowRoot && elFromPoint.shadowRoot !== elem.shadowRoot) {
|
|
15910
|
-
res = res.concat(this.getFromShadowRoot(elFromPoint, pageX, pageY));
|
|
15911
|
+
res = res.concat(this.getFromShadowRoot(elFromPoint, pageX, pageY, elementsFromPoint));
|
|
15911
15912
|
}
|
|
15913
|
+
res.push(elFromPoint);
|
|
15912
15914
|
}
|
|
15913
15915
|
return res;
|
|
15914
15916
|
}
|
|
@@ -17917,6 +17919,11 @@ let nextId$3 = 0;
|
|
|
17917
17919
|
class IgxRadioComponent {
|
|
17918
17920
|
constructor(cdr) {
|
|
17919
17921
|
this.cdr = cdr;
|
|
17922
|
+
/**
|
|
17923
|
+
* @hidden
|
|
17924
|
+
* @internal
|
|
17925
|
+
*/
|
|
17926
|
+
this.destroy$ = new Subject();
|
|
17920
17927
|
/**
|
|
17921
17928
|
* Sets/gets the `id` of the radio component.
|
|
17922
17929
|
* If not set, the `id` of the first radio component will be `"igx-radio-0"`.
|
|
@@ -18090,6 +18097,14 @@ class IgxRadioComponent {
|
|
|
18090
18097
|
set disabled(value) {
|
|
18091
18098
|
this._disabled = (value === '') || value;
|
|
18092
18099
|
}
|
|
18100
|
+
/**
|
|
18101
|
+
* @hidden
|
|
18102
|
+
* @internal
|
|
18103
|
+
*/
|
|
18104
|
+
ngOnDestroy() {
|
|
18105
|
+
this.destroy$.next(true);
|
|
18106
|
+
this.destroy$.complete();
|
|
18107
|
+
}
|
|
18093
18108
|
/**
|
|
18094
18109
|
* @hidden
|
|
18095
18110
|
* @internal
|
|
@@ -18389,6 +18404,11 @@ class IgxRadioGroupDirective {
|
|
|
18389
18404
|
* @internal
|
|
18390
18405
|
*/
|
|
18391
18406
|
this.destroy$ = new Subject();
|
|
18407
|
+
/**
|
|
18408
|
+
* @hidden
|
|
18409
|
+
* @internal
|
|
18410
|
+
*/
|
|
18411
|
+
this.queryChange$ = new Subject();
|
|
18392
18412
|
}
|
|
18393
18413
|
/**
|
|
18394
18414
|
* Sets/gets the `value` attribute.
|
|
@@ -18534,8 +18554,9 @@ class IgxRadioGroupDirective {
|
|
|
18534
18554
|
// The initial value can possibly be set by NgModel and it is possible that
|
|
18535
18555
|
// the OnInit of the NgModel occurs after the OnInit of this class.
|
|
18536
18556
|
this._isInitialized = true;
|
|
18537
|
-
|
|
18538
|
-
this.
|
|
18557
|
+
this.radioButtons.changes.pipe(startWith(0), takeUntil(this.destroy$)).subscribe(() => {
|
|
18558
|
+
this.queryChange$.next();
|
|
18559
|
+
setTimeout(() => this._initRadioButtons());
|
|
18539
18560
|
});
|
|
18540
18561
|
}
|
|
18541
18562
|
/**
|
|
@@ -18613,7 +18634,7 @@ class IgxRadioGroupDirective {
|
|
|
18613
18634
|
button.checked = true;
|
|
18614
18635
|
this._selected = button;
|
|
18615
18636
|
}
|
|
18616
|
-
button.change.pipe(takeUntil(this.destroy$)).subscribe((ev) => this._selectedRadioButtonChanged(ev));
|
|
18637
|
+
button.change.pipe(takeUntil(button.destroy$), takeUntil(this.destroy$), takeUntil(this.queryChange$)).subscribe((ev) => this._selectedRadioButtonChanged(ev));
|
|
18617
18638
|
});
|
|
18618
18639
|
}
|
|
18619
18640
|
}
|
|
@@ -24208,9 +24229,13 @@ class IgxGridSelectionService {
|
|
|
24208
24229
|
*/
|
|
24209
24230
|
this.pointerEventInGridBody = false;
|
|
24210
24231
|
this._ranges = new Set();
|
|
24211
|
-
this.pointerOriginHandler = () => {
|
|
24232
|
+
this.pointerOriginHandler = (event) => {
|
|
24212
24233
|
this.pointerEventInGridBody = false;
|
|
24213
24234
|
document.body.removeEventListener('pointerup', this.pointerOriginHandler);
|
|
24235
|
+
const targetTagName = event.target.tagName.toLowerCase();
|
|
24236
|
+
if (targetTagName !== 'igx-grid-cell' && targetTagName !== 'igx-tree-grid-cell') {
|
|
24237
|
+
this.pointerUp(this._lastSelectedNode, this.grid.rangeSelected, true);
|
|
24238
|
+
}
|
|
24214
24239
|
};
|
|
24215
24240
|
this.initPointerState();
|
|
24216
24241
|
this.initKeyboardState();
|
|
@@ -24327,6 +24352,7 @@ class IgxGridSelectionService {
|
|
|
24327
24352
|
* and the start node of the `state`.
|
|
24328
24353
|
*/
|
|
24329
24354
|
generateRange(node, state) {
|
|
24355
|
+
this._lastSelectedNode = node;
|
|
24330
24356
|
if (!state) {
|
|
24331
24357
|
return {
|
|
24332
24358
|
rowStart: node.row,
|
|
@@ -24444,8 +24470,8 @@ class IgxGridSelectionService {
|
|
|
24444
24470
|
}
|
|
24445
24471
|
return true;
|
|
24446
24472
|
}
|
|
24447
|
-
pointerUp(node, emitter) {
|
|
24448
|
-
if (this.dragMode) {
|
|
24473
|
+
pointerUp(node, emitter, firedOutsideGrid) {
|
|
24474
|
+
if (this.dragMode || firedOutsideGrid) {
|
|
24449
24475
|
this.restoreTextSelection();
|
|
24450
24476
|
this.addRangeMeta(node, this.pointerState);
|
|
24451
24477
|
this.mergeMap(this.selection, this.temp);
|
|
@@ -38424,6 +38450,7 @@ class IgxDatePickerComponent extends PickerBaseDirective {
|
|
|
38424
38450
|
this._onTouchedCallback = noop;
|
|
38425
38451
|
this._onValidatorChange = noop;
|
|
38426
38452
|
this.onStatusChanged = () => {
|
|
38453
|
+
this.disabled = this._ngControl.disabled;
|
|
38427
38454
|
this.updateValidity();
|
|
38428
38455
|
this.inputGroup.isRequired = this.required;
|
|
38429
38456
|
};
|
|
@@ -42381,7 +42408,8 @@ class IgxTimePickerComponent extends PickerBaseDirective {
|
|
|
42381
42408
|
}
|
|
42382
42409
|
onStatusChanged() {
|
|
42383
42410
|
if ((this._ngControl.control.touched || this._ngControl.control.dirty) &&
|
|
42384
|
-
(this._ngControl.control.validator || this._ngControl.control.asyncValidator)
|
|
42411
|
+
(this._ngControl.control.validator || this._ngControl.control.asyncValidator) &&
|
|
42412
|
+
!this._ngControl.disabled) {
|
|
42385
42413
|
if (this._inputGroup.isFocused) {
|
|
42386
42414
|
this.inputDirective.valid = this._ngControl.valid ? IgxInputState.VALID : IgxInputState.INVALID;
|
|
42387
42415
|
}
|
|
@@ -46213,6 +46241,9 @@ class IgxTreeNodeComponent extends ToggleAnimationPlayer {
|
|
|
46213
46241
|
* ```
|
|
46214
46242
|
*/
|
|
46215
46243
|
expand() {
|
|
46244
|
+
if (this.expanded && !this.treeService.collapsingNodes.has(this)) {
|
|
46245
|
+
return;
|
|
46246
|
+
}
|
|
46216
46247
|
const args = {
|
|
46217
46248
|
owner: this.tree,
|
|
46218
46249
|
node: this,
|
|
@@ -46241,6 +46272,9 @@ class IgxTreeNodeComponent extends ToggleAnimationPlayer {
|
|
|
46241
46272
|
* ```
|
|
46242
46273
|
*/
|
|
46243
46274
|
collapse() {
|
|
46275
|
+
if (!this.expanded || this.treeService.collapsingNodes.has(this)) {
|
|
46276
|
+
return;
|
|
46277
|
+
}
|
|
46244
46278
|
const args = {
|
|
46245
46279
|
owner: this.tree,
|
|
46246
46280
|
node: this,
|
|
@@ -55987,10 +56021,10 @@ class IgxPageNavigationComponent {
|
|
|
55987
56021
|
}
|
|
55988
56022
|
}
|
|
55989
56023
|
IgxPageNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: IgxPageNavigationComponent, deps: [{ token: IgxPaginatorComponent, host: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
55990
|
-
IgxPageNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", 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", components: [{ type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }], directives: [{ type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }] });
|
|
56024
|
+
IgxPageNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", 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", components: [{ type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }], directives: [{ type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }] });
|
|
55991
56025
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: IgxPageNavigationComponent, decorators: [{
|
|
55992
56026
|
type: Component,
|
|
55993
|
-
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" }]
|
|
56027
|
+
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" }]
|
|
55994
56028
|
}], ctorParameters: function () { return [{ type: IgxPaginatorComponent, decorators: [{
|
|
55995
56029
|
type: Host
|
|
55996
56030
|
}] }]; }, propDecorators: { cssClass: [{
|
|
@@ -58606,8 +58640,13 @@ class IgxGridNavigationService {
|
|
|
58606
58640
|
if (shouldClearSelection || (this.grid.cellSelection !== GridSelectionMode.multiple)) {
|
|
58607
58641
|
this.grid.clearCellSelection();
|
|
58608
58642
|
this.grid.navigateTo(this.activeNode.row, this.activeNode.column, (obj) => {
|
|
58609
|
-
obj.target
|
|
58610
|
-
|
|
58643
|
+
if (this.activeNode.row === obj.target.row.index) {
|
|
58644
|
+
obj.target?.activate(event);
|
|
58645
|
+
this.grid.cdr.detectChanges();
|
|
58646
|
+
}
|
|
58647
|
+
else {
|
|
58648
|
+
this.grid.navigateTo(this.activeNode.row, this.activeNode.column);
|
|
58649
|
+
}
|
|
58611
58650
|
});
|
|
58612
58651
|
}
|
|
58613
58652
|
else {
|
|
@@ -68896,7 +68935,6 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
68896
68935
|
if (this.groupTemplate) {
|
|
68897
68936
|
this._groupRowTemplate = this.groupTemplate.template;
|
|
68898
68937
|
}
|
|
68899
|
-
this.detailTemplate.changes.subscribe(() => this.trackChanges = (_, rec) => (rec?.detailsData !== undefined ? rec.detailsData : rec));
|
|
68900
68938
|
if (this.hideGroupedColumns && this._columns && this.groupingExpressions) {
|
|
68901
68939
|
this._setGroupColsVisibility(this.hideGroupedColumns);
|
|
68902
68940
|
}
|
|
@@ -68935,6 +68973,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
68935
68973
|
*/
|
|
68936
68974
|
ngOnInit() {
|
|
68937
68975
|
super.ngOnInit();
|
|
68976
|
+
this.trackChanges = (_, rec) => (rec?.detailsData !== undefined ? rec.detailsData : rec);
|
|
68938
68977
|
this.onGroupingDone.pipe(takeUntil(this.destroy$)).subscribe((args) => {
|
|
68939
68978
|
this.crudService.endEdit(false);
|
|
68940
68979
|
this.summaryService.updateSummaryCache(args);
|
|
@@ -83890,14 +83929,14 @@ class IgxDateRangePickerComponent extends PickerBaseDirective {
|
|
|
83890
83929
|
this.onValidatorChange = noop;
|
|
83891
83930
|
this.onStatusChanged = () => {
|
|
83892
83931
|
if (this.inputGroup) {
|
|
83893
|
-
this.inputDirective.valid = this.isTouchedOrDirty
|
|
83932
|
+
this.inputDirective.valid = this.isTouchedOrDirty && !this._ngControl.disabled
|
|
83894
83933
|
? this.getInputState(this.inputGroup.isFocused)
|
|
83895
83934
|
: IgxInputState.INITIAL;
|
|
83896
83935
|
}
|
|
83897
83936
|
else if (this.hasProjectedInputs) {
|
|
83898
83937
|
this.projectedInputs
|
|
83899
83938
|
.forEach(i => {
|
|
83900
|
-
i.inputDirective.valid = this.isTouchedOrDirty
|
|
83939
|
+
i.inputDirective.valid = this.isTouchedOrDirty && !this._ngControl.disabled
|
|
83901
83940
|
? this.getInputState(i.isFocused)
|
|
83902
83941
|
: IgxInputState.INITIAL;
|
|
83903
83942
|
;
|