@progress/kendo-angular-spreadsheet 14.3.0-develop.9 → 14.3.1-develop.1

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.
@@ -8,6 +8,7 @@ import { Injectable } from '@angular/core';
8
8
  import { Subject } from 'rxjs';
9
9
  import { SpreadsheetService } from './spreadsheet.service';
10
10
  import { take } from 'rxjs/operators';
11
+ import { replaceMessagePlaceholder } from '../utils';
11
12
  import * as i0 from "@angular/core";
12
13
  import * as i1 from "./spreadsheet.service";
13
14
  import * as i2 from "@progress/kendo-angular-l10n";
@@ -41,10 +42,22 @@ export class ErrorHandlingService {
41
42
  this.openDialog(messageData);
42
43
  }
43
44
  openDialog(messageData) {
45
+ let dialogContent;
46
+ if (messageData.name === 'message') {
47
+ const localizationMsg = this.messageFor('invalidNameError');
48
+ let inputValue = messageData.text.split(' ').pop();
49
+ if (messageData.text.startsWith('Parse')) {
50
+ inputValue = inputValue.substring(0, inputValue.length - 1);
51
+ }
52
+ dialogContent = replaceMessagePlaceholder(localizationMsg, 'inputValue', inputValue);
53
+ }
54
+ else {
55
+ dialogContent = this.messageFor(messageData.name);
56
+ }
44
57
  const dialogSettings = {
45
58
  appendTo: this.spreadsheetService.dialogContainer,
46
59
  title: this.messageFor('dialogError'),
47
- content: this.messageFor(messageData.name),
60
+ content: dialogContent,
48
61
  actions: [{
49
62
  text: this.messageFor('dialogOk'),
50
63
  themeColor: 'primary'
@@ -38,10 +38,7 @@ export class SpreadsheetService {
38
38
  }
39
39
  }
40
40
  SpreadsheetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
41
- SpreadsheetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetService, providedIn: 'root' });
41
+ SpreadsheetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetService });
42
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetService, decorators: [{
43
- type: Injectable,
44
- args: [{
45
- providedIn: 'root'
46
- }]
43
+ type: Injectable
47
44
  }], ctorParameters: function () { return []; } });
@@ -11,7 +11,7 @@ import * as i0 from "@angular/core";
11
11
  export class MessagesDirective extends ComponentMessages {
12
12
  }
13
13
  MessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
14
- MessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: MessagesDirective, selector: "[kendoSpreadsheetMessages]", inputs: { home: "home", file: "file", insert: "insert", formatTab: "formatTab", saveFile: "saveFile", loadFile: "loadFile", bold: "bold", italic: "italic", underline: "underline", format: "format", fontFamily: "fontFamily", fontSize: "fontSize", undo: "undo", redo: "redo", background: "background", color: "color", gridLines: "gridLines", addColumnLeft: "addColumnLeft", addColumnRight: "addColumnRight", addRowBelow: "addRowBelow", addRowAbove: "addRowAbove", deleteColumn: "deleteColumn", deleteRow: "deleteRow", wrap: "wrap", align: "align", alignHorizontal: "alignHorizontal", alignVertical: "alignVertical", alignLeft: "alignLeft", alignCenter: "alignCenter", alignRight: "alignRight", alignJustify: "alignJustify", alignTop: "alignTop", alignMiddle: "alignMiddle", alignBottom: "alignBottom", dialogApply: "dialogApply", dialogCancel: "dialogCancel", dialogDelete: "dialogDelete", dialogRename: "dialogRename", dialogInsert: "dialogInsert", dialogRemoveLink: "dialogRemoveLink", delete: "delete", rename: "rename", nameBox: "nameBox", formulaInput: "formulaInput", addSheet: "addSheet", sheetsMenu: "sheetsMenu", view: "view", merge: "merge", mergeHorizontally: "mergeHorizontally", mergeVertically: "mergeVertically", mergeAll: "mergeAll", unmerge: "unmerge", insertLink: "insertLink", increaseDecimal: "increaseDecimal", decreaseDecimal: "decreaseDecimal", increaseFontSize: "increaseFontSize", decreaseFontSize: "decreaseFontSize", openUnsupported: "openUnsupported", modifyMerged: "modifyMerged", cannotModifyDisabled: "cannotModifyDisabled", dialogOk: "dialogOk", dialogError: "dialogError", duplicateSheetName: "duplicateSheetName", copy: "copy", cut: "cut", paste: "paste", hideRow: "hideRow", unhideRow: "unhideRow", hideColumn: "hideColumn", unhideColumn: "unhideColumn", sheetDelete: "sheetDelete", sheetRename: "sheetRename", sheetHide: "sheetHide", sheetDuplicate: "sheetDuplicate", sheetMoveLeft: "sheetMoveLeft", sheetMoveRight: "sheetMoveRight" }, usesInheritance: true, ngImport: i0 });
14
+ MessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: MessagesDirective, selector: "[kendoSpreadsheetMessages]", inputs: { home: "home", file: "file", insert: "insert", formatTab: "formatTab", saveFile: "saveFile", loadFile: "loadFile", bold: "bold", italic: "italic", underline: "underline", format: "format", fontFamily: "fontFamily", fontSize: "fontSize", undo: "undo", redo: "redo", background: "background", color: "color", gridLines: "gridLines", addColumnLeft: "addColumnLeft", addColumnRight: "addColumnRight", addRowBelow: "addRowBelow", addRowAbove: "addRowAbove", deleteColumn: "deleteColumn", deleteRow: "deleteRow", wrap: "wrap", align: "align", alignHorizontal: "alignHorizontal", alignVertical: "alignVertical", alignLeft: "alignLeft", alignCenter: "alignCenter", alignRight: "alignRight", alignJustify: "alignJustify", alignTop: "alignTop", alignMiddle: "alignMiddle", alignBottom: "alignBottom", dialogApply: "dialogApply", dialogCancel: "dialogCancel", dialogDelete: "dialogDelete", dialogRename: "dialogRename", dialogInsert: "dialogInsert", dialogRemoveLink: "dialogRemoveLink", delete: "delete", rename: "rename", nameBox: "nameBox", formulaInput: "formulaInput", addSheet: "addSheet", sheetsMenu: "sheetsMenu", view: "view", merge: "merge", mergeHorizontally: "mergeHorizontally", mergeVertically: "mergeVertically", mergeAll: "mergeAll", unmerge: "unmerge", insertLink: "insertLink", increaseDecimal: "increaseDecimal", decreaseDecimal: "decreaseDecimal", increaseFontSize: "increaseFontSize", decreaseFontSize: "decreaseFontSize", openUnsupported: "openUnsupported", modifyMerged: "modifyMerged", cannotModifyDisabled: "cannotModifyDisabled", dialogOk: "dialogOk", dialogError: "dialogError", duplicateSheetName: "duplicateSheetName", copy: "copy", cut: "cut", paste: "paste", hideRow: "hideRow", unhideRow: "unhideRow", hideColumn: "hideColumn", unhideColumn: "unhideColumn", sheetDelete: "sheetDelete", sheetRename: "sheetRename", sheetHide: "sheetHide", sheetDuplicate: "sheetDuplicate", sheetMoveLeft: "sheetMoveLeft", sheetMoveRight: "sheetMoveRight", invalidNameError: "invalidNameError" }, usesInheritance: true, ngImport: i0 });
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, decorators: [{
16
16
  type: Directive,
17
17
  args: [{
@@ -169,4 +169,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
169
169
  type: Input
170
170
  }], sheetMoveRight: [{
171
171
  type: Input
172
+ }], invalidNameError: [{
173
+ type: Input
172
174
  }] } });
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-spreadsheet',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1701953837,
13
- version: '14.3.0-develop.9',
12
+ publishDate: 1703146227,
13
+ version: '14.3.1-develop.1',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning',
15
15
  };
