@progress/kendo-angular-grid 21.0.0-develop.25 → 21.0.0-develop.27

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.
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Component, Input, ContentChildren, QueryList, NgZone } from '@angular/core';
5
+ import { Component, Input, ContentChildren, QueryList, NgZone, EventEmitter, Output } from '@angular/core';
6
6
  import { Observable } from 'rxjs';
7
7
  import { take } from 'rxjs/operators';
8
8
  import { saveAs } from '@progress/kendo-file-saver';
@@ -116,6 +116,10 @@ export class ExcelComponent {
116
116
  * Specifies if groups in the Excel file are collapsible.
117
117
  */
118
118
  collapsible;
119
+ /**
120
+ * @hidden
121
+ */
122
+ fileCreated = new EventEmitter();
119
123
  /**
120
124
  * @hidden
121
125
  */
@@ -178,10 +182,11 @@ export class ExcelComponent {
178
182
  forceProxy: this.forceProxy,
179
183
  proxyURL: this.proxyURL
180
184
  });
185
+ this.fileCreated.emit();
181
186
  });
182
187
  }
183
188
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelComponent, deps: [{ token: i1.ExcelService }, { token: i2.ContextService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
184
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ExcelComponent, isStandalone: true, selector: "kendo-grid-excel", inputs: { fileName: "fileName", filterable: "filterable", creator: "creator", date: "date", forceProxy: "forceProxy", proxyURL: "proxyURL", fetchData: "fetchData", paddingCellOptions: "paddingCellOptions", headerPaddingCellOptions: "headerPaddingCellOptions", collapsible: "collapsible" }, queries: [{ propertyName: "columns", predicate: ColumnBase, descendants: true }], ngImport: i0, template: ``, isInline: true });
189
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ExcelComponent, isStandalone: true, selector: "kendo-grid-excel", inputs: { fileName: "fileName", filterable: "filterable", creator: "creator", date: "date", forceProxy: "forceProxy", proxyURL: "proxyURL", fetchData: "fetchData", paddingCellOptions: "paddingCellOptions", headerPaddingCellOptions: "headerPaddingCellOptions", collapsible: "collapsible" }, outputs: { fileCreated: "fileCreated" }, queries: [{ propertyName: "columns", predicate: ColumnBase, descendants: true }], ngImport: i0, template: ``, isInline: true });
185
190
  }
186
191
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelComponent, decorators: [{
187
192
  type: Component,
@@ -210,6 +215,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
210
215
  type: Input
211
216
  }], collapsible: [{
212
217
  type: Input
218
+ }], fileCreated: [{
219
+ type: Output
213
220
  }], columns: [{
214
221
  type: ContentChildren,
215
222
  args: [ColumnBase, { descendants: true }]
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1762792564,
14
- version: '21.0.0-develop.25',
13
+ publishDate: 1762863138,
14
+ version: '21.0.0-develop.27',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
16
16
  };
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Component, ViewChild } from '@angular/core';
5
+ import { Component, ViewChild, NgZone } from '@angular/core';
6
6
  import { AIPromptComponent, OutputViewComponent, PromptViewComponent, AIPromptCustomMessagesComponent, AIPromptOutputTemplateDirective, AIPromptOutputBodyTemplateDirective } from '@progress/kendo-angular-conversational-ui';
7
7
  import { HttpClient, HttpRequest } from '@angular/common/http';
8
8
  import { ContextService } from './../../../../common/provider.service';
