@progress/kendo-angular-grid 25.4.0-develop.7 → 25.4.0-develop.8

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.
@@ -4,7 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as i0 from '@angular/core';
6
6
  import { EventEmitter, Injectable, SecurityContext, InjectionToken, Optional, Inject, Input, SkipSelf, Directive, isDevMode, QueryList, ContentChildren, ContentChild, Component, forwardRef, Host, Output, HostBinding, HostListener, Pipe, TemplateRef, ViewChild, ViewChildren, ChangeDetectionStrategy, Self, NgZone, ElementRef, ViewContainerRef, ViewEncapsulation, inject, Injector, NgModule } from '@angular/core';
7
- import { merge, of, Subject, zip as zip$1, from, Subscription, interval, fromEvent, Observable, BehaviorSubject } from 'rxjs';
7
+ import { merge, of, Subject, zip as zip$1, from, Subscription, interval, fromEvent, Observable, EMPTY, BehaviorSubject } from 'rxjs';
8
8
  import * as i1$3 from '@progress/kendo-angular-common';
9
9
  import { isDocumentAvailable, Keys, hasClasses as hasClasses$1, isPresent as isPresent$1, normalizeKeys, anyChanged, TemplateContextDirective, DraggableDirective, EventsOutsideAngularDirective, replaceMessagePlaceholder, isChanged as isChanged$1, KendoInput, contains as contains$3, guid, areObjectsEqual, PrefixTemplateDirective, closest as closest$1, hasObservers, ResizeSensorComponent, isFirefox, firefoxMaxHeight, closestInScope as closestInScope$1, isFocusable as isFocusable$1, getLicenseMessage, shouldShowValidationUI, WatermarkOverlayComponent, ComponentNameDirective, KENDO_WEBMCP_HOST, provideComponentName, PreventableEvent as PreventableEvent$1, ResizeBatchService } from '@progress/kendo-angular-common';
10
10
  export { BrowserSupportService, ScrollbarService } from '@progress/kendo-angular-common';
@@ -12,7 +12,7 @@ import * as i1 from '@angular/platform-browser';
12
12
  import * as i1$1 from '@progress/kendo-angular-icons';
13
13
  import { IconWrapperComponent, IconsService, KENDO_ICONS } from '@progress/kendo-angular-icons';
14
14
  import { plusIcon, cancelIcon, lockIcon, unlockIcon, chevronDownIcon, chevronRightIcon, chevronLeftIcon, sortDescSmallIcon, sortAscSmallIcon, filterClearIcon, filterIcon, searchIcon, checkIcon, arrowRotateCcwIcon, columnsIcon, sparklesIcon, fileCsvIcon, filePdfIcon, fileExcelIcon, trashIcon, saveIcon, pencilIcon, chevronUpIcon, displayInlineFlexIcon, maxWidthIcon, stickIcon, unstickIcon, setColumnPositionIcon, slidersIcon, moreVerticalIcon, pinBottomIcon, pinTopIcon, unpinIcon, reorderIcon, pinIcon, minusIcon, insertMiddleIcon, xIcon, xCircleIcon, plusCircleIcon, undoIcon, redoIcon, arrowsSwapIcon, groupIcon, tableWizardIcon, clockArrowRotateIcon, fileClockIcon, zoomSparkleIcon, arrowUpIcon, stopIcon, lightbulbIcon } from '@progress/kendo-svg-icons';
15
- import { switchMap, take, map, filter, takeUntil, switchMapTo, delay, tap, throttleTime, debounceTime, distinctUntilChanged, skip, bufferCount, flatMap } from 'rxjs/operators';
15
+ import { switchMap, take, map, filter, takeUntil, switchMapTo, delay, tap, throttleTime, debounceTime, distinctUntilChanged, skip, startWith, bufferCount, flatMap } from 'rxjs/operators';
16
16
  import * as i1$2 from '@progress/kendo-angular-l10n';
17
17
  import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
18
18
  import * as i58 from '@progress/kendo-angular-pager';
@@ -18950,8 +18950,10 @@ class ColumnHandleDirective {
18950
18950
  .subscribe(this.initState.bind(this)));