@@ -214,7 +214,9 @@ export class SheetsBarComponent {
214
214
  if (event.text === this.messageFor(dataItem.dialogButton)) {
215
215
  const sheetsBar = this.spreadsheetService.spreadsheet.view.sheetsbar;
216
216
  if (sheetsBar) {
217
- dataItem.commandName === 'delete' ? sheetsBar.onSheetRemove(sheet.text) : sheetsBar.onSheetRename(dialogContent.value, this.sheets.indexOf(sheet));
217
+ const allSheets = this.spreadsheetService.spreadsheet.sheets();
218
+ const sheetIndex = allSheets.findIndex(s => s.name() === sheet.text);
219
+ dataItem.commandName === 'delete' ? sheetsBar.onSheetRemove(sheet.text) : sheetsBar.onSheetRename(dialogContent.value, sheetIndex);
218
220
  this.notifySheetsChange();
219
221
  }
220
222
  }
@@ -458,7 +458,7 @@ export class SpreadsheetComponent {
458
458
  return {
459
459
  activeSheet: this.activeSheet,
460
460
  ...{
461
- sheets: this.sheetsInfo,
461
+ sheets: this.sheetsInfo && JSON.parse(JSON.stringify(this.sheetsInfo)),
462
462
  intl: {
463
463
  localeInfo: () => localeData(this.intl.localeId),
464
464
  parseDate: (value, fmt) => this.intl.parseDate(value, fmt),
@@ -638,6 +638,7 @@ export class SpreadsheetComponent {
638
638
  SpreadsheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetComponent, deps: [{ token: i0.NgZone }, { token: i1.IntlService }, { token: i0.ElementRef }, { token: i2.LocalizationService }, { token: i3.SpreadsheetService }, { token: i4.SpreadsheetToolsService }, { token: i5.ErrorHandlingService }, { token: i6.DialogService }], target: i0.ɵɵFactoryTarget.Component });
639
639
  SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetComponent, selector: "kendo-spreadsheet", inputs: { menuItems: "menuItems", overflow: "overflow", formulaListMaxHeight: "formulaListMaxHeight", activeSheet: "activeSheet", sheets: "sheets", columns: "columns", columnWidth: "columnWidth", defaultCellStyle: "defaultCellStyle", headerHeight: "headerHeight", headerWidth: "headerWidth", rowHeight: "rowHeight", rows: "rows", images: "images", excel: "excel" }, outputs: { change: "change", formatChange: "formatChange", selectionChange: "selectionChange", excelExport: "excelExport", excelImport: "excelImport", activeSheetChange: "activeSheetChange" }, host: { properties: { "class.k-spreadsheet": "this.hostClass", "attr.role": "this.role" } }, providers: [
640
640
  SpreadsheetLocalizationService,
641
+ SpreadsheetService,
641
642
  {
642
643
  provide: LocalizationService,
643
644
  useExisting: SpreadsheetLocalizationService
@@ -803,7 +804,9 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
803
804
  i18n-sheetMoveLeft="kendo.spreadsheet.sheetMoveLeft|The text of the Sheet menu Move Left option."
804
805
  sheetMoveLeft="Move Left"
805
806
  i18n-sheetMoveRight="kendo.spreadsheet.sheetMoveRight|The text of the Sheet menu Move Right option."
806
- sheetMoveRight="Move Right">
807
+ sheetMoveRight="Move Right"
808
+ i18n-invalidNameError="kendo.spreadsheet.invalidNameError|The content of the dialog that warns about invalid name input."
809
+ invalidNameError="{{ 'Invalid name: {inputValue}' }}">
807
810
  </ng-container>
808
811
  <div class="k-spreadsheet-header">
809
812
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
@@ -920,6 +923,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
920
923
  selector: 'kendo-spreadsheet',
921
924
  providers: [
922
925
  SpreadsheetLocalizationService,
926
+ SpreadsheetService,
923
927
  {
924
928
  provide: LocalizationService,
925
929
  useExisting: SpreadsheetLocalizationService
@@ -1086,7 +1090,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1086
1090
  i18n-sheetMoveLeft="kendo.spreadsheet.sheetMoveLeft|The text of the Sheet menu Move Left option."
1087
1091
  sheetMoveLeft="Move Left"
1088
1092
  i18n-sheetMoveRight="kendo.spreadsheet.sheetMoveRight|The text of the Sheet menu Move Right option."
1089
- sheetMoveRight="Move Right">
1093
+ sheetMoveRight="Move Right"
1094
+ i18n-invalidNameError="kendo.spreadsheet.invalidNameError|The content of the dialog that warns about invalid name input."
1095
+ invalidNameError="{{ 'Invalid name: {inputValue}' }}">
1090
1096
  </ng-container>
1091
1097
  <div class="k-spreadsheet-header">
1092
1098
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
package/esm2020/utils.mjs CHANGED
@@ -24,3 +24,7 @@ export const mapToSheetDescriptor = (sheetsArray) => {
24
24
  };
25
25
  });
26
26
  };
27
+ /**
28
+ * @hidden
29
+ */
30
+ export const replaceMessagePlaceholder = (message, name, value) => message.replace(new RegExp(`\{\\s*${name}\\s*\}`, 'g'), value);
@@ -3,19 +3,19 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as i0 from '@angular/core';
6
- import { EventEmitter, Injectable, Output, Inject, Optional, Component, HostBinding, Input, Directive, forwardRef, ElementRef, ViewChild, InjectionToken, HostListener, ViewChildren, ViewContainerRef, NgModule } from '@angular/core';
6
+ import { Injectable, EventEmitter, Output, Inject, Optional, Component, HostBinding, Input, Directive, forwardRef, ElementRef, ViewChild, InjectionToken, HostListener, ViewChildren, ViewContainerRef, NgModule } from '@angular/core';
7
7
  import { validatePackage } from '@progress/kendo-licensing';
8
8
  import { SpreadsheetWidget } from '@progress/kendo-spreadsheet-common';
9
9
  import * as i1$4 from '@progress/kendo-angular-intl';
10
10
  import { localeData, IntlModule } from '@progress/kendo-angular-intl';
11
11
  import { formulaFxIcon, trashIcon, copyIcon, pencilIcon, eyeSlashIcon, arrowRightIcon, arrowLeftIcon, alignCenterIcon, alignJustifyIcon, alignLeftIcon, alignRightIcon, alignTopIcon, alignMiddleIcon, alignBottomIcon, dropletIcon, boldIcon, foregroundColorIcon, italicIcon, arrowRotateCwIcon, underlineIcon, arrowRotateCcwIcon, textWrapIcon, tableColumnInsertLeftIcon, tableColumnInsertRightIcon, tableRowInsertAboveIcon, tableRowInsertBelowIcon, tableRowDeleteIcon, tableColumnDeleteIcon, bordersNoneIcon, folderOpenIcon, downloadIcon, customFormatIcon, fontSizeIcon, fontFamilyIcon, cellsMergeIcon, cellsMergeHorizontallyIcon, cellsMergeVerticallyIcon, tableUnmergeIcon, linkIcon, fontGrowIcon, fontShrinkIcon, decimalDecreaseIcon, decimalIncreaseIcon, cutIcon, clipboardIcon, eyeIcon, plusIcon, menuIcon, caretAltDownIcon, caretAltLeftIcon, caretAltRightIcon } from '@progress/kendo-svg-icons';
12
+ import { Subject, Subscription } from 'rxjs';
12
13
  import * as i2 from '@progress/kendo-angular-l10n';
13
14
  import { LocalizationService, L10N_PREFIX, RTL, ComponentMessages } from '@progress/kendo-angular-l10n';
14
15
  import * as i3 from '@progress/kendo-angular-common';
15
16
  import { isPresent, hasObservers, isDocumentAvailable, Keys, shouldShowValidationUI, EventsModule, WatermarkModule } from '@progress/kendo-angular-common';
16
17
  import * as i1 from '@progress/kendo-angular-popup';
17
18
  import { PopupService, PopupModule } from '@progress/kendo-angular-popup';
18
- import { Subject, Subscription } from 'rxjs';
19
19
  import * as i6 from '@progress/kendo-angular-icons';
20
20
  import { IconsModule } from '@progress/kendo-angular-icons';
21
21
  import * as i7 from '@angular/common';
@@ -47,11 +47,50 @@ const packageMetadata = {
47
47
  name: '@progress/kendo-angular-spreadsheet',
48
48
  productName: 'Kendo UI for Angular',
49
49
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
50
- publishDate: 1701953837,
51
- version: '14.3.0-develop.9',
50
+ publishDate: 1703146227,
51
+ version: '14.3.1-develop.1',
52
52
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning',
53
53
  };
54
54
 
55
+ let spreadsheetCounter = 0;
56
+ /**
57
+ * @hidden
58
+ */
59
+ class SpreadsheetService {
60
+ constructor() {
61
+ this.sheetsChanged = new Subject();
62
+ this.onSheetsBarFocus = new Subject();
63
+ this.activeSheetChanged = new Subject();
64
+ this.selectionChanged = new Subject();
65
+ spreadsheetCounter++;
66
+ }
67
+ set currentActiveSheet(value) {
68
+ this._currentActiveSheet = value;
69
+ }
70
+ get currentActiveSheet() {
71
+ return this._currentActiveSheet;
72
+ }
73
+ get activeSheet() {
74
+ var _a;
75
+ return (_a = this.spreadsheet.activeSheet()) === null || _a === void 0 ? void 0 : _a.name();
76
+ }
77
+ get formulaListId() {
78
+ return `k-spreadsheet-${spreadsheetCounter}-formula-list`;
79
+ }
80
+ get tablistId() {
81
+ return `k-spreadsheet-${spreadsheetCounter}-tablist`;
82
+ }
83
+ notifySheetsChange(actionType, sheetInfo) {
84
+ const sheets = this.spreadsheet.sheets();
85
+ this.sheetsChanged.next({ sheets, sheet: sheetInfo, actionType });
86
+ }
87
+ }
88
+ SpreadsheetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
89
+ SpreadsheetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetService });
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetService, decorators: [{
91
+ type: Injectable
92
+ }], ctorParameters: function () { return []; } });
93
+
55
94
  /**
56
95
  * @hidden
57
96
  */
@@ -155,48 +194,10 @@ const mapToSheetDescriptor = (sheetsArray) => {
155
194
  };
156
195
  });