@@ -24,6 +24,7 @@ export class AiAssistantComponent {
24
24
  http;
25
25
  ctx;
26
26
  columnInfoService;
27
+ zone;
27
28
  aiPrompt;
28
29
  activeView = 0;
29
30
  requestUrl;
@@ -43,10 +44,11 @@ export class AiAssistantComponent {
43
44
  // nested tree representing the actual Grid column components sent to the AI service
44
45
  columnsTree = [];
45
46
  idCounter = 0;
46
- constructor(http, ctx, columnInfoService) {
47
+ constructor(http, ctx, columnInfoService, zone) {
47
48
  this.http = http;
48
49
  this.ctx = ctx;
49
50
  this.columnInfoService = columnInfoService;
51
+ this.zone = zone;
50
52
  }
51
53
  ngAfterViewInit() {
52
54
  // Build a nested GridColumnDescriptor tree based on the actual Grid columns structure.
@@ -342,10 +344,9 @@ export class AiAssistantComponent {
342
344
  if (!col) {
343
345
  break;
344
346
  }
345
- const newIndex = Number(cmd.position);
346
- if (!isNaN(newIndex)) {
347
- // call grid API to reorder the column - this will trigger columnReorder event internally
348
- this.ctx.grid.reorderColumn(col, newIndex, { before: true });
347
+ const newPosition = Number(cmd.position);
348
+ if (!isNaN(newPosition) && newPosition >= 0) {
349
+ this.changeColumnPosition(col, newPosition);
349
350
  }
350
351
  break;
351
352
  }
@@ -400,7 +401,7 @@ export class AiAssistantComponent {
400
401
  break;
401
402
  }
402
403
  case 'GridExportPDF': {
403
- this.runExportWithFileName(this.ctx.pdfComponent, cmd.fileName, () => this.ctx.grid.saveAsPDF());
404
+ this.runExportWithFileName(this.ctx.pdfComponent, cmd.fileName, () => this.ctx.grid.emitPDFExportEvent());
404
405
  break;
405
406
  }
406
407
  default:
@@ -410,21 +411,22 @@ export class AiAssistantComponent {
410
411
  });
411
412
  }
412
413
  runExportWithFileName(component, fileName, action) {
413
- if (!component) {
414
- action();
415
- return;
416
- }
417
- const hasComponentFileName = isPresent(component.fileName) && component.fileName !== '';
418
- if (hasComponentFileName || !fileName) {
414
+ if (!component || !fileName) {
419
415
  action();
420
416
  return;
421
417
  }
422
418
  const previousFileName = component.fileName;
423
419
  component.fileName = fileName;
424
- try {
425
- action();
426
- }
427
- finally {
420
+ action();
421
+ const isExcel = component === this.ctx.excelComponent;
422
+ if (isExcel) {
423
+ this.zone.runOutsideAngular(() => {
424
+ this.ctx.excelComponent.fileCreated.subscribe(() => {
425
+ component.fileName = previousFileName;
426
+ });
427
+ });
428
+ }
429
+ else {
428
430
  component.fileName = previousFileName;
429
431
  }
430
432
  }
@@ -697,7 +699,29 @@ export class AiAssistantComponent {
697
699
  this.ctx.grid.filterChange.next(mergedFilter);
698
700
  }
699
701
  }
700
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AiAssistantComponent, deps: [{ token: i1.HttpClient }, { token: i2.ContextService }, { token: i3.ColumnInfoService }], target: i0.ɵɵFactoryTarget.Component });
702
+ changeColumnPosition(column, newPosition) {
703
+ const grid = this.ctx.grid;
704
+ if (!grid?.columns) {
705
+ return;
706
+ }
707
+ const currentColumns = grid.columns.toArray();
708
+ const currentIndex = currentColumns.findIndex(col => col === column);
709
+ if (currentIndex === -1) {
710
+ return;
711
+ }
712
+ if (newPosition < 0 || newPosition >= currentColumns.length || currentIndex === newPosition) {
713
+ return;
714
+ }
715
+ const [removedColumn] = currentColumns.splice(currentIndex, 1);
716
+ currentColumns.splice(newPosition, 0, removedColumn);
717
+ grid.columns.reset(currentColumns);
718
+ grid.columnReorder.emit([{
719
+ column: column,
720
+ oldIndex: currentIndex,
721
+ newIndex: newPosition
722
+ }]);
723
+ }
724
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AiAssistantComponent, deps: [{ token: i1.HttpClient }, { token: i2.ContextService }, { token: i3.ColumnInfoService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
701
725
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AiAssistantComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "aiPrompt", first: true, predicate: AIPromptComponent, descendants: true }], ngImport: i0, template: `
702
726
  <kendo-aiprompt
703
727
  #aiPrompt
@@ -793,7 +817,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
793
817
  </kendo-aiprompt>
794
818
  `
795
819
  }]
