@progress/kendo-angular-grid 19.0.0-develop.28 → 19.0.0-develop.29

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.
@@ -552,7 +552,8 @@ export class AdaptiveRendererComponent {
552
552
  size="large"
553
553
  icon="save"
554
554
  [svgIcon]="saveIcon"
555
- (click)="saveEditing()">
555
+ (click)="saveEditing()"
556
+ [disabled]="!externalEditingSettings.formGroup.valid">
556
557
  {{messageFor('externalEditingSaveText')}}
557
558
  </button>
558
559
  </ng-template>
@@ -951,7 +952,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
951
952
  size="large"
952
953
  icon="save"
953
954
  [svgIcon]="saveIcon"
954
- (click)="saveEditing()">
955
+ (click)="saveEditing()"
956
+ [disabled]="!externalEditingSettings.formGroup.valid">
955
957
  {{messageFor('externalEditingSaveText')}}
956
958
  </button>
957
959
  </ng-template>
@@ -41,13 +41,18 @@ export class ToolbarEditingToolBase extends ToolbarToolBase {
41
41
  }
42
42
  this.isEdited = this.editService.isEditing();
43
43
  let isToolInactive = false;
44
+ let formGroup;
44
45
  const selectionPresent = isPresent(this.lastSelectionIndex);
46
+ const editServiceCtx = this.editService.context(this.lastSelectionIndex);
47
+ if (this.isEdited && isPresent(editServiceCtx)) {
48
+ formGroup = this.editService.context(this.lastSelectionIndex).group;
49
+ }
45
50
  switch (this.commandName) {
46
51
  case ToolbarToolName.edit:
47
52
  isToolInactive = this.isEdited || !selectionPresent;
48
53
  break;
49
54
  case ToolbarToolName.save:
50
- isToolInactive = !(this.isEdited || this.editService.hasNewItem);
55
+ isToolInactive = !(this.isEdited || this.editService.hasNewItem) || !formGroup?.valid;
51
56
  break;
52
57
  case ToolbarToolName.remove:
53
58
  isToolInactive = this.isEdited || !selectionPresent;
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1747761009,
14
- version: '19.0.0-develop.28',
13
+ publishDate: 1747810820,
14
+ version: '19.0.0-develop.29',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
16
16
  };
@@ -20439,8 +20439,8 @@ const packageMetadata = {
20439
20439
  productName: 'Kendo UI for Angular',
20440
20440
  productCode: 'KENDOUIANGULAR',
20441
20441
  productCodes: ['KENDOUIANGULAR'],
20442
- publishDate: 1747761009,
20443
- version: '19.0.0-develop.28',
20442
+ publishDate: 1747810820,
20443
+ version: '19.0.0-develop.29',
20444
20444
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
20445
20445
  };
20446
20446
 
@@ -25636,7 +25636,8 @@ class AdaptiveRendererComponent {
25636
25636
  size="large"
25637
25637
  icon="save"
25638
25638
  [svgIcon]="saveIcon"
25639
- (click)="saveEditing()">
25639
+ (click)="saveEditing()"
25640
+ [disabled]="!externalEditingSettings.formGroup.valid">
25640
25641
  {{messageFor('externalEditingSaveText')}}
25641
25642
  </button>
25642
25643
  </ng-template>
@@ -26035,7 +26036,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
26035
26036
  size="large"
26036
26037
  icon="save"
26037
26038
  [svgIcon]="saveIcon"
26038
- (click)="saveEditing()">
26039
+ (click)="saveEditing()"
26040
+ [disabled]="!externalEditingSettings.formGroup.valid">
26039
26041
  {{messageFor('externalEditingSaveText')}}
26040
26042
  </button>
26041
26043
  </ng-template>
@@ -32039,13 +32041,18 @@ class ToolbarEditingToolBase extends ToolbarToolBase {
32039
32041
  }
32040
32042
  this.isEdited = this.editService.isEditing();
32041
32043
  let isToolInactive = false;
32044
+ let formGroup;
32042
32045
  const selectionPresent = isPresent$1(this.lastSelectionIndex);
32046
+ const editServiceCtx = this.editService.context(this.lastSelectionIndex);
32047
+ if (this.isEdited && isPresent$1(editServiceCtx)) {
32048
+ formGroup = this.editService.context(this.lastSelectionIndex).group;
32049
+ }
32043
32050
  switch (this.commandName) {
32044
32051
  case ToolbarToolName.edit:
32045
32052
  isToolInactive = this.isEdited || !selectionPresent;
32046
32053
  break;
32047
32054
  case ToolbarToolName.save:
32048
- isToolInactive = !(this.isEdited || this.editService.hasNewItem);
32055
+ isToolInactive = !(this.isEdited || this.editService.hasNewItem) || !formGroup?.valid;
32049
32056
  break;
32050
32057
  case ToolbarToolName.remove:
32051
32058
  isToolInactive = this.isEdited || !selectionPresent;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-grid",
3
- "version": "19.0.0-develop.28",
3
+ "version": "19.0.0-develop.29",
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",
@@ -41,7 +41,7 @@
41
41
  "package": {
42
42
  "productName": "Kendo UI for Angular",
43
43
  "productCode": "KENDOUIANGULAR",
44
- "publishDate": 1747761009,
44
+ "publishDate": 1747810820,
45
45
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
46
46
  }
47
47
  },
@@ -54,29 +54,29 @@
54
54
  "@progress/kendo-data-query": "^1.0.0",
55
55
  "@progress/kendo-drawing": "^1.21.0",
56
56
  "@progress/kendo-licensing": "^1.5.0",
57
- "@progress/kendo-angular-buttons": "19.0.0-develop.28",
58
- "@progress/kendo-angular-common": "19.0.0-develop.28",
59
- "@progress/kendo-angular-dateinputs": "19.0.0-develop.28",
60
- "@progress/kendo-angular-layout": "19.0.0-develop.28",
61
- "@progress/kendo-angular-navigation": "19.0.0-develop.28",
62
- "@progress/kendo-angular-dropdowns": "19.0.0-develop.28",
63
- "@progress/kendo-angular-excel-export": "19.0.0-develop.28",
64
- "@progress/kendo-angular-icons": "19.0.0-develop.28",
65
- "@progress/kendo-angular-inputs": "19.0.0-develop.28",
66
- "@progress/kendo-angular-indicators": "19.0.0-develop.28",
67
- "@progress/kendo-angular-intl": "19.0.0-develop.28",
68
- "@progress/kendo-angular-l10n": "19.0.0-develop.28",
69
- "@progress/kendo-angular-label": "19.0.0-develop.28",
70
- "@progress/kendo-angular-pager": "19.0.0-develop.28",
71
- "@progress/kendo-angular-pdf-export": "19.0.0-develop.28",
72
- "@progress/kendo-angular-popup": "19.0.0-develop.28",
73
- "@progress/kendo-angular-toolbar": "19.0.0-develop.28",
74
- "@progress/kendo-angular-utils": "19.0.0-develop.28",
57
+ "@progress/kendo-angular-buttons": "19.0.0-develop.29",
58
+ "@progress/kendo-angular-common": "19.0.0-develop.29",
59
+ "@progress/kendo-angular-dateinputs": "19.0.0-develop.29",
60
+ "@progress/kendo-angular-layout": "19.0.0-develop.29",
61
+ "@progress/kendo-angular-navigation": "19.0.0-develop.29",
62
+ "@progress/kendo-angular-dropdowns": "19.0.0-develop.29",
63
+ "@progress/kendo-angular-excel-export": "19.0.0-develop.29",
64
+ "@progress/kendo-angular-icons": "19.0.0-develop.29",
65
+ "@progress/kendo-angular-inputs": "19.0.0-develop.29",
66
+ "@progress/kendo-angular-indicators": "19.0.0-develop.29",
67
+ "@progress/kendo-angular-intl": "19.0.0-develop.29",
68
+ "@progress/kendo-angular-l10n": "19.0.0-develop.29",
69
+ "@progress/kendo-angular-label": "19.0.0-develop.29",
70
+ "@progress/kendo-angular-pager": "19.0.0-develop.29",
71
+ "@progress/kendo-angular-pdf-export": "19.0.0-develop.29",
72
+ "@progress/kendo-angular-popup": "19.0.0-develop.29",
73
+ "@progress/kendo-angular-toolbar": "19.0.0-develop.29",
74
+ "@progress/kendo-angular-utils": "19.0.0-develop.29",
75
75
  "rxjs": "^6.5.3 || ^7.0.0"
76
76
  },
77
77
  "dependencies": {
78
78
  "tslib": "^2.3.1",
79
- "@progress/kendo-angular-schematics": "19.0.0-develop.28",
79
+ "@progress/kendo-angular-schematics": "19.0.0-develop.29",
80
80
  "@progress/kendo-common": "^1.0.1",
81
81
  "@progress/kendo-file-saver": "^1.0.0"
82
82
  },
@@ -4,14 +4,14 @@ const schematics_1 = require("@angular-devkit/schematics");
4
4
  function default_1(options) {
5
5
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'GridModule', package: 'grid', peerDependencies: {
6
6
  // peer deps of the dropdowns
7
- '@progress/kendo-angular-treeview': '19.0.0-develop.28',
8
- '@progress/kendo-angular-navigation': '19.0.0-develop.28',
7
+ '@progress/kendo-angular-treeview': '19.0.0-develop.29',
8
+ '@progress/kendo-angular-navigation': '19.0.0-develop.29',
9
9
  // peer dependency of kendo-angular-inputs
10
- '@progress/kendo-angular-dialog': '19.0.0-develop.28',
10
+ '@progress/kendo-angular-dialog': '19.0.0-develop.29',
11
11
  // peer dependency of kendo-angular-icons
12
12
  '@progress/kendo-svg-icons': '^4.0.0',
13
13
  // peer dependency of kendo-angular-layout
14
- '@progress/kendo-angular-progressbar': '19.0.0-develop.28'
14
+ '@progress/kendo-angular-progressbar': '19.0.0-develop.29'
15
15
  } });
16
16
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
17
17
  }