157
196
  };
158
-
159
- let spreadsheetCounter = 0;
160
197
  /**
161
198
  * @hidden
162
199
  */
163
- class SpreadsheetService {
164
- constructor() {
165
- this.sheetsChanged = new Subject();
166
- this.onSheetsBarFocus = new Subject();
167
- this.activeSheetChanged = new Subject();
168
- this.selectionChanged = new Subject();
169
- spreadsheetCounter++;
170
- }
171
- set currentActiveSheet(value) {
172
- this._currentActiveSheet = value;
173
- }
174
- get currentActiveSheet() {
175
- return this._currentActiveSheet;
176
- }
177
- get activeSheet() {
178
- var _a;
179
- return (_a = this.spreadsheet.activeSheet()) === null || _a === void 0 ? void 0 : _a.name();
180
- }
181
- get formulaListId() {
182
- return `k-spreadsheet-${spreadsheetCounter}-formula-list`;
183
- }
184
- get tablistId() {
185
- return `k-spreadsheet-${spreadsheetCounter}-tablist`;
186
- }
187
- notifySheetsChange(actionType, sheetInfo) {
188
- const sheets = this.spreadsheet.sheets();
189
- this.sheetsChanged.next({ sheets, sheet: sheetInfo, actionType });
190
- }
191
- }
192
- SpreadsheetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
193
- SpreadsheetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetService, providedIn: 'root' });
194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetService, decorators: [{
195
- type: Injectable,
196
- args: [{
197
- providedIn: 'root'
198
- }]
199
- }], ctorParameters: function () { return []; } });
200
+ const replaceMessagePlaceholder = (message, name, value) => message.replace(new RegExp(`\{\\s*${name}\\s*\}`, 'g'), value);
200
201
 