796
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ContextService }, { type: i3.ColumnInfoService }], propDecorators: { aiPrompt: [{
820
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ContextService }, { type: i3.ColumnInfoService }, { type: i0.NgZone }], propDecorators: { aiPrompt: [{
797
821
  type: ViewChild,
798
822
  args: [AIPromptComponent]
799
823
  }] } });
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { OnDestroy, QueryList, NgZone } from '@angular/core';
5
+ import { OnDestroy, QueryList, NgZone, EventEmitter } from '@angular/core';
6
6
  import { ExcelExportData, ColumnBase, CellOptions } from '@progress/kendo-angular-excel-export';
7
7
  import { GridComponent } from '../grid.component';
8
8
  import { ExcelService } from './excel.service';
@@ -69,6 +69,10 @@ export declare class ExcelComponent implements OnDestroy {
69
69
  * Specifies if groups in the Excel file are collapsible.
70
70
  */
71
71
  collapsible: boolean;
72
+ /**
73
+ * @hidden
74
+ */
75
+ fileCreated: EventEmitter<undefined>;
72
76
  /**
73
77
  * @hidden
74
78
  */
@@ -81,5 +85,5 @@ export declare class ExcelComponent implements OnDestroy {
81
85
  protected exportData(component: GridComponent, result: ExcelExportData): void;
82
86
  protected saveFile(options: any): void;
83
87
  static ɵfac: i0.ɵɵFactoryDeclaration<ExcelComponent, never>;
84
- static ɵcmp: i0.ɵɵComponentDeclaration<ExcelComponent, "kendo-grid-excel", never, { "fileName": { "alias": "fileName"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "creator": { "alias": "creator"; "required": false; }; "date": { "alias": "date"; "required": false; }; "forceProxy": { "alias": "forceProxy"; "required": false; }; "proxyURL": { "alias": "proxyURL"; "required": false; }; "fetchData": { "alias": "fetchData"; "required": false; }; "paddingCellOptions": { "alias": "paddingCellOptions"; "required": false; }; "headerPaddingCellOptions": { "alias": "headerPaddingCellOptions"; "required": false; }; "collapsible": { "alias": "collapsible"; "required": false; }; }, {}, ["columns"], never, true, never>;
88
+ static ɵcmp: i0.ɵɵComponentDeclaration<ExcelComponent, "kendo-grid-excel", never, { "fileName": { "alias": "fileName"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "creator": { "alias": "creator"; "required": false; }; "date": { "alias": "date"; "required": false; }; "forceProxy": { "alias": "forceProxy"; "required": false; }; "proxyURL": { "alias": "proxyURL"; "required": false; }; "fetchData": { "alias": "fetchData"; "required": false; }; "paddingCellOptions": { "alias": "paddingCellOptions"; "required": false; }; "headerPaddingCellOptions": { "alias": "headerPaddingCellOptions"; "required": false; }; "collapsible": { "alias": "collapsible"; "required": false; }; }, { "fileCreated": "fileCreated"; }, ["columns"], never, true, never>;
85
89
  }
@@ -16409,6 +16409,10 @@ class ExcelComponent {
16409
16409
  * Specifies if groups in the Excel file are collapsible.
16410
16410
  */
16411
16411
  collapsible;
16412
+ /**
16413
+ * @hidden
16414
+ */
16415
+ fileCreated = new EventEmitter();
16412
16416
  /**
16413
16417
  * @hidden
16414
16418
  */
@@ -16471,10 +16475,11 @@ class ExcelComponent {
16471
16475
  forceProxy: this.forceProxy,
16472
16476
  proxyURL: this.proxyURL
16473
16477
  });
16478
+ this.fileCreated.emit();
16474
16479
  });
16475
16480
  }
