@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.
- package/esm2022/excel/excel.component.mjs +9 -2
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/rendering/toolbar/tools/ai-assistant/ai-assistant.component.mjs +43 -19
- package/excel/excel.component.d.ts +6 -2
- package/fesm2022/progress-kendo-angular-grid.mjs +51 -20
- package/package.json +24 -24
- package/rendering/toolbar/tools/ai-assistant/ai-assistant.component.d.ts +4 -2
- package/schematics/ngAdd/index.js +7 -7
|
@@ -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:
|
|
14
|
-
version: '21.0.0-develop.
|
|
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
|
|
346
|
-
if (!isNaN(
|
|
347
|
-
|
|
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.
|
|
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
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
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
|
-
|
|
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:
|
|
22957
|
-
version: '21.0.0-develop.
|
|
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
|
|
37959
|
-
if (!isNaN(
|
|
37960
|
-
|
|
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.
|
|
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
|
-
|
|
38038
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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":
|
|
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.
|
|
90
|
-
"@progress/kendo-angular-common": "21.0.0-develop.
|
|
91
|
-
"@progress/kendo-angular-dateinputs": "21.0.0-develop.
|
|
92
|
-
"@progress/kendo-angular-layout": "21.0.0-develop.
|
|
93
|
-
"@progress/kendo-angular-navigation": "21.0.0-develop.
|
|
94
|
-
"@progress/kendo-angular-dropdowns": "21.0.0-develop.
|
|
95
|
-
"@progress/kendo-angular-excel-export": "21.0.0-develop.
|
|
96
|
-
"@progress/kendo-angular-icons": "21.0.0-develop.
|
|
97
|
-
"@progress/kendo-angular-indicators": "21.0.0-develop.
|
|
98
|
-
"@progress/kendo-angular-inputs": "21.0.0-develop.
|
|
99
|
-
"@progress/kendo-angular-conversational-ui": "21.0.0-develop.
|
|
100
|
-
"@progress/kendo-angular-intl": "21.0.0-develop.
|
|
101
|
-
"@progress/kendo-angular-l10n": "21.0.0-develop.
|
|
102
|
-
"@progress/kendo-angular-label": "21.0.0-develop.
|
|
103
|
-
"@progress/kendo-angular-menu": "21.0.0-develop.
|
|
104
|
-
"@progress/kendo-angular-pager": "21.0.0-develop.
|
|
105
|
-
"@progress/kendo-angular-pdf-export": "21.0.0-develop.
|
|
106
|
-
"@progress/kendo-angular-popup": "21.0.0-develop.
|
|
107
|
-
"@progress/kendo-angular-toolbar": "21.0.0-develop.
|
|
108
|
-
"@progress/kendo-angular-upload": "21.0.0-develop.
|
|
109
|
-
"@progress/kendo-angular-utils": "21.0.0-develop.
|
|
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.
|
|
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.
|
|
9
|
-
'@progress/kendo-angular-navigation': '21.0.0-develop.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
20
|
-
'@progress/kendo-angular-upload': '21.0.0-develop.
|
|
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
|
}
|