201
202
  /**
202
203
  * @hidden
@@ -511,10 +512,22 @@ class ErrorHandlingService {
511
512
  }
512
513
  openDialog(messageData) {
513
514
  var _a;
515
+ let dialogContent;
516
+ if (messageData.name === 'message') {
517
+ const localizationMsg = this.messageFor('invalidNameError');
518
+ let inputValue = messageData.text.split(' ').pop();
519
+ if (messageData.text.startsWith('Parse')) {
520
+ inputValue = inputValue.substring(0, inputValue.length - 1);
521
+ }
522
+ dialogContent = replaceMessagePlaceholder(localizationMsg, 'inputValue', inputValue);
523
+ }
524
+ else {
525
+ dialogContent = this.messageFor(messageData.name);
526
+ }
514
527
  const dialogSettings = {
515
528
  appendTo: this.spreadsheetService.dialogContainer,
516
529
  title: this.messageFor('dialogError'),
517
- content: this.messageFor(messageData.name),
530
+ content: dialogContent,
518
531
  actions: [{
519
532
  text: this.messageFor('dialogOk'),
520
533
  themeColor: 'primary'
@@ -2009,7 +2022,9 @@ class SheetsBarComponent {
2009
2022
  if (event.text === this.messageFor(dataItem.dialogButton)) {
2010
2023
  const sheetsBar = this.spreadsheetService.spreadsheet.view.sheetsbar;
2011
2024
  if (sheetsBar) {
2012
- dataItem.commandName === 'delete' ? sheetsBar.onSheetRemove(sheet.text) : sheetsBar.onSheetRename(dialogContent.value, this.sheets.indexOf(sheet));
2025
+ const allSheets = this.spreadsheetService.spreadsheet.sheets();
2026
+ const sheetIndex = allSheets.findIndex(s => s.name() === sheet.text);
2027
+ dataItem.commandName === 'delete' ? sheetsBar.onSheetRemove(sheet.text) : sheetsBar.onSheetRename(dialogContent.value, sheetIndex);
2013
2028
  this.notifySheetsChange();
2014
2029
  }
2015
2030
  }
@@ -2204,7 +2219,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2204
2219
  class MessagesDirective extends ComponentMessages {
2205
2220
  }
2206
2221
  MessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
2207
- MessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: MessagesDirective, selector: "[kendoSpreadsheetMessages]", inputs: { home: "home", file: "file", insert: "insert", formatTab: "formatTab", saveFile: "saveFile", loadFile: "loadFile", bold: "bold", italic: "italic", underline: "underline", format: "format", fontFamily: "fontFamily", fontSize: "fontSize", undo: "undo", redo: "redo", background: "background", color: "color", gridLines: "gridLines", addColumnLeft: "addColumnLeft", addColumnRight: "addColumnRight", addRowBelow: "addRowBelow", addRowAbove: "addRowAbove", deleteColumn: "deleteColumn", deleteRow: "deleteRow", wrap: "wrap", align: "align", alignHorizontal: "alignHorizontal", alignVertical: "alignVertical", alignLeft: "alignLeft", alignCenter: "alignCenter", alignRight: "alignRight", alignJustify: "alignJustify", alignTop: "alignTop", alignMiddle: "alignMiddle", alignBottom: "alignBottom", dialogApply: "dialogApply", dialogCancel: "dialogCancel", dialogDelete: "dialogDelete", dialogRename: "dialogRename", dialogInsert: "dialogInsert", dialogRemoveLink: "dialogRemoveLink", delete: "delete", rename: "rename", nameBox: "nameBox", formulaInput: "formulaInput", addSheet: "addSheet", sheetsMenu: "sheetsMenu", view: "view", merge: "merge", mergeHorizontally: "mergeHorizontally", mergeVertically: "mergeVertically", mergeAll: "mergeAll", unmerge: "unmerge", insertLink: "insertLink", increaseDecimal: "increaseDecimal", decreaseDecimal: "decreaseDecimal", increaseFontSize: "increaseFontSize", decreaseFontSize: "decreaseFontSize", openUnsupported: "openUnsupported", modifyMerged: "modifyMerged", cannotModifyDisabled: "cannotModifyDisabled", dialogOk: "dialogOk", dialogError: "dialogError", duplicateSheetName: "duplicateSheetName", copy: "copy", cut: "cut", paste: "paste", hideRow: "hideRow", unhideRow: "unhideRow", hideColumn: "hideColumn", unhideColumn: "unhideColumn", sheetDelete: "sheetDelete", sheetRename: "sheetRename", sheetHide: "sheetHide", sheetDuplicate: "sheetDuplicate", sheetMoveLeft: "sheetMoveLeft", sheetMoveRight: "sheetMoveRight" }, usesInheritance: true, ngImport: i0 });
2222
+ MessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: MessagesDirective, selector: "[kendoSpreadsheetMessages]", inputs: { home: "home", file: "file", insert: "insert", formatTab: "formatTab", saveFile: "saveFile", loadFile: "loadFile", bold: "bold", italic: "italic", underline: "underline", format: "format", fontFamily: "fontFamily", fontSize: "fontSize", undo: "undo", redo: "redo", background: "background", color: "color", gridLines: "gridLines", addColumnLeft: "addColumnLeft", addColumnRight: "addColumnRight", addRowBelow: "addRowBelow", addRowAbove: "addRowAbove", deleteColumn: "deleteColumn", deleteRow: "deleteRow", wrap: "wrap", align: "align", alignHorizontal: "alignHorizontal", alignVertical: "alignVertical", alignLeft: "alignLeft", alignCenter: "alignCenter", alignRight: "alignRight", alignJustify: "alignJustify", alignTop: "alignTop", alignMiddle: "alignMiddle", alignBottom: "alignBottom", dialogApply: "dialogApply", dialogCancel: "dialogCancel", dialogDelete: "dialogDelete", dialogRename: "dialogRename", dialogInsert: "dialogInsert", dialogRemoveLink: "dialogRemoveLink", delete: "delete", rename: "rename", nameBox: "nameBox", formulaInput: "formulaInput", addSheet: "addSheet", sheetsMenu: "sheetsMenu", view: "view", merge: "merge", mergeHorizontally: "mergeHorizontally", mergeVertically: "mergeVertically", mergeAll: "mergeAll", unmerge: "unmerge", insertLink: "insertLink", increaseDecimal: "increaseDecimal", decreaseDecimal: "decreaseDecimal", increaseFontSize: "increaseFontSize", decreaseFontSize: "decreaseFontSize", openUnsupported: "openUnsupported", modifyMerged: "modifyMerged", cannotModifyDisabled: "cannotModifyDisabled", dialogOk: "dialogOk", dialogError: "dialogError", duplicateSheetName: "duplicateSheetName", copy: "copy", cut: "cut", paste: "paste", hideRow: "hideRow", unhideRow: "unhideRow", hideColumn: "hideColumn", unhideColumn: "unhideColumn", sheetDelete: "sheetDelete", sheetRename: "sheetRename", sheetHide: "sheetHide", sheetDuplicate: "sheetDuplicate", sheetMoveLeft: "sheetMoveLeft", sheetMoveRight: "sheetMoveRight", invalidNameError: "invalidNameError" }, usesInheritance: true, ngImport: i0 });
2208
2223
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, decorators: [{
2209
2224
  type: Directive,
2210
2225
  args: [{
@@ -2362,6 +2377,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2362
2377
  type: Input
2363
2378
  }], sheetMoveRight: [{
2364
2379
  type: Input
2380
+ }], invalidNameError: [{
2381
+ type: Input
2365
2382
  }] } });
2366
2383
 
2367
2384
  /**
@@ -3576,7 +3593,7 @@ class SpreadsheetComponent {
3576
3593
  }
3577
3594
  get options() {
3578
3595
  return Object.assign(Object.assign({ activeSheet: this.activeSheet }, {
3579
- sheets: this.sheetsInfo,
3596
+ sheets: this.sheetsInfo && JSON.parse(JSON.stringify(this.sheetsInfo)),
3580
3597
  intl: {
3581
3598
  localeInfo: () => localeData(this.intl.localeId),
3582
3599
  parseDate: (value, fmt) => this.intl.parseDate(value, fmt),
@@ -3744,6 +3761,7 @@ class SpreadsheetComponent {
3744
3761
  SpreadsheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetComponent, deps: [{ token: i0.NgZone }, { token: i1$4.IntlService }, { token: i0.ElementRef }, { token: i2.LocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ErrorHandlingService }, { token: i1$1.DialogService }], target: i0.ɵɵFactoryTarget.Component });
3745
3762
  SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetComponent, selector: "kendo-spreadsheet", inputs: { menuItems: "menuItems", overflow: "overflow", formulaListMaxHeight: "formulaListMaxHeight", activeSheet: "activeSheet", sheets: "sheets", columns: "columns", columnWidth: "columnWidth", defaultCellStyle: "defaultCellStyle", headerHeight: "headerHeight", headerWidth: "headerWidth", rowHeight: "rowHeight", rows: "rows", images: "images", excel: "excel" }, outputs: { change: "change", formatChange: "formatChange", selectionChange: "selectionChange", excelExport: "excelExport", excelImport: "excelImport", activeSheetChange: "activeSheetChange" }, host: { properties: { "class.k-spreadsheet": "this.hostClass", "attr.role": "this.role" } }, providers: [
3746
3763
  SpreadsheetLocalizationService,
3764
+ SpreadsheetService,
3747
3765
  {
3748
3766
  provide: LocalizationService,
3749
3767
  useExisting: SpreadsheetLocalizationService
@@ -3909,7 +3927,9 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3909
3927
  i18n-sheetMoveLeft="kendo.spreadsheet.sheetMoveLeft|The text of the Sheet menu Move Left option."
3910
3928
  sheetMoveLeft="Move Left"
3911
3929
  i18n-sheetMoveRight="kendo.spreadsheet.sheetMoveRight|The text of the Sheet menu Move Right option."
3912
- sheetMoveRight="Move Right">
3930
+ sheetMoveRight="Move Right"
3931
+ i18n-invalidNameError="kendo.spreadsheet.invalidNameError|The content of the dialog that warns about invalid name input."
3932
+ invalidNameError="{{ 'Invalid name: {inputValue}' }}">
3913
3933
  </ng-container>
3914
3934
  <div class="k-spreadsheet-header">
3915
3935
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
@@ -4026,6 +4046,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4026
4046
  selector: 'kendo-spreadsheet',
4027
4047
  providers: [
4028
4048
  SpreadsheetLocalizationService,
4049
+ SpreadsheetService,
4029
4050
  {
4030
4051
  provide: LocalizationService,
4031
4052
  useExisting: SpreadsheetLocalizationService
@@ -4192,7 +4213,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4192
4213
  i18n-sheetMoveLeft="kendo.spreadsheet.sheetMoveLeft|The text of the Sheet menu Move Left option."
4193
4214
  sheetMoveLeft="Move Left"
4194
4215
  i18n-sheetMoveRight="kendo.spreadsheet.sheetMoveRight|The text of the Sheet menu Move Right option."
4195
- sheetMoveRight="Move Right">
4216
+ sheetMoveRight="Move Right"
4217
+ i18n-invalidNameError="kendo.spreadsheet.invalidNameError|The content of the dialog that warns about invalid name input."
4218
+ invalidNameError="{{ 'Invalid name: {inputValue}' }}">
4196
4219
  </ng-container>
4197
4220
  <div class="k-spreadsheet-header">
4198
4221
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
@@ -47,8 +47,8 @@ const packageMetadata = {
47
47
  name: '@progress/kendo-angular-spreadsheet',
48
48
  productName: 'Kendo UI for Angular',
49
49
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
50
- publishDate: 1701953837,
51
- version: '14.3.0-develop.9',
50
+ publishDate: 1703146227,
51
+ version: '14.3.1-develop.1',
52
52
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning',
53
53
  };
54
54
 
@@ -85,12 +85,9 @@ class SpreadsheetService {
85
85
  }
86
86
  }
87
87
  SpreadsheetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
88
- SpreadsheetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetService, providedIn: 'root' });
88
+ SpreadsheetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetService });
89
89
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetService, decorators: [{
90
- type: Injectable,
91
- args: [{
92
- providedIn: 'root'
93
- }]
90
+ type: Injectable
94
91
  }], ctorParameters: function () { return []; } });
95
92
 
96
93
  /**
@@ -194,6 +191,10 @@ const mapToSheetDescriptor = (sheetsArray) => {
194
191
  };
195
192
  });
196
193
  };
194
+ /**
195
+ * @hidden
196
+ */
197
+ const replaceMessagePlaceholder = (message, name, value) => message.replace(new RegExp(`\{\\s*${name}\\s*\}`, 'g'), value);
197
198
 