16476
16481
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelComponent, deps: [{ token: ExcelService }, { token: ContextService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
16477
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ExcelComponent, isStandalone: true, selector: "kendo-grid-excel", inputs: { fileName: "fileName", filterable: "filterable", creator: "creator", date: "date", forceProxy: "forceProxy", proxyURL: "proxyURL", fetchData: "fetchData", paddingCellOptions: "paddingCellOptions", headerPaddingCellOptions: "headerPaddingCellOptions", collapsible: "collapsible" }, queries: [{ propertyName: "columns", predicate: ColumnBase$1, descendants: true }], ngImport: i0, template: ``, isInline: true });
16482
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ExcelComponent, isStandalone: true, selector: "kendo-grid-excel", inputs: { fileName: "fileName", filterable: "filterable", creator: "creator", date: "date", forceProxy: "forceProxy", proxyURL: "proxyURL", fetchData: "fetchData", paddingCellOptions: "paddingCellOptions", headerPaddingCellOptions: "headerPaddingCellOptions", collapsible: "collapsible" }, outputs: { fileCreated: "fileCreated" }, queries: [{ propertyName: "columns", predicate: ColumnBase$1, descendants: true }], ngImport: i0, template: ``, isInline: true });
16478
16483
  }
16479
16484
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelComponent, decorators: [{
16480
16485
  type: Component,
@@ -16503,6 +16508,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
16503
16508
  type: Input
16504
16509
  }], collapsible: [{
16505
16510
  type: Input
16511
+ }], fileCreated: [{
16512
+ type: Output
16506
16513
  }], columns: [{
16507
16514
  type: ContentChildren,
16508
16515
  args: [ColumnBase$1, { descendants: true }]
@@ -22953,8 +22960,8 @@ const packageMetadata = {
22953
22960
  productName: 'Kendo UI for Angular',
22954
22961
  productCode: 'KENDOUIANGULAR',
22955
22962
  productCodes: ['KENDOUIANGULAR'],
22956
- publishDate: 1762792564,
22957
- version: '21.0.0-develop.25',
22963
+ publishDate: 1762863138,
22964
+ version: '21.0.0-develop.27',
22958
22965
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
22959
22966
  };
22960
22967
 
@@ -37637,6 +37644,7 @@ class AiAssistantComponent {
37637
37644
  http;
37638
37645
  ctx;
37639
37646
  columnInfoService;
37647
+ zone;
37640
37648
  aiPrompt;
37641
37649
  activeView = 0;
37642
37650
  requestUrl;
@@ -37656,10 +37664,11 @@ class AiAssistantComponent {
37656
37664
  // nested tree representing the actual Grid column components sent to the AI service
37657
37665
  columnsTree = [];
37658
37666
  idCounter = 0;
37659
- constructor(http, ctx, columnInfoService) {
37667
+ constructor(http, ctx, columnInfoService, zone) {
37660
37668
  this.http = http;
37661
37669
  this.ctx = ctx;
37662
37670
  this.columnInfoService = columnInfoService;
37671
+ this.zone = zone;
37663
37672
  }
37664
37673
  ngAfterViewInit() {
37665
37674
  // Build a nested GridColumnDescriptor tree based on the actual Grid columns structure.
@@ -37955,10 +37964,9 @@ class AiAssistantComponent {
37955
37964
  if (!col) {
37956
37965
  break;
37957
37966
  }
37958
- const newIndex = Number(cmd.position);
37959
- if (!isNaN(newIndex)) {
37960
- // call grid API to reorder the column - this will trigger columnReorder event internally
37961
- this.ctx.grid.reorderColumn(col, newIndex, { before: true });
37967
+ const newPosition = Number(cmd.position);
37968
+ if (!isNaN(newPosition) && newPosition >= 0) {
37969
+ this.changeColumnPosition(col, newPosition);
37962
37970
  }
37963
37971
  break;
37964
37972
  }
@@ -38013,7 +38021,7 @@ class AiAssistantComponent {
38013
38021
  break;
38014
38022
  }
38015
38023
  case 'GridExportPDF': {
38016
- this.runExportWithFileName(this.ctx.pdfComponent, cmd.fileName, () => this.ctx.grid.saveAsPDF());
38024
+ this.runExportWithFileName(this.ctx.pdfComponent, cmd.fileName, () => this.ctx.grid.emitPDFExportEvent());
38017
38025
  break;
38018
38026
  }
38019
38027
  default:
@@ -38023,21 +38031,22 @@ class AiAssistantComponent {
38023
38031
  });
38024
38032
  }
38025
38033
  runExportWithFileName(component, fileName, action) {
38026
- if (!component) {
38027
- action();
38028
- return;
38029
- }
38030
- const hasComponentFileName = isPresent$1(component.fileName) && component.fileName !== '';
38031
- if (hasComponentFileName || !fileName) {
38034
+ if (!component || !fileName) {
38032
38035
  action();
38033
38036
  return;
38034
38037
  }
38035
38038
  const previousFileName = component.fileName;
38036
38039
  component.fileName = fileName;
38037
- try {
38038
- action();
38040
+ action();
38041
+ const isExcel = component === this.ctx.excelComponent;
38042
+ if (isExcel) {
38043
+ this.zone.runOutsideAngular(() => {
38044
+ this.ctx.excelComponent.fileCreated.subscribe(() => {
38045
+ component.fileName = previousFileName;
38046
+ });
38047
+ });
38039
38048
  }
38040
- finally {
38049
+ else {
38041
38050
  component.fileName = previousFileName;
38042
38051
  }
38043
38052
  }
@@ -38310,7 +38319,29 @@ class AiAssistantComponent {
38310
38319
  this.ctx.grid.filterChange.next(mergedFilter);
38311
38320
  }
38312
38321
  }
38313
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AiAssistantComponent, deps: [{ token: i1$8.HttpClient }, { token: ContextService }, { token: ColumnInfoService }], target: i0.ɵɵFactoryTarget.Component });
38322
+ changeColumnPosition(column, newPosition) {
38323
+ const grid = this.ctx.grid;
38324
+ if (!grid?.columns) {
38325
+ return;
38326
+ }
38327
+ const currentColumns = grid.columns.toArray();
38328
+ const currentIndex = currentColumns.findIndex(col => col === column);
38329
+ if (currentIndex === -1) {
38330
+ return;
38331
+ }
38332
+ if (newPosition < 0 || newPosition >= currentColumns.length || currentIndex === newPosition) {
38333
+ return;
38334
+ }
38335
+ const [removedColumn] = currentColumns.splice(currentIndex, 1);
38336
+ currentColumns.splice(newPosition, 0, removedColumn);
38337
+ grid.columns.reset(currentColumns);
38338
+ grid.columnReorder.emit([{
38339
+ column: column,
38340
+ oldIndex: currentIndex,
38341
+ newIndex: newPosition
38342
+ }]);
38343
+ }
38344
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AiAssistantComponent, deps: [{ token: i1$8.HttpClient }, { token: ContextService }, { token: ColumnInfoService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
38314
38345
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AiAssistantComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "aiPrompt", first: true, predicate: AIPromptComponent, descendants: true }], ngImport: i0, template: `
38315
38346
  <kendo-aiprompt
38316
38347
  #aiPrompt
@@ -38406,7 +38437,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
38406
38437
  </kendo-aiprompt>
38407
38438
  `
38408
38439
  }]
38409
- }], ctorParameters: () => [{ type: i1$8.HttpClient }, { type: ContextService }, { type: ColumnInfoService }], propDecorators: { aiPrompt: [{
38440
+ }], ctorParameters: () => [{ type: i1$8.HttpClient }, { type: ContextService }, { type: ColumnInfoService }, { type: i0.NgZone }], propDecorators: { aiPrompt: [{
38410
38441
  type: ViewChild,
38411
38442
  args: [AIPromptComponent]
38412
38443
  }] } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-grid",
3
- "version": "21.0.0-develop.25",
3
+ "version": "21.0.0-develop.27",
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",
@@ -73,7 +73,7 @@
73
73
  "package": {
74
74
  "productName": "Kendo UI for Angular",
75
75
  "productCode": "KENDOUIANGULAR",
76
- "publishDate": 1762792564,
76
+ "publishDate": 1762863138,
77
77
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
78
78
  }
79
79
  },
@@ -86,32 +86,32 @@
86
86
  "@progress/kendo-data-query": "^1.0.0",
87
87
  "@progress/kendo-drawing": "^1.21.0",
88
88
  "@progress/kendo-licensing": "^1.7.0",
89
- "@progress/kendo-angular-buttons": "21.0.0-develop.25",
90
- "@progress/kendo-angular-common": "21.0.0-develop.25",
91
- "@progress/kendo-angular-dateinputs": "21.0.0-develop.25",
92
- "@progress/kendo-angular-layout": "21.0.0-develop.25",
93
- "@progress/kendo-angular-navigation": "21.0.0-develop.25",
94
- "@progress/kendo-angular-dropdowns": "21.0.0-develop.25",
95
- "@progress/kendo-angular-excel-export": "21.0.0-develop.25",
96
- "@progress/kendo-angular-icons": "21.0.0-develop.25",
97
- "@progress/kendo-angular-indicators": "21.0.0-develop.25",
98
- "@progress/kendo-angular-inputs": "21.0.0-develop.25",
99
- "@progress/kendo-angular-conversational-ui": "21.0.0-develop.25",
100
- "@progress/kendo-angular-intl": "21.0.0-develop.25",
101
- "@progress/kendo-angular-l10n": "21.0.0-develop.25",
102
- "@progress/kendo-angular-label": "21.0.0-develop.25",
103
- "@progress/kendo-angular-menu": "21.0.0-develop.25",
104
- "@progress/kendo-angular-pager": "21.0.0-develop.25",
105
- "@progress/kendo-angular-pdf-export": "21.0.0-develop.25",
106
- "@progress/kendo-angular-popup": "21.0.0-develop.25",
107
- "@progress/kendo-angular-toolbar": "21.0.0-develop.25",
108
- "@progress/kendo-angular-upload": "21.0.0-develop.25",
109
- "@progress/kendo-angular-utils": "21.0.0-develop.25",
89
+ "@progress/kendo-angular-buttons": "21.0.0-develop.27",
90
+ "@progress/kendo-angular-common": "21.0.0-develop.27",
91
+ "@progress/kendo-angular-dateinputs": "21.0.0-develop.27",
92
+ "@progress/kendo-angular-layout": "21.0.0-develop.27",
93
+ "@progress/kendo-angular-navigation": "21.0.0-develop.27",
94
+ "@progress/kendo-angular-dropdowns": "21.0.0-develop.27",
95
+ "@progress/kendo-angular-excel-export": "21.0.0-develop.27",
96
+ "@progress/kendo-angular-icons": "21.0.0-develop.27",
97
+ "@progress/kendo-angular-indicators": "21.0.0-develop.27",
98
+ "@progress/kendo-angular-inputs": "21.0.0-develop.27",
99
+ "@progress/kendo-angular-conversational-ui": "21.0.0-develop.27",
100
+ "@progress/kendo-angular-intl": "21.0.0-develop.27",
101
+ "@progress/kendo-angular-l10n": "21.0.0-develop.27",
102
+ "@progress/kendo-angular-label": "21.0.0-develop.27",
103
+ "@progress/kendo-angular-menu": "21.0.0-develop.27",
104
+ "@progress/kendo-angular-pager": "21.0.0-develop.27",
105
+ "@progress/kendo-angular-pdf-export": "21.0.0-develop.27",
106
+ "@progress/kendo-angular-popup": "21.0.0-develop.27",
107
+ "@progress/kendo-angular-toolbar": "21.0.0-develop.27",
108
+ "@progress/kendo-angular-upload": "21.0.0-develop.27",
109
+ "@progress/kendo-angular-utils": "21.0.0-develop.27",
110
110
  "rxjs": "^6.5.3 || ^7.0.0"
111
111
  },
