igniteui-angular 12.3.32 → 12.3.35

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.
@@ -8133,9 +8133,13 @@
8133
8133
  */
8134
8134
  this.pointerEventInGridBody = false;
8135
8135
  this._ranges = new Set();
8136
- this.pointerOriginHandler = function () {
8136
+ this.pointerOriginHandler = function (event) {
8137
8137
  _this.pointerEventInGridBody = false;
8138
8138
  document.body.removeEventListener('pointerup', _this.pointerOriginHandler);
8139
+ var targetTagName = event.target.tagName.toLowerCase();
8140
+ if (targetTagName !== 'igx-grid-cell' && targetTagName !== 'igx-tree-grid-cell') {
8141
+ _this.pointerUp(_this._lastSelectedNode, _this.grid.rangeSelected, true);
8142
+ }
8139
8143
  };
8140
8144
  this.initPointerState();
8141
8145
  this.initKeyboardState();
@@ -8261,6 +8265,7 @@
8261
8265
  * and the start node of the `state`.
8262
8266
  */
8263
8267
  IgxGridSelectionService.prototype.generateRange = function (node, state) {
8268
+ this._lastSelectedNode = node;
8264
8269
  if (!state) {
8265
8270
  return {
8266
8271
  rowStart: node.row,
@@ -8382,9 +8387,9 @@
8382
8387
  }
8383
8388
  return true;
8384
8389
  };
8385
- IgxGridSelectionService.prototype.pointerUp = function (node, emitter) {
8390
+ IgxGridSelectionService.prototype.pointerUp = function (node, emitter, firedOutsideGrid) {
8386
8391
  var _this = this;
8387
- if (this.dragMode) {
8392
+ if (this.dragMode || firedOutsideGrid) {
8388
8393
  this.restoreTextSelection();
8389
8394
  this.addRangeMeta(node, this.pointerState);
8390
8395
  this.mergeMap(this.selection, this.temp);
@@ -23990,7 +23995,7 @@
23990
23995
  for (var elementsFromPoint_1 = __values(elementsFromPoint), elementsFromPoint_1_1 = elementsFromPoint_1.next(); !elementsFromPoint_1_1.done; elementsFromPoint_1_1 = elementsFromPoint_1.next()) {
23991
23996
  var elFromPoint = elementsFromPoint_1_1.value;
23992
23997
  if (!!(elFromPoint === null || elFromPoint === void 0 ? void 0 : elFromPoint.shadowRoot)) {
23993
- targetElements = targetElements.concat(this.getFromShadowRoot(elFromPoint, pageX, pageY));
23998
+ targetElements = targetElements.concat(this.getFromShadowRoot(elFromPoint, pageX, pageY, elementsFromPoint));
23994
23999
  }
23995
24000
  else if (targetElements.indexOf(elFromPoint) === -1) {
23996
24001
  targetElements.push(elFromPoint);
@@ -24042,22 +24047,24 @@
24042
24047
  * @hidden
24043
24048
  * Traverse shadow dom in depth.
24044
24049
  */
24045
- IgxDragDirective.prototype.getFromShadowRoot = function (elem, pageX, pageY) {
24050
+ IgxDragDirective.prototype.getFromShadowRoot = function (elem, pageX, pageY, parentDomElems) {
24046
24051
  var e_3, _a;
24047
24052
  var elementsFromPoint = elem.shadowRoot.elementsFromPoint(pageX, pageY);
24048
- var res = elementsFromPoint;
24053
+ var shadowElements = elementsFromPoint.filter(function (cur) { return parentDomElems.indexOf(cur) === -1; });
24054
+ var res = [];
24049
24055
  try {
24050
- for (var elementsFromPoint_2 = __values(elementsFromPoint), elementsFromPoint_2_1 = elementsFromPoint_2.next(); !elementsFromPoint_2_1.done; elementsFromPoint_2_1 = elementsFromPoint_2.next()) {
24051
- var elFromPoint = elementsFromPoint_2_1.value;
24056
+ for (var shadowElements_1 = __values(shadowElements), shadowElements_1_1 = shadowElements_1.next(); !shadowElements_1_1.done; shadowElements_1_1 = shadowElements_1.next()) {
24057
+ var elFromPoint = shadowElements_1_1.value;
24052
24058
  if (!!(elFromPoint === null || elFromPoint === void 0 ? void 0 : elFromPoint.shadowRoot) && elFromPoint.shadowRoot !== elem.shadowRoot) {
24053
- res = res.concat(this.getFromShadowRoot(elFromPoint, pageX, pageY));
24059
+ res = res.concat(this.getFromShadowRoot(elFromPoint, pageX, pageY, elementsFromPoint));
24054
24060
  }
24061
+ res.push(elFromPoint);
24055
24062
  }
24056
24063
  }
24057
24064
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
24058
24065
  finally {
24059
24066
  try {
24060
- if (elementsFromPoint_2_1 && !elementsFromPoint_2_1.done && (_a = elementsFromPoint_2.return)) _a.call(elementsFromPoint_2);
24067
+ if (shadowElements_1_1 && !shadowElements_1_1.done && (_a = shadowElements_1.return)) _a.call(shadowElements_1);
24061
24068
  }
24062
24069
  finally { if (e_3) throw e_3.error; }
24063
24070
  }
@@ -25935,6 +25942,11 @@
25935
25942
  * @hidden
25936
25943
  */
25937
25944
  this.inputId = this.id + "-input";
25945
+ /**
25946
+ * @hidden
25947
+ * @internal
25948
+ */
25949
+ this.destroy$ = new rxjs.Subject();
25938
25950
  /**
25939
25951
  * @hidden
25940
25952
  * @internal
@@ -26022,6 +26034,14 @@
26022
26034
  IgxRadioComponent.prototype._clicked = function () {
26023
26035
  this.select();
26024
26036
  };
26037
+ /**
26038
+ * @hidden
26039
+ * @internal
26040
+ */
26041
+ IgxRadioComponent.prototype.ngOnDestroy = function () {
26042
+ this.destroy$.next(true);
26043
+ this.destroy$.complete();
26044
+ };
26025
26045
  /**
26026
26046
  * Selects the current radio button.
26027
26047
  * ```typescript
@@ -26262,6 +26282,11 @@
26262
26282
  * @internal
26263
26283
  */
26264
26284
  this.destroy$ = new rxjs.Subject();
26285
+ /**
26286
+ * @hidden
26287
+ * @internal
26288
+ */
26289
+ this.queryChange$ = new rxjs.Subject();
26265
26290
  }
26266
26291
  Object.defineProperty(IgxRadioGroupDirective.prototype, "value", {
26267
26292
  /**
@@ -26436,8 +26461,9 @@
26436
26461
  // The initial value can possibly be set by NgModel and it is possible that
26437
26462
  // the OnInit of the NgModel occurs after the OnInit of this class.
26438
26463
  this._isInitialized = true;
26439
- setTimeout(function () {
26440
- _this._initRadioButtons();
26464
+ this.radioButtons.changes.pipe(operators.startWith(0), operators.takeUntil(this.destroy$)).subscribe(function () {
26465
+ _this.queryChange$.next();
26466
+ setTimeout(function () { return _this._initRadioButtons(); });
26441
26467
  });
26442
26468
  };
26443
26469
  /**
@@ -26510,7 +26536,7 @@
26510
26536
  button.checked = true;
26511
26537
  _this._selected = button;
26512
26538
  }
26513
- button.change.pipe(operators.takeUntil(_this.destroy$)).subscribe(function (ev) { return _this._selectedRadioButtonChanged(ev); });
26539
+ button.change.pipe(operators.takeUntil(button.destroy$), operators.takeUntil(_this.destroy$), operators.takeUntil(_this.queryChange$)).subscribe(function (ev) { return _this._selectedRadioButtonChanged(ev); });
26514
26540
  });
26515
26541
  }
26516
26542
  };
@@ -48753,8 +48779,13 @@
48753
48779
  this.grid.clearCellSelection();
48754
48780
  this.grid.navigateTo(this.activeNode.row, this.activeNode.column, function (obj) {
48755
48781
  var _a;
48756
- (_a = obj.target) === null || _a === void 0 ? void 0 : _a.activate(event);
48757
- _this.grid.cdr.detectChanges();
48782
+ if (_this.activeNode.row === obj.target.row.index) {
48783
+ (_a = obj.target) === null || _a === void 0 ? void 0 : _a.activate(event);
48784
+ _this.grid.cdr.detectChanges();
48785
+ }
48786
+ else {
48787
+ _this.grid.navigateTo(_this.activeNode.row, _this.activeNode.column);
48788
+ }
48758
48789
  });
48759
48790
  }
48760
48791
  else {
@@ -60174,6 +60205,9 @@
60174
60205
  * @internal
60175
60206
  */
60176
60207
  IgxGridBaseDirective.prototype.copyHandler = function (event) {
60208
+ if (this.isFilterInput(event)) {
60209
+ return;
60210
+ }
60177
60211
  var selectedColumns = this.gridAPI.grid.selectedColumns();
60178
60212
  var columnData = this.getSelectedColumnsData(this.clipboardOptions.copyFormatters, this.clipboardOptions.copyHeaders);
60179
60213
  var selectedData;
@@ -61913,6 +61947,18 @@
61913
61947
  return !rec.expression && !rec.summaries && !rec.childGridsData && !rec.detailsData &&
61914
61948
  !this.isGhostRecordAtIndex(dataViewIndex);
61915
61949
  };
61950
+ IgxGridBaseDirective.prototype.isFilterInput = function (event) {
61951
+ var eventComposedPath = event.composedPath ? event.composedPath() : [];
61952
+ if (!eventComposedPath.length) {
61953
+ var target = event.target;
61954
+ while (target.parentNode !== null) {
61955
+ eventComposedPath.push(target);
61956
+ target = target.parentNode;
61957
+ }
61958
+ }
61959
+ var eventPathElements = eventComposedPath.map(function (el) { var _a; return (_a = el.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase(); });
61960
+ return eventPathElements.includes('igx-grid-filtering-row') || eventPathElements.includes('igx-grid-filtering-cell');
61961
+ };
61916
61962
  /**
61917
61963
  * Returns if the record at the specified data view index is a ghost.
61918
61964
  * If record is pinned but is not in pinned area then it is a ghost record.
@@ -64404,7 +64450,7 @@
64404
64450
  IgxPageNavigationComponent.decorators = [
64405
64451
  { type: i0.Component, args: [{
64406
64452
  selector: 'igx-page-nav',
64407
- 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 >&nbsp;{{\n paginator.resourceStrings.igx_paginator_pager_text\n }}&nbsp;</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"
64453
+ 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 >&nbsp;{{\n paginator.resourceStrings.igx_paginator_pager_text\n }}&nbsp;</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"
64408
64454
  },] }
64409
64455
  ];
64410
64456
  IgxPageNavigationComponent.ctorParameters = function () { return [
@@ -70171,7 +70217,6 @@
70171
70217
  * @hidden @internal
70172
70218
  */
70173
70219
  IgxGridComponent.prototype.ngAfterContentInit = function () {
70174
- var _this = this;
70175
70220
  _super.prototype.ngAfterContentInit.call(this);
70176
70221
  if (this.allowFiltering && this.hasColumnLayouts) {
70177
70222
  this.filterMode = FilterMode.excelStyleFilter;
@@ -70179,7 +70224,6 @@
70179
70224
  if (this.groupTemplate) {
70180
70225
  this._groupRowTemplate = this.groupTemplate.template;
70181
70226
  }
70182
- this.detailTemplate.changes.subscribe(function () { return _this.trackChanges = function (_, rec) { return ((rec === null || rec === void 0 ? void 0 : rec.detailsData) !== undefined ? rec.detailsData : rec); }; });
70183
70227
  if (this.hideGroupedColumns && this._columns && this.groupingExpressions) {
70184
70228
  this._setGroupColsVisibility(this.hideGroupedColumns);
70185
70229
  }
@@ -70220,6 +70264,7 @@
70220
70264
  IgxGridComponent.prototype.ngOnInit = function () {
70221
70265
  var _this = this;
70222
70266
  _super.prototype.ngOnInit.call(this);
70267
+ this.trackChanges = function (_, rec) { return ((rec === null || rec === void 0 ? void 0 : rec.detailsData) !== undefined ? rec.detailsData : rec); };
70223
70268
  this.onGroupingDone.pipe(operators.takeUntil(this.destroy$)).subscribe(function (args) {
70224
70269
  _this.crudService.endEdit(false);
70225
70270
  _this.summaryService.updateSummaryCache(args);