198
199
  /**
199
200
  * @hidden
@@ -502,10 +503,22 @@ class ErrorHandlingService {
502
503
  this.openDialog(messageData);
503
504
  }
504
505
  openDialog(messageData) {
506
+ let dialogContent;
507
+ if (messageData.name === 'message') {
508
+ const localizationMsg = this.messageFor('invalidNameError');
509
+ let inputValue = messageData.text.split(' ').pop();
510
+ if (messageData.text.startsWith('Parse')) {
511
+ inputValue = inputValue.substring(0, inputValue.length - 1);
512
+ }
513
+ dialogContent = replaceMessagePlaceholder(localizationMsg, 'inputValue', inputValue);
514
+ }
515
+ else {
516
+ dialogContent = this.messageFor(messageData.name);
517
+ }
505
518
  const dialogSettings = {
506
519
  appendTo: this.spreadsheetService.dialogContainer,
507
520
  title: this.messageFor('dialogError'),
508
- content: this.messageFor(messageData.name),
521
+ content: dialogContent,
509
522
  actions: [{
510
523
  text: this.messageFor('dialogOk'),
511
524
  themeColor: 'primary'
@@ -1989,7 +2002,9 @@ class SheetsBarComponent {
1989
2002
  if (event.text === this.messageFor(dataItem.dialogButton)) {
1990
2003
  const sheetsBar = this.spreadsheetService.spreadsheet.view.sheetsbar;
1991
2004
  if (sheetsBar) {
1992
- dataItem.commandName === 'delete' ? sheetsBar.onSheetRemove(sheet.text) : sheetsBar.onSheetRename(dialogContent.value, this.sheets.indexOf(sheet));
2005
+ const allSheets = this.spreadsheetService.spreadsheet.sheets();
2006
+ const sheetIndex = allSheets.findIndex(s => s.name() === sheet.text);
2007
+ dataItem.commandName === 'delete' ? sheetsBar.onSheetRemove(sheet.text) : sheetsBar.onSheetRename(dialogContent.value, sheetIndex);
1993
2008
  this.notifySheetsChange();
1994
2009
  }
1995
2010
  }
@@ -2192,7 +2207,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2192
2207
  class MessagesDirective extends ComponentMessages {
2193
2208
  }
2194
2209
  MessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
2195
- MessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: MessagesDirective, selector: "[kendoSpreadsheetMessages]", inputs: { home: "home", file: "file", insert: "insert", formatTab: "formatTab", saveFile: "saveFile", loadFile: "loadFile", bold: "bold", italic: "italic", underline: "underline", format: "format", fontFamily: "fontFamily", fontSize: "fontSize", undo: "undo", redo: "redo", background: "background", color: "color", gridLines: "gridLines", addColumnLeft: "addColumnLeft", addColumnRight: "addColumnRight", addRowBelow: "addRowBelow", addRowAbove: "addRowAbove", deleteColumn: "deleteColumn", deleteRow: "deleteRow", wrap: "wrap", align: "align", alignHorizontal: "alignHorizontal", alignVertical: "alignVertical", alignLeft: "alignLeft", alignCenter: "alignCenter", alignRight: "alignRight", alignJustify: "alignJustify", alignTop: "alignTop", alignMiddle: "alignMiddle", alignBottom: "alignBottom", dialogApply: "dialogApply", dialogCancel: "dialogCancel", dialogDelete: "dialogDelete", dialogRename: "dialogRename", dialogInsert: "dialogInsert", dialogRemoveLink: "dialogRemoveLink", delete: "delete", rename: "rename", nameBox: "nameBox", formulaInput: "formulaInput", addSheet: "addSheet", sheetsMenu: "sheetsMenu", view: "view", merge: "merge", mergeHorizontally: "mergeHorizontally", mergeVertically: "mergeVertically", mergeAll: "mergeAll", unmerge: "unmerge", insertLink: "insertLink", increaseDecimal: "increaseDecimal", decreaseDecimal: "decreaseDecimal", increaseFontSize: "increaseFontSize", decreaseFontSize: "decreaseFontSize", openUnsupported: "openUnsupported", modifyMerged: "modifyMerged", cannotModifyDisabled: "cannotModifyDisabled", dialogOk: "dialogOk", dialogError: "dialogError", duplicateSheetName: "duplicateSheetName", copy: "copy", cut: "cut", paste: "paste", hideRow: "hideRow", unhideRow: "unhideRow", hideColumn: "hideColumn", unhideColumn: "unhideColumn", sheetDelete: "sheetDelete", sheetRename: "sheetRename", sheetHide: "sheetHide", sheetDuplicate: "sheetDuplicate", sheetMoveLeft: "sheetMoveLeft", sheetMoveRight: "sheetMoveRight" }, usesInheritance: true, ngImport: i0 });
2210
+ MessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: MessagesDirective, selector: "[kendoSpreadsheetMessages]", inputs: { home: "home", file: "file", insert: "insert", formatTab: "formatTab", saveFile: "saveFile", loadFile: "loadFile", bold: "bold", italic: "italic", underline: "underline", format: "format", fontFamily: "fontFamily", fontSize: "fontSize", undo: "undo", redo: "redo", background: "background", color: "color", gridLines: "gridLines", addColumnLeft: "addColumnLeft", addColumnRight: "addColumnRight", addRowBelow: "addRowBelow", addRowAbove: "addRowAbove", deleteColumn: "deleteColumn", deleteRow: "deleteRow", wrap: "wrap", align: "align", alignHorizontal: "alignHorizontal", alignVertical: "alignVertical", alignLeft: "alignLeft", alignCenter: "alignCenter", alignRight: "alignRight", alignJustify: "alignJustify", alignTop: "alignTop", alignMiddle: "alignMiddle", alignBottom: "alignBottom", dialogApply: "dialogApply", dialogCancel: "dialogCancel", dialogDelete: "dialogDelete", dialogRename: "dialogRename", dialogInsert: "dialogInsert", dialogRemoveLink: "dialogRemoveLink", delete: "delete", rename: "rename", nameBox: "nameBox", formulaInput: "formulaInput", addSheet: "addSheet", sheetsMenu: "sheetsMenu", view: "view", merge: "merge", mergeHorizontally: "mergeHorizontally", mergeVertically: "mergeVertically", mergeAll: "mergeAll", unmerge: "unmerge", insertLink: "insertLink", increaseDecimal: "increaseDecimal", decreaseDecimal: "decreaseDecimal", increaseFontSize: "increaseFontSize", decreaseFontSize: "decreaseFontSize", openUnsupported: "openUnsupported", modifyMerged: "modifyMerged", cannotModifyDisabled: "cannotModifyDisabled", dialogOk: "dialogOk", dialogError: "dialogError", duplicateSheetName: "duplicateSheetName", copy: "copy", cut: "cut", paste: "paste", hideRow: "hideRow", unhideRow: "unhideRow", hideColumn: "hideColumn", unhideColumn: "unhideColumn", sheetDelete: "sheetDelete", sheetRename: "sheetRename", sheetHide: "sheetHide", sheetDuplicate: "sheetDuplicate", sheetMoveLeft: "sheetMoveLeft", sheetMoveRight: "sheetMoveRight", invalidNameError: "invalidNameError" }, usesInheritance: true, ngImport: i0 });
2196
2211
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, decorators: [{
2197
2212
  type: Directive,
2198
2213
  args: [{
@@ -2350,6 +2365,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2350
2365
  type: Input
2351
2366
  }], sheetMoveRight: [{
2352
2367
  type: Input
2368
+ }], invalidNameError: [{
2369
+ type: Input
2353
2370
  }] } });
2354
2371
 
2355
2372
  /**
@@ -3577,7 +3594,7 @@ class SpreadsheetComponent {
3577
3594
  return {
3578
3595
  activeSheet: this.activeSheet,
3579
3596
  ...{
3580
- sheets: this.sheetsInfo,
3597
+ sheets: this.sheetsInfo && JSON.parse(JSON.stringify(this.sheetsInfo)),
3581
3598
  intl: {
3582
3599
  localeInfo: () => localeData(this.intl.localeId),
3583
3600
  parseDate: (value, fmt) => this.intl.parseDate(value, fmt),
@@ -3757,6 +3774,7 @@ class SpreadsheetComponent {
3757
3774
  SpreadsheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetComponent, deps: [{ token: i0.NgZone }, { token: i1$4.IntlService }, { token: i0.ElementRef }, { token: i2.LocalizationService }, { token: SpreadsheetService }, { token: SpreadsheetToolsService }, { token: ErrorHandlingService }, { token: i1$1.DialogService }], target: i0.ɵɵFactoryTarget.Component });
3758
3775
  SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetComponent, selector: "kendo-spreadsheet", inputs: { menuItems: "menuItems", overflow: "overflow", formulaListMaxHeight: "formulaListMaxHeight", activeSheet: "activeSheet", sheets: "sheets", columns: "columns", columnWidth: "columnWidth", defaultCellStyle: "defaultCellStyle", headerHeight: "headerHeight", headerWidth: "headerWidth", rowHeight: "rowHeight", rows: "rows", images: "images", excel: "excel" }, outputs: { change: "change", formatChange: "formatChange", selectionChange: "selectionChange", excelExport: "excelExport", excelImport: "excelImport", activeSheetChange: "activeSheetChange" }, host: { properties: { "class.k-spreadsheet": "this.hostClass", "attr.role": "this.role" } }, providers: [
3759
3776
  SpreadsheetLocalizationService,
3777
+ SpreadsheetService,
3760
3778
  {
3761
3779
  provide: LocalizationService,
3762
3780
  useExisting: SpreadsheetLocalizationService
@@ -3922,7 +3940,9 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
3922
3940
  i18n-sheetMoveLeft="kendo.spreadsheet.sheetMoveLeft|The text of the Sheet menu Move Left option."
3923
3941
  sheetMoveLeft="Move Left"
3924
3942
  i18n-sheetMoveRight="kendo.spreadsheet.sheetMoveRight|The text of the Sheet menu Move Right option."
3925
- sheetMoveRight="Move Right">
3943
+ sheetMoveRight="Move Right"
3944
+ i18n-invalidNameError="kendo.spreadsheet.invalidNameError|The content of the dialog that warns about invalid name input."
3945
+ invalidNameError="{{ 'Invalid name: {inputValue}' }}">
3926
3946
  </ng-container>
3927
3947
  <div class="k-spreadsheet-header">
3928
3948
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
@@ -4039,6 +4059,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4039
4059
  selector: 'kendo-spreadsheet',
4040
4060
  providers: [
4041
4061
  SpreadsheetLocalizationService,
4062
+ SpreadsheetService,
4042
4063
  {
4043
4064
  provide: LocalizationService,
4044
4065
  useExisting: SpreadsheetLocalizationService
@@ -4205,7 +4226,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4205
4226
  i18n-sheetMoveLeft="kendo.spreadsheet.sheetMoveLeft|The text of the Sheet menu Move Left option."
4206
4227
  sheetMoveLeft="Move Left"
4207
4228
  i18n-sheetMoveRight="kendo.spreadsheet.sheetMoveRight|The text of the Sheet menu Move Right option."
4208
- sheetMoveRight="Move Right">
4229
+ sheetMoveRight="Move Right"
4230
+ i18n-invalidNameError="kendo.spreadsheet.invalidNameError|The content of the dialog that warns about invalid name input."
4231
+ invalidNameError="{{ 'Invalid name: {inputValue}' }}">
4209
4232
  </ng-container>
4210
4233
  <div class="k-spreadsheet-header">
4211
4234
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
@@ -312,6 +312,17 @@ export declare class MessagesDirective extends ComponentMessages {
312
312
  * The text of the Sheet menu Move Right option
313
313
  */