112
112
  "dependencies": {
113
113
  "tslib": "^2.3.1",
114
- "@progress/kendo-angular-schematics": "21.0.0-develop.25",
114
+ "@progress/kendo-angular-schematics": "21.0.0-develop.27",
115
115
  "@progress/kendo-common": "^1.0.1",
116
116
  "@progress/kendo-file-saver": "^1.0.0",
117
117
  "node-html-parser": "^7.0.1"
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { OnDestroy, AfterViewInit } from '@angular/core';
5
+ import { OnDestroy, AfterViewInit, NgZone } from '@angular/core';
6
6
  import { AIPromptComponent, PromptRequestEvent } from '@progress/kendo-angular-conversational-ui';
7
7
  import { HttpClient } from '@angular/common/http';
8
8
  import { ContextService } from './../../../../common/provider.service';
@@ -17,6 +17,7 @@ export declare class AiAssistantComponent implements OnDestroy, AfterViewInit {
17
17
  private http;
18
18
  private ctx;
19
19
  private columnInfoService;
20
+ private zone;
20
21
  aiPrompt: AIPromptComponent;
21
22
  activeView: number;
22
23
  requestUrl: string;
@@ -33,7 +34,7 @@ export declare class AiAssistantComponent implements OnDestroy, AfterViewInit {
33
34
  private leafColumns;
34
35
  private columnsTree;
35
36
  private idCounter;
36
- constructor(http: HttpClient, ctx: ContextService, columnInfoService: ColumnInfoService);
37
+ constructor(http: HttpClient, ctx: ContextService, columnInfoService: ColumnInfoService, zone: NgZone);
37
38
  ngAfterViewInit(): void;
38
39
  ngOnDestroy(): void;
39
40
  message(message: string): string;
@@ -64,6 +65,7 @@ export declare class AiAssistantComponent implements OnDestroy, AfterViewInit {
64
65
  private getColumnReplacement;
65
66
  private processHighlightResponse;
66
67
  private processFilterResponse;
68
+ private changeColumnPosition;
67
69
  static ɵfac: i0.ɵɵFactoryDeclaration<AiAssistantComponent, never>;
68
70
  static ɵcmp: i0.ɵɵComponentDeclaration<AiAssistantComponent, "ng-component", never, {}, {}, never, never, true, never>;
69
71
  }
@@ -5,19 +5,19 @@ const schematics_1 = require("@angular-devkit/schematics");
5
5
  function default_1(options) {
6
6
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'GridModule', package: 'grid', peerDependencies: {
7
7
  // peer deps of the dropdowns
8
- '@progress/kendo-angular-treeview': '21.0.0-develop.25',
9
- '@progress/kendo-angular-navigation': '21.0.0-develop.25',
8
+ '@progress/kendo-angular-treeview': '21.0.0-develop.27',
9
+ '@progress/kendo-angular-navigation': '21.0.0-develop.27',
10
10
  // peer dependency of kendo-angular-inputs
11
- '@progress/kendo-angular-dialog': '21.0.0-develop.25',
11
+ '@progress/kendo-angular-dialog': '21.0.0-develop.27',
12
12
  // peer dependency of kendo-angular-icons
13
13
  '@progress/kendo-svg-icons': '^4.0.0',
14
14
  // peer dependency of kendo-angular-layout
15
- '@progress/kendo-angular-progressbar': '21.0.0-develop.25',
15
+ '@progress/kendo-angular-progressbar': '21.0.0-develop.27',
16
16
  // transitive peer dependencies from toolbar
17
- '@progress/kendo-angular-indicators': '21.0.0-develop.25',
17
+ '@progress/kendo-angular-indicators': '21.0.0-develop.27',
18
18
  // transitive peer dependencies from conversational-ui
19
- '@progress/kendo-angular-menu': '21.0.0-develop.25',
20
- '@progress/kendo-angular-upload': '21.0.0-develop.25'
19
+ '@progress/kendo-angular-menu': '21.0.0-develop.27',
20
+ '@progress/kendo-angular-upload': '21.0.0-develop.27'
21
21
  } });
22
22
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
23
23
  }