igniteui-angular 14.0.12 → 14.0.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.
@@ -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';
@@ -17941,6 +17941,11 @@ let nextId$3 = 0;
17941
17941
  class IgxRadioComponent {
17942
17942
  constructor(cdr) {
17943
17943
  this.cdr = cdr;
17944
+ /**
17945
+ * @hidden
17946
+ * @internal
17947
+ */
17948
+ this.destroy$ = new Subject();
17944
17949
  /**
17945
17950
  * Sets/gets the `id` of the radio component.
17946
17951
  * If not set, the `id` of the first radio component will be `"igx-radio-0"`.
@@ -18114,6 +18119,14 @@ class IgxRadioComponent {
18114
18119
  set disabled(value) {
18115
18120
  this._disabled = (value === '') || value;
18116
18121
  }
18122
+ /**
18123
+ * @hidden
18124
+ * @internal
18125
+ */
18126
+ ngOnDestroy() {
18127
+ this.destroy$.next(true);
18128
+ this.destroy$.complete();
18129
+ }
18117
18130
  /**
18118
18131
  * @hidden
18119
18132
  * @internal
@@ -18413,6 +18426,11 @@ class IgxRadioGroupDirective {
18413
18426
  * @internal
18414
18427
  */
18415
18428
  this.destroy$ = new Subject();
18429
+ /**
18430
+ * @hidden
18431
+ * @internal
18432
+ */
18433
+ this.queryChange$ = new Subject();
18416
18434
  }
18417
18435
  /**
18418
18436
  * Sets/gets the `value` attribute.
@@ -18558,8 +18576,9 @@ class IgxRadioGroupDirective {
18558
18576
  // The initial value can possibly be set by NgModel and it is possible that
18559
18577
  // the OnInit of the NgModel occurs after the OnInit of this class.
18560
18578
  this._isInitialized = true;
18561
- setTimeout(() => {
18562
- this._initRadioButtons();
18579
+ this.radioButtons.changes.pipe(startWith(0), takeUntil(this.destroy$)).subscribe(() => {
18580
+ this.queryChange$.next();
18581
+ setTimeout(() => this._initRadioButtons());
18563
18582
  });
18564
18583
  }
18565
18584
  /**
@@ -18637,7 +18656,7 @@ class IgxRadioGroupDirective {
18637
18656
  button.checked = true;
18638
18657
  this._selected = button;
18639
18658
  }
18640
- 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));
18641
18660
  });
18642
18661
  }
18643
18662
  }
@@ -24232,9 +24251,13 @@ class IgxGridSelectionService {
24232
24251
  */
24233
24252
  this.pointerEventInGridBody = false;
24234
24253
  this._ranges = new Set();
24235
- this.pointerOriginHandler = () => {
24254
+ this.pointerOriginHandler = (event) => {
24236
24255
  this.pointerEventInGridBody = false;
24237
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
+ }
24238
24261
  };
24239
24262
  this.initPointerState();
24240
24263
  this.initKeyboardState();
@@ -24351,6 +24374,7 @@ class IgxGridSelectionService {
24351
24374
  * and the start node of the `state`.
24352
24375
  */
24353
24376
  generateRange(node, state) {
24377
+ this._lastSelectedNode = node;
24354
24378
  if (!state) {
24355
24379
  return {
24356
24380
  rowStart: node.row,
@@ -24468,8 +24492,8 @@ class IgxGridSelectionService {
24468
24492
  }
24469
24493
  return true;
24470
24494
  }
24471
- pointerUp(node, emitter) {
24472
- if (this.dragMode) {
24495
+ pointerUp(node, emitter, firedOutsideGrid) {
24496
+ if (this.dragMode || firedOutsideGrid) {
24473
24497
  this.restoreTextSelection();
24474
24498
  this.addRangeMeta(node, this.pointerState);
24475
24499
  this.mergeMap(this.selection, this.temp);
@@ -58723,8 +58747,13 @@ class IgxGridNavigationService {
58723
58747
  if (shouldClearSelection || (this.grid.cellSelection !== GridSelectionMode.multiple)) {
58724
58748
  this.grid.clearCellSelection();
58725
58749
  this.grid.navigateTo(this.activeNode.row, this.activeNode.column, (obj) => {
58726
- obj.target?.activate(event);
58727
- this.grid.cdr.detectChanges();
58750
+ if (this.activeNode.row === obj.target.row.index) {
58751
+ obj.target?.activate(event);
58752
+ this.grid.cdr.detectChanges();
58753
+ }
58754
+ else {
58755
+ this.grid.navigateTo(this.activeNode.row, this.activeNode.column);
58756
+ }
58728
58757
  });
58729
58758
  }
58730
58759
  else {