314
314
  sheetMoveRight: string;
315
+ /**
316
+ * The content of the dialog that warns about invalid name input.
317
+ *
318
+ * The content consists of a two-part message - the input value and a localizable string.
319
+ * For user value input **A1%**, the default dialog content will be **Invalid name: A1%**.
320
+ *
321
+ * To allow reordering the input value and the localizable part, the `invalidNameError` accepts a string with a
322
+ * placeholder for the input value, for example, **{inputValue} is invalid**. The `{inputValue}` placeholder will be replaced
323
+ * internally with the current value, and the resulting label will be rendered as **A1% is invalid**.
324
+ */
325
+ invalidNameError: string;
315
326
  static ɵfac: i0.ɵɵFactoryDeclaration<MessagesDirective, never>;
316
- static ɵdir: i0.ɵɵDirectiveDeclaration<MessagesDirective, "[kendoSpreadsheetMessages]", never, { "home": "home"; "file": "file"; "insert": "insert"; "formatTab": "formatTab"; "saveFile": "saveFile"; "loadFile": "loadFile"; "bold": "bold"; "italic": "italic"; "underline": "underline"; "format": "format"; "fontFamily": "fontFamily"; "fontSize": "fontSize"; "undo": "undo"; "redo": "redo"; "background": "background"; "color": "color"; "gridLines": "gridLines"; "addColumnLeft": "addColumnLeft"; "addColumnRight": "addColumnRight"; "addRowBelow": "addRowBelow"; "addRowAbove": "addRowAbove"; "deleteColumn": "deleteColumn"; "deleteRow": "deleteRow"; "wrap": "wrap"; "align": "align"; "alignHorizontal": "alignHorizontal"; "alignVertical": "alignVertical"; "alignLeft": "alignLeft"; "alignCenter": "alignCenter"; "alignRight": "alignRight"; "alignJustify": "alignJustify"; "alignTop": "alignTop"; "alignMiddle": "alignMiddle"; "alignBottom": "alignBottom"; "dialogApply": "dialogApply"; "dialogCancel": "dialogCancel"; "dialogDelete": "dialogDelete"; "dialogRename": "dialogRename"; "dialogInsert": "dialogInsert"; "dialogRemoveLink": "dialogRemoveLink"; "delete": "delete"; "rename": "rename"; "nameBox": "nameBox"; "formulaInput": "formulaInput"; "addSheet": "addSheet"; "sheetsMenu": "sheetsMenu"; "view": "view"; "merge": "merge"; "mergeHorizontally": "mergeHorizontally"; "mergeVertically": "mergeVertically"; "mergeAll": "mergeAll"; "unmerge": "unmerge"; "insertLink": "insertLink"; "increaseDecimal": "increaseDecimal"; "decreaseDecimal": "decreaseDecimal"; "increaseFontSize": "increaseFontSize"; "decreaseFontSize": "decreaseFontSize"; "openUnsupported": "openUnsupported"; "modifyMerged": "modifyMerged"; "cannotModifyDisabled": "cannotModifyDisabled"; "dialogOk": "dialogOk"; "dialogError": "dialogError"; "duplicateSheetName": "duplicateSheetName"; "copy": "copy"; "cut": "cut"; "paste": "paste"; "hideRow": "hideRow"; "unhideRow": "unhideRow"; "hideColumn": "hideColumn"; "unhideColumn": "unhideColumn"; "sheetDelete": "sheetDelete"; "sheetRename": "sheetRename"; "sheetHide": "sheetHide"; "sheetDuplicate": "sheetDuplicate"; "sheetMoveLeft": "sheetMoveLeft"; "sheetMoveRight": "sheetMoveRight"; }, {}, never>;
327
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MessagesDirective, "[kendoSpreadsheetMessages]", never, { "home": "home"; "file": "file"; "insert": "insert"; "formatTab": "formatTab"; "saveFile": "saveFile"; "loadFile": "loadFile"; "bold": "bold"; "italic": "italic"; "underline": "underline"; "format": "format"; "fontFamily": "fontFamily"; "fontSize": "fontSize"; "undo": "undo"; "redo": "redo"; "background": "background"; "color": "color"; "gridLines": "gridLines"; "addColumnLeft": "addColumnLeft"; "addColumnRight": "addColumnRight"; "addRowBelow": "addRowBelow"; "addRowAbove": "addRowAbove"; "deleteColumn": "deleteColumn"; "deleteRow": "deleteRow"; "wrap": "wrap"; "align": "align"; "alignHorizontal": "alignHorizontal"; "alignVertical": "alignVertical"; "alignLeft": "alignLeft"; "alignCenter": "alignCenter"; "alignRight": "alignRight"; "alignJustify": "alignJustify"; "alignTop": "alignTop"; "alignMiddle": "alignMiddle"; "alignBottom": "alignBottom"; "dialogApply": "dialogApply"; "dialogCancel": "dialogCancel"; "dialogDelete": "dialogDelete"; "dialogRename": "dialogRename"; "dialogInsert": "dialogInsert"; "dialogRemoveLink": "dialogRemoveLink"; "delete": "delete"; "rename": "rename"; "nameBox": "nameBox"; "formulaInput": "formulaInput"; "addSheet": "addSheet"; "sheetsMenu": "sheetsMenu"; "view": "view"; "merge": "merge"; "mergeHorizontally": "mergeHorizontally"; "mergeVertically": "mergeVertically"; "mergeAll": "mergeAll"; "unmerge": "unmerge"; "insertLink": "insertLink"; "increaseDecimal": "increaseDecimal"; "decreaseDecimal": "decreaseDecimal"; "increaseFontSize": "increaseFontSize"; "decreaseFontSize": "decreaseFontSize"; "openUnsupported": "openUnsupported"; "modifyMerged": "modifyMerged"; "cannotModifyDisabled": "cannotModifyDisabled"; "dialogOk": "dialogOk"; "dialogError": "dialogError"; "duplicateSheetName": "duplicateSheetName"; "copy": "copy"; "cut": "cut"; "paste": "paste"; "hideRow": "hideRow"; "unhideRow": "unhideRow"; "hideColumn": "hideColumn"; "unhideColumn": "unhideColumn"; "sheetDelete": "sheetDelete"; "sheetRename": "sheetRename"; "sheetHide": "sheetHide"; "sheetDuplicate": "sheetDuplicate"; "sheetMoveLeft": "sheetMoveLeft"; "sheetMoveRight": "sheetMoveRight"; "invalidNameError": "invalidNameError"; }, {}, never>;
317
328
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-spreadsheet",
3
- "version": "14.3.0-develop.9",
3
+ "version": "14.3.1-develop.1",
4
4
  "description": "A Spreadsheet Component for Angular",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -23,22 +23,22 @@