18951
18951
  this.subscriptions.add(service.pipe(filter(e => e.type === 'resizeColumn'))
18952
18952
  .subscribe(this.resize.bind(this)));
18953
- this.subscriptions.add(this.service.changes.pipe(filter(e => e.type === 'start'), filter(this.shouldUpdate.bind(this)), take(1) //on first resize only
18954
- ).subscribe(this.initColumnWidth.bind(this)));
18953
+ const columnsChanges = this.ctx.grid?.columnsContainer.changes ?? EMPTY;
18954
+ this.subscriptions.add(columnsChanges.pipe(startWith(null),
18955
+ // Re-sync on the first resize after the column set changes, as the table may stretch the columns
18956
+ switchMap(() => this.service.changes.pipe(filter(e => e.type === 'start'), filter(this.shouldUpdate.bind(this)), take(1)))).subscribe(this.initColumnWidth.bind(this)));
18955
18957
  this.subscriptions.add(this.zone.runOutsideAngular(() => this.draggable.kendoPress.pipe(tap(this.stopPropagation), tap(() => this.service.start(this.column)), switchMap(preventOnDblClick(this.draggable.kendoRelease)), switchMap(createMoveStream(this.service, this.draggable)))
18956
18958
  .subscribe(({ pageX, originalX }) => {
18957
18959
  const delta = pageX - originalX;
@@ -25234,8 +25236,8 @@ const packageMetadata = {
25234
25236
  productName: 'Kendo UI for Angular',
25235
25237
  productCode: 'KENDOUIANGULAR',
25236
25238
  productCodes: ['KENDOUIANGULAR'],
25237
- publishDate: 1792397176,
25238
- version: '25.4.0-develop.7',
25239
+ publishDate: 1792478657,
25240
+ version: '25.4.0-develop.8',
25239
25241
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
25240
25242
  };
25241
25243
 
@@ -28100,6 +28102,8 @@ class TableDirective {
28100
28102
  return this.firstResize ? 0 : null;
28101
28103
  }
28102
28104
  firstResize = false;
28105
+ widthApplied = false;
28106
+ columnsSubscription;
28103
28107
  subscription;
28104
28108
  autoFitSubscription;
28105
28109
  constructor(element, renderer, service, zone, cdr, ctx) {
@@ -28114,6 +28118,8 @@ class TableDirective {
28114
28118
  const obs = this.service
28115
28119
  .changes.pipe(filter(e => this.locked === e.locked));
28116
28120
  this.subscription = obs.pipe(filter(e => e.type === 'start'), tap(this.initState.bind(this)), map(columnsToResize), switchMap((take) => obs.pipe(filter(e => e.type === 'resizeTable'), map(e => e.delta), bufferCount(take)))).subscribe(this.resize.bind(this));
28121
+ this.columnsSubscription = this.ctx.grid?.columnsContainer.changes
28122
+ .subscribe(this.resetWidth.bind(this));
28117
28123
  this.autoFitSubscription = this.service
28118
28124
  .registerTable({
28119
28125
  autoFit: this.autoFitObservable.bind(this),
@@ -28124,11 +28130,29 @@ class TableDirective {
28124
28130
  if (this.subscription) {
28125
28131
  this.subscription.unsubscribe();
28126
28132
  }
28133
+ if (this.columnsSubscription) {
28134
+ this.columnsSubscription.unsubscribe();
28135
+ }
28127
28136
  if (this.autoFitSubscription) {
28128
28137
  this.autoFitSubscription();
28129
28138
  this.autoFitSubscription = null;
28130
28139
  }
28131
28140
  }
28141
+ resetWidth() {
28142
+ if (!this.widthApplied) {
28143
+ return;
28144
+ }
28145
+ this.widthApplied = false;
28146
+ this.firstResize = false;
28147
+ const grid = this.ctx.grid;
28148
+ const boundWidth = this.locked ? grid.lockedWidth : grid.nonLockedWidth;
28149
+ if (boundWidth !== undefined) {
28150
+ this.renderer.setStyle(this.element.nativeElement, 'width', boundWidth + 'px');
28151
+ }
28152
+ else {
28153
+ this.renderer.removeStyle(this.element.nativeElement, 'width');
28154
+ }
28155
+ }
28132
28156
  initState() {
28133
28157
  this.firstResize = true;
28134
28158
  const constrainedWithVirtualColumns = this.ctx.grid?.resizable === 'constrained' && this.virtualColumns;
@@ -28148,6 +28172,7 @@ class TableDirective {
28148
28172
  const width = this.service.originalWidth + delta;
28149
28173
  this.renderer.setStyle(this.element.nativeElement, 'width', width + 'px');
28150
28174
  }
28175
+ this.widthApplied = true;
28151
28176
  this.cdr.detectChanges();
28152
28177
  }
28153
28178
  autoFitObservable(columnInfo) {
package/index.d.ts CHANGED
@@ -14709,11 +14709,14 @@ declare class TableDirective implements OnInit, OnDestroy {
14709
14709
  virtualColumns: boolean;
14710
14710
  get minWidth(): number | null;
14711
14711
  private firstResize;
14712
+ private widthApplied;
14713
+ private columnsSubscription;
14712
14714
  private subscription;
14713
14715
  private autoFitSubscription;
14714
14716
  constructor(element: ElementRef, renderer: Renderer2, service: ColumnResizingService, zone: NgZone, cdr: ChangeDetectorRef, ctx: ContextService);
14715
14717
  ngOnInit(): void;
14716
14718
  ngOnDestroy(): void;
14719
+ private resetWidth;
14717
14720
  private initState;
14718
14721
  private resize;
14719
14722
  private autoFitObservable;
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1792397176,
11
- "version": "25.4.0-develop.7",
10
+ "publishDate": 1792478657,
11
+ "version": "25.4.0-develop.8",
12
12
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
13
13
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-grid",
3
- "version": "25.4.0-develop.7",
3
+ "version": "25.4.0-develop.8",
4
4
  "description": "Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -101,7 +101,7 @@
101
101
  "package": {
102
102
  "productName": "Kendo UI for Angular",
103
103
  "productCode": "KENDOUIANGULAR",
104
- "publishDate": 1792397176,
104
+ "publishDate": 1792478657,
105
105
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
106
106
  }
107
107
  },
@@ -114,32 +114,32 @@
114
114
  "@progress/kendo-data-query": "^1.7.3",
115
115
  "@progress/kendo-drawing": "^1.25.0",
116
116
  "@progress/kendo-licensing": "^1.11.0",
117
- "@progress/kendo-angular-buttons": "25.4.0-develop.7",
118
- "@progress/kendo-angular-common": "25.4.0-develop.7",
119
- "@progress/kendo-angular-dateinputs": "25.4.0-develop.7",
120
- "@progress/kendo-angular-layout": "25.4.0-develop.7",
121
- "@progress/kendo-angular-navigation": "25.4.0-develop.7",
122
- "@progress/kendo-angular-dropdowns": "25.4.0-develop.7",
123
- "@progress/kendo-angular-excel-export": "25.4.0-develop.7",
124
- "@progress/kendo-angular-icons": "25.4.0-develop.7",
125
- "@progress/kendo-angular-indicators": "25.4.0-develop.7",
126
- "@progress/kendo-angular-inputs": "25.4.0-develop.7",
127
- "@progress/kendo-angular-conversational-ui": "25.4.0-develop.7",
128
- "@progress/kendo-angular-intl": "25.4.0-develop.7",
129
- "@progress/kendo-angular-l10n": "25.4.0-develop.7",
130
- "@progress/kendo-angular-label": "25.4.0-develop.7",
131
- "@progress/kendo-angular-menu": "25.4.0-develop.7",
132
- "@progress/kendo-angular-pager": "25.4.0-develop.7",
133
- "@progress/kendo-angular-pdf-export": "25.4.0-develop.7",
134
- "@progress/kendo-angular-popup": "25.4.0-develop.7",
135
- "@progress/kendo-angular-toolbar": "25.4.0-develop.7",
136
- "@progress/kendo-angular-upload": "25.4.0-develop.7",
137
- "@progress/kendo-angular-utils": "25.4.0-develop.7",
117
+ "@progress/kendo-angular-buttons": "25.4.0-develop.8",
118
+ "@progress/kendo-angular-common": "25.4.0-develop.8",
119
+ "@progress/kendo-angular-dateinputs": "25.4.0-develop.8",
120
+ "@progress/kendo-angular-layout": "25.4.0-develop.8",
121
+ "@progress/kendo-angular-navigation": "25.4.0-develop.8",
122
+ "@progress/kendo-angular-dropdowns": "25.4.0-develop.8",
123
+ "@progress/kendo-angular-excel-export": "25.4.0-develop.8",
124
+ "@progress/kendo-angular-icons": "25.4.0-develop.8",
125
+ "@progress/kendo-angular-indicators": "25.4.0-develop.8",
126
+ "@progress/kendo-angular-inputs": "25.4.0-develop.8",
127
+ "@progress/kendo-angular-conversational-ui": "25.4.0-develop.8",
128
+ "@progress/kendo-angular-intl": "25.4.0-develop.8",
129
+ "@progress/kendo-angular-l10n": "25.4.0-develop.8",
130
+ "@progress/kendo-angular-label": "25.4.0-develop.8",
131
+ "@progress/kendo-angular-menu": "25.4.0-develop.8",
132
+ "@progress/kendo-angular-pager": "25.4.0-develop.8",
133
+ "@progress/kendo-angular-pdf-export": "25.4.0-develop.8",
134
+ "@progress/kendo-angular-popup": "25.4.0-develop.8",
135
+ "@progress/kendo-angular-toolbar": "25.4.0-develop.8",
136
+ "@progress/kendo-angular-upload": "25.4.0-develop.8",
137
+ "@progress/kendo-angular-utils": "25.4.0-develop.8",
138
138
  "rxjs": "^6.5.3 || ^7.0.0"
139
139
  },
140
140
  "dependencies": {
141
141
  "tslib": "^2.3.1",
142
- "@progress/kendo-angular-schematics": "25.4.0-develop.7",
142
+ "@progress/kendo-angular-schematics": "25.4.0-develop.8",
143
143
  "@progress/kendo-common": "^1.0.1",
144
144
  "@progress/kendo-file-saver": "^1.0.0",
145
145
  "@progress/kendo-csv": "^1.0.0"
@@ -9,19 +9,19 @@ const schematics_1 = require("@angular-devkit/schematics");
9
9
  function default_1(options) {
10
10
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'GridModule', package: 'grid', peerDependencies: {
11
11
  // peer deps of the dropdowns
12
- '@progress/kendo-angular-treeview': '25.4.0-develop.7',
13
- '@progress/kendo-angular-navigation': '25.4.0-develop.7',
12
+ '@progress/kendo-angular-treeview': '25.4.0-develop.8',
13
+ '@progress/kendo-angular-navigation': '25.4.0-develop.8',
14
14
  // peer dependency of kendo-angular-inputs
15
- '@progress/kendo-angular-dialog': '25.4.0-develop.7',
15
+ '@progress/kendo-angular-dialog': '25.4.0-develop.8',
16
16
  // peer dependency of kendo-angular-icons
17
17
  '@progress/kendo-svg-icons': '^4.0.0',
18
18
  // peer dependency of kendo-angular-layout
19
- '@progress/kendo-angular-progressbar': '25.4.0-develop.7',
19
+ '@progress/kendo-angular-progressbar': '25.4.0-develop.8',
20
20
  // transitive peer dependencies from toolbar
21
- '@progress/kendo-angular-indicators': '25.4.0-develop.7',
21
+ '@progress/kendo-angular-indicators': '25.4.0-develop.8',
22
22
  // transitive peer dependencies from conversational-ui
23
- '@progress/kendo-angular-menu': '25.4.0-develop.7',
24
- '@progress/kendo-angular-upload': '25.4.0-develop.7'
23
+ '@progress/kendo-angular-menu': '25.4.0-develop.8',
24
+ '@progress/kendo-angular-upload': '25.4.0-develop.8'
25
25
  } });
26
26
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
27
27
  }