igniteui-angular 13.2.11 → 13.2.12

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.
@@ -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';
@@ -17919,6 +17919,11 @@ let nextId$3 = 0;
17919
17919
  class IgxRadioComponent {
17920
17920
  constructor(cdr) {
17921
17921
  this.cdr = cdr;
17922
+ /**
17923
+ * @hidden
17924
+ * @internal
17925
+ */
17926
+ this.destroy$ = new Subject();
17922
17927
  /**
17923
17928
  * Sets/gets the `id` of the radio component.
17924
17929
  * If not set, the `id` of the first radio component will be `"igx-radio-0"`.
@@ -18092,6 +18097,14 @@ class IgxRadioComponent {
18092
18097
  set disabled(value) {
18093
18098
  this._disabled = (value === '') || value;
18094
18099
  }
18100
+ /**
18101
+ * @hidden
18102
+ * @internal
18103
+ */
18104
+ ngOnDestroy() {
18105
+ this.destroy$.next(true);
18106
+ this.destroy$.complete();
18107
+ }
18095
18108
  /**
18096
18109
  * @hidden
18097
18110
  * @internal
@@ -18391,6 +18404,11 @@ class IgxRadioGroupDirective {
18391
18404
  * @internal
18392
18405
  */
18393
18406
  this.destroy$ = new Subject();
18407
+ /**
18408
+ * @hidden
18409
+ * @internal
18410
+ */
18411
+ this.queryChange$ = new Subject();
18394
18412
  }
18395
18413
  /**
18396
18414
  * Sets/gets the `value` attribute.
@@ -18536,8 +18554,9 @@ class IgxRadioGroupDirective {
18536
18554
  // The initial value can possibly be set by NgModel and it is possible that
18537
18555
  // the OnInit of the NgModel occurs after the OnInit of this class.
18538
18556
  this._isInitialized = true;
18539
- setTimeout(() => {
18540
- this._initRadioButtons();
18557
+ this.radioButtons.changes.pipe(startWith(0), takeUntil(this.destroy$)).subscribe(() => {
18558
+ this.queryChange$.next();
18559
+ setTimeout(() => this._initRadioButtons());
18541
18560
  });
18542
18561
  }
18543
18562
  /**
@@ -18615,7 +18634,7 @@ class IgxRadioGroupDirective {
18615
18634
  button.checked = true;
18616
18635
  this._selected = button;
18617
18636
  }
18618
- 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));
18619
18638
  });
18620
18639
  }
18621
18640
  }
@@ -24210,9 +24229,13 @@ class IgxGridSelectionService {
24210
24229
  */
24211
24230
  this.pointerEventInGridBody = false;
24212
24231
  this._ranges = new Set();
24213
- this.pointerOriginHandler = () => {
24232
+ this.pointerOriginHandler = (event) => {
24214
24233
  this.pointerEventInGridBody = false;
24215
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
+ }
24216
24239
  };
24217
24240
  this.initPointerState();
24218
24241
  this.initKeyboardState();
@@ -24329,6 +24352,7 @@ class IgxGridSelectionService {
24329
24352
  * and the start node of the `state`.
24330
24353
  */
24331
24354
  generateRange(node, state) {
24355
+ this._lastSelectedNode = node;
24332
24356
  if (!state) {
24333
24357
  return {
24334
24358
  rowStart: node.row,
@@ -24446,8 +24470,8 @@ class IgxGridSelectionService {
24446
24470
  }
24447
24471
  return true;
24448
24472
  }
24449
- pointerUp(node, emitter) {
24450
- if (this.dragMode) {
24473
+ pointerUp(node, emitter, firedOutsideGrid) {
24474
+ if (this.dragMode || firedOutsideGrid) {
24451
24475
  this.restoreTextSelection();
24452
24476
  this.addRangeMeta(node, this.pointerState);
24453
24477
  this.mergeMap(this.selection, this.temp);
@@ -58614,8 +58638,13 @@ class IgxGridNavigationService {
58614
58638
  if (shouldClearSelection || (this.grid.cellSelection !== GridSelectionMode.multiple)) {
58615
58639
  this.grid.clearCellSelection();
58616
58640
  this.grid.navigateTo(this.activeNode.row, this.activeNode.column, (obj) => {
58617
- obj.target?.activate(event);
58618
- this.grid.cdr.detectChanges();
58641
+ if (this.activeNode.row === obj.target.row.index) {
58642
+ obj.target?.activate(event);
58643
+ this.grid.cdr.detectChanges();
58644
+ }
58645
+ else {
58646
+ this.grid.navigateTo(this.activeNode.row, this.activeNode.column);
58647
+ }
58619
58648
  });
58620
58649
  }
58621
58650
  else {