23
23
  "@angular/core": "13 - 17",
24
24
  "@angular/platform-browser": "13 - 17",
25
25
  "@progress/kendo-licensing": "^1.0.2",
26
- "@progress/kendo-angular-buttons": "14.3.0-develop.9",
27
- "@progress/kendo-angular-common": "14.3.0-develop.9",
28
- "@progress/kendo-angular-dialog": "14.3.0-develop.9",
29
- "@progress/kendo-angular-dropdowns": "14.3.0-develop.9",
30
- "@progress/kendo-angular-icons": "14.3.0-develop.9",
31
- "@progress/kendo-angular-l10n": "14.3.0-develop.9",
32
- "@progress/kendo-angular-layout": "14.3.0-develop.9",
33
- "@progress/kendo-angular-menu": "14.3.0-develop.9",
34
- "@progress/kendo-angular-popup": "14.3.0-develop.9",
35
- "@progress/kendo-angular-toolbar": "14.3.0-develop.9",
36
- "@progress/kendo-angular-intl": "14.3.0-develop.9",
26
+ "@progress/kendo-angular-buttons": "14.3.1-develop.1",
27
+ "@progress/kendo-angular-common": "14.3.1-develop.1",
28
+ "@progress/kendo-angular-dialog": "14.3.1-develop.1",
29
+ "@progress/kendo-angular-dropdowns": "14.3.1-develop.1",
30
+ "@progress/kendo-angular-icons": "14.3.1-develop.1",
31
+ "@progress/kendo-angular-l10n": "14.3.1-develop.1",
32
+ "@progress/kendo-angular-layout": "14.3.1-develop.1",
33
+ "@progress/kendo-angular-menu": "14.3.1-develop.1",
34
+ "@progress/kendo-angular-popup": "14.3.1-develop.1",
35
+ "@progress/kendo-angular-toolbar": "14.3.1-develop.1",
36
+ "@progress/kendo-angular-intl": "14.3.1-develop.1",
37
37
  "rxjs": "^6.5.3 || ^7.0.0"
38
38
  },
39
39
  "dependencies": {
40
40
  "tslib": "^2.3.1",
41
- "@progress/kendo-angular-schematics": "14.3.0-develop.9",
41
+ "@progress/kendo-angular-schematics": "14.3.1-develop.1",
42
42
  "@progress/jszip-esm": "^1.0.3",
43
43
  "@progress/kendo-common": "^0.2.2",
44
44
  "@progress/kendo-date-math": "^1.5.10",
@@ -6,7 +6,7 @@ function default_1(options) {
6
6
  // Peer dependency of icons
7
7
  '@progress/kendo-svg-icons': '^2.0.0',
8
8
  // peer dep of the dropdowns
9
- '@progress/kendo-angular-treeview': '14.3.0-develop.9'
9
+ '@progress/kendo-angular-treeview': '14.3.1-develop.1'
10
10
  } });
11
11
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
12
12
  }
package/utils.d.ts CHANGED
@@ -7,3 +7,7 @@ import { Sheet, SheetDescriptor } from '@progress/kendo-spreadsheet-common';
7
7
  * @hidden
8
8
  */
9
9
  export declare const mapToSheetDescriptor: (sheetsArray: Sheet[]) => SheetDescriptor[];
10
+ /**
11
+ * @hidden
12
+ */
13
+ export declare const replaceMessagePlaceholder: (message: string, name: string, value: string) => string;