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

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.
@@ -12,7 +12,7 @@ import { SpreadsheetService } from './common/spreadsheet.service';
12
12
  import { SpreadsheetToolsService } from './tools/tools.service';
13
13
  import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
14
14
  import { SpreadsheetLocalizationService } from './localization/spreadsheet-localization.service';
15
- import { hasObservers, isDocumentAvailable, isPresent, shouldShowValidationUI } from '@progress/kendo-angular-common';
15
+ import { Keys, hasObservers, isDocumentAvailable, isPresent, shouldShowValidationUI } from '@progress/kendo-angular-common';
16
16
  import { mapToSheetDescriptor } from './utils';
17
17
  import { PopupService } from '@progress/kendo-angular-popup';
18
18
  import { FormulaInputDirective } from './action-bar/formula-input.directive';
@@ -89,6 +89,13 @@ export class SpreadsheetComponent {
89
89
  * @default false
90
90
  */
91
91
  this.overflow = false;
92
+ /**
93
+ * Sets the height of the formula list container.
94
+ * Accepts same values as the CSS [`style.height`](https://developer.mozilla.org/en-US/docs/Web/CSS/height) property.
95
+ *
96
+ * @default '300px'
97
+ */
98
+ this.formulaListMaxHeight = '300px';
92
99
  /**
93
100
  * The number of columns in the document.
94
101
  *
@@ -160,6 +167,16 @@ export class SpreadsheetComponent {
160
167
  this.showLicenseWatermark = false;
161
168
  this.contextMenuItems = [];
162
169
  this.subs = new Subscription();
170
+ /**
171
+ * @hidden
172
+ */
173
+ this.onKeyDown = (e) => {
174
+ const isCtrl = e.ctrlKey || e.metaKey;
175
+ const shift = e.shiftKey;
176
+ if (isCtrl && shift && e.keyCode === Keys.KeyS) {
177
+ this.spreadsheetService.onSheetsBarFocus.next();
178
+ }
179
+ };
163
180
  this.onChange = (e) => {
164
181
  hasObservers(this.change) && this.change.emit(e);
165
182
  this.spreadsheetService.selectionChanged.next(e.range);
@@ -253,13 +270,13 @@ export class SpreadsheetComponent {
253
270
  set sheets(value) {
254
271
  const items = value.map((item, index, items) => ({
255
272
  ...item,
273
+ state: item.state || 'visible',
256
274
  inEdit: false,
257
275
  first: index === 0,
258
276
  last: index === items.length - 1,
259
277
  text: item.name,
260
278
  active: (item.name === this.activeSheet) || items.length === 1,
261
- index,
262
- sheetActions: getSheetActions(index, items)
279
+ index
263
280
  }));
264
281
  this._sheetsInfo = items;
265
282
  }
@@ -281,6 +298,7 @@ export class SpreadsheetComponent {
281
298
  spreadsheet.bind('changeFormat', this.onChangeFormat);
282
299
  spreadsheet.bind('excelImport', this.onExcelImport);
283
300
  spreadsheet.bind('excelExport', this.onExcelExport);
301
+ spreadsheet.bind('keydown', this.onKeyDown);
284
302
  spreadsheet.view.bind('update', this.updateState);
285
303
  spreadsheet.view.bind('message', this.onMessage);
286
304
  spreadsheet.bind('contextmenu', this.onContextMenu.bind(this));
@@ -292,7 +310,13 @@ export class SpreadsheetComponent {
292
310
  if (!this.sheetsInfo) {
293
311
  this.ngZone.run(() => {
294
312
  const defaultSheetDescriptors = mapToSheetDescriptor([spreadsheet?.activeSheet()]);
295
- this._sheetsInfo = [{ text: this.spreadsheetService.currentActiveSheet, first: true, last: true, ...defaultSheetDescriptors, sheetActions: getSheetActions(0, defaultSheetDescriptors) }];
313
+ this._sheetsInfo = [{
314
+ text: this.spreadsheetService.currentActiveSheet,
315
+ first: true, last: true,
316
+ state: 'visible',
317
+ ...defaultSheetDescriptors,
318
+ sheetActions: getSheetActions(defaultSheetDescriptors).map(item => ({ ...item, text: this.messageFor(item.messageKey) }))
319
+ }];
296
320
  });
297
321
  }
298
322
  });
@@ -612,7 +636,7 @@ export class SpreadsheetComponent {
612
636
  }
613
637
  }
614
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 });
615
- SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetComponent, selector: "kendo-spreadsheet", inputs: { menuItems: "menuItems", overflow: "overflow", 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: [
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: [
616
640
  SpreadsheetLocalizationService,
617
641
  {
618
642
  provide: LocalizationService,
@@ -767,7 +791,21 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
767
791
  i18n-hideColumn="kendo.spreadsheet.hideColumn|The Hide column command text."
768
792
  hideColumn="Hide"
769
793
  i18n-unhideColumn="kendo.spreadsheet.unhideColumn|The Unhide column command text."
770
- unhideColumn="Unhide">
794
+ unhideColumn="Unhide"
795
+ i18n-sheetDelete="kendo.spreadsheet.sheetDelete|The text of the Sheet menu Delete option."
796
+ sheetDelete="Delete"
797
+ i18n-sheetRename="kendo.spreadsheet.sheetRename|The text of the Sheet menu Rename option."
798
+ sheetRename="Rename"
799
+ i18n-sheetDuplicate="kendo.spreadsheet.sheetDuplicate|The text of the Sheet menu Duplicate option."
800
+ sheetDuplicate="Duplicate"
801
+ i18n-sheetHide="kendo.spreadsheet.sheetHide|The text of the Sheet menu Hide option."
802
+ sheetHide="Hide"
803
+ i18n-sheetMoveLeft="kendo.spreadsheet.sheetMoveLeft|The text of the Sheet menu Move Left option."
804
+ sheetMoveLeft="Move Left"
805
+ i18n-sheetMoveRight="kendo.spreadsheet.sheetMoveRight|The text of the Sheet menu Move Right option."
806
+ sheetMoveRight="Move Right"
807
+ i18n-invalidNameError="kendo.spreadsheet.invalidNameError|The content of the dialog that warns about invalid name input."
808
+ invalidNameError="{{ 'Invalid name: {inputValue}' }}">
771
809
  </ng-container>
772
810
  <div class="k-spreadsheet-header">
773
811
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
@@ -848,7 +886,11 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
848
886
  [svgIcon]="formulaFxIcon">
849
887
  </kendo-icon-wrapper>
850
888
  <span class="k-separator k-separator-vertical"></span>
851
- <div #formulaBar kendoSpreadsheetFormulaInput class="k-textbox k-input k-input-md k-input-flat k-rounded-md"></div>
889
+ <div
890
+ #formulaBar
891
+ kendoSpreadsheetFormulaInput
892
+ [formulaListMaxHeight]="formulaListMaxHeight"
893
+ class="k-textbox k-input k-input-md k-input-flat k-rounded-md"></div>
852
894
  </div>
853
895
  </div>
854
896
  <div class="k-spreadsheet-view">
@@ -872,7 +914,7 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
872
914
  (select)="onContextMenuSelect($event)"></kendo-contextmenu>
873
915
 
874
916
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
875
- `, isInline: true, components: [{ type: i7.MenuComponent, selector: "kendo-menu", inputs: ["menuItemTemplate", "ariaRole", "menuItemLinkTemplate"], outputs: ["select", "open", "close"], exportAs: ["kendoMenu"] }, { type: i7.MenuItemComponent, selector: "kendo-menu-item", inputs: ["text", "url", "disabled", "cssClass", "cssStyle", "icon", "svgIcon", "data", "separator"] }, { type: i8.ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "tabindex", "size", "tabIndex"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { type: i9.SpreadsheetLoadFileComponent, selector: "kendo-spreadsheet-load-file-tool" }, { type: i8.ToolBarButtonComponent, selector: "kendo-toolbar-button", inputs: ["showText", "showIcon", "text", "style", "className", "title", "disabled", "toggleable", "look", "togglable", "selected", "fillMode", "themeColor", "icon", "iconClass", "svgIcon", "imageUrl"], outputs: ["click", "pointerdown", "selectedChange"], exportAs: ["kendoToolBarButton"] }, { type: i8.ToolBarButtonGroupComponent, selector: "kendo-toolbar-buttongroup", inputs: ["disabled", "selection", "width", "look"], exportAs: ["kendoToolBarButtonGroup"] }, { type: i8.ToolBarSeparatorComponent, selector: "kendo-toolbar-separator", exportAs: ["kendoToolBarSeparator"] }, { type: i10.SpreadsheetFontFamilyComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]" }, { type: i11.SpreadsheetFontSizeComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]" }, { type: i12.SpreadsheetForeColorComponent, selector: "kendo-spreadsheet-forecolor-tool" }, { type: i13.SpreadsheetBackColorComponent, selector: "kendo-spreadsheet-backcolor-tool" }, { type: i8.ToolBarDropDownButtonComponent, selector: "kendo-toolbar-dropdownbutton", inputs: ["arrowIcon", "title", "showText", "showIcon", "text", "icon", "svgIcon", "iconClass", "imageUrl", "popupSettings", "look", "primary", "fillMode", "themeColor", "buttonClass", "textField", "disabled", "data"], outputs: ["itemClick", "open", "close"], exportAs: ["kendoToolBarDropDownButton"] }, { type: i14.NameBoxComponent, selector: "[kendoSpreadsheetNameBox]", inputs: ["data", "spreadsheetWidget"] }, { type: i15.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i16.SheetsBarComponent, selector: "[kendoSpreadsheetSheetsBar]", inputs: ["sheets", "sheetDescriptors"] }, { type: i7.ContextMenuComponent, selector: "kendo-contextmenu", inputs: ["showOn", "target", "filter", "alignToAnchor", "vertical", "popupAnimate", "popupAlign", "anchorAlign", "collision", "appendTo", "ariaLabel"], outputs: ["popupOpen", "popupClose", "select", "open", "close"], exportAs: ["kendoContextMenu"] }, { type: i17.WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], directives: [{ type: i18.LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]" }, { type: i19.MainMenuDirective, selector: "[kendoSpreadsheetMenu]" }, { type: i20.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i20.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i21.SpreadsheetSaveFileDirective, selector: "[kendoSpreadsheetSaveFile]" }, { type: i22.SpreadsheetUndoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUndo]" }, { type: i23.SpreadsheetRedoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetRedo]" }, { type: i24.SpreadsheetIncreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseFontSize]" }, { type: i25.SpreadsheetDecreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseFontSize]" }, { type: i26.SpreadsheetBoldDirective, selector: "kendo-toolbar-button[kendoSpreadsheetBold]" }, { type: i27.SpreadsheetItalicDirective, selector: "kendo-toolbar-button[kendoSpreadsheetItalic]" }, { type: i28.SpreadsheetUnderlineDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUnderline]" }, { type: i29.SpreadsheetHorizontalTextAlignDirective, selector: "[kendoSpreadsheetHorizontalTextAlign]" }, { type: i30.SpreadsheetVerticalTextAlignDirective, selector: "[kendoSpreadsheetVerticalTextAlign]" }, { type: i31.SpreadsheetTextWrapDirective, selector: "kendo-toolbar-button[kendoSpreadsheetTextWrap]" }, { type: i32.SpreadsheetFormatDirective, selector: "[kendoSpreadsheetFormat]" }, { type: i33.SpreadsheetInsertLinkDirective, selector: "kendo-toolbar-button[kendoSpreadsheetInsertLink]" }, { type: i34.SpreadsheetAddColumnLeftButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnLeftButton]" }, { type: i35.SpreadsheetAddColumnRightButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnRightButton]" }, { type: i36.SpreadsheetAddRowBelowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowBelowButton]" }, { type: i37.SpreadsheetAddRowAboveButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowAboveButton]" }, { type: i38.SpreadsheetDeleteColumnButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteColumnButton]" }, { type: i39.SpreadsheetDeleteRowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteRowButton]" }, { type: i40.SpreadsheetDecreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseDecimal]" }, { type: i41.SpreadsheetIncreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseDecimal]" }, { type: i42.SpreadsheetMergeDirective, selector: "[kendoSpreadsheetMerge]" }, { type: i43.SpreadsheetGridLinesDirective, selector: "kendo-toolbar-button[kendoSpreadsheetGridLines]" }, { type: i44.FormulaInputDirective, selector: "[kendoSpreadsheetFormulaInput]" }] });
917
+ `, isInline: true, components: [{ type: i7.MenuComponent, selector: "kendo-menu", inputs: ["menuItemTemplate", "ariaRole", "menuItemLinkTemplate"], outputs: ["select", "open", "close"], exportAs: ["kendoMenu"] }, { type: i7.MenuItemComponent, selector: "kendo-menu-item", inputs: ["text", "url", "disabled", "cssClass", "cssStyle", "icon", "svgIcon", "data", "separator"] }, { type: i8.ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "tabindex", "size", "tabIndex"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { type: i9.SpreadsheetLoadFileComponent, selector: "kendo-spreadsheet-load-file-tool" }, { type: i8.ToolBarButtonComponent, selector: "kendo-toolbar-button", inputs: ["showText", "showIcon", "text", "style", "className", "title", "disabled", "toggleable", "look", "togglable", "selected", "fillMode", "themeColor", "icon", "iconClass", "svgIcon", "imageUrl"], outputs: ["click", "pointerdown", "selectedChange"], exportAs: ["kendoToolBarButton"] }, { type: i8.ToolBarButtonGroupComponent, selector: "kendo-toolbar-buttongroup", inputs: ["disabled", "selection", "width", "look"], exportAs: ["kendoToolBarButtonGroup"] }, { type: i8.ToolBarSeparatorComponent, selector: "kendo-toolbar-separator", exportAs: ["kendoToolBarSeparator"] }, { type: i10.SpreadsheetFontFamilyComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]" }, { type: i11.SpreadsheetFontSizeComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]" }, { type: i12.SpreadsheetForeColorComponent, selector: "kendo-spreadsheet-forecolor-tool" }, { type: i13.SpreadsheetBackColorComponent, selector: "kendo-spreadsheet-backcolor-tool" }, { type: i8.ToolBarDropDownButtonComponent, selector: "kendo-toolbar-dropdownbutton", inputs: ["arrowIcon", "title", "showText", "showIcon", "text", "icon", "svgIcon", "iconClass", "imageUrl", "popupSettings", "look", "primary", "fillMode", "themeColor", "buttonClass", "textField", "disabled", "data"], outputs: ["itemClick", "open", "close"], exportAs: ["kendoToolBarDropDownButton"] }, { type: i14.NameBoxComponent, selector: "[kendoSpreadsheetNameBox]", inputs: ["data", "spreadsheetWidget"] }, { type: i15.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i16.SheetsBarComponent, selector: "[kendoSpreadsheetSheetsBar]", inputs: ["sheets", "sheetDescriptors"] }, { type: i7.ContextMenuComponent, selector: "kendo-contextmenu", inputs: ["showOn", "target", "filter", "alignToAnchor", "vertical", "popupAnimate", "popupAlign", "anchorAlign", "collision", "appendTo", "ariaLabel"], outputs: ["popupOpen", "popupClose", "select", "open", "close"], exportAs: ["kendoContextMenu"] }, { type: i17.WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], directives: [{ type: i18.LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]" }, { type: i19.MainMenuDirective, selector: "[kendoSpreadsheetMenu]" }, { type: i20.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i20.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i21.SpreadsheetSaveFileDirective, selector: "[kendoSpreadsheetSaveFile]" }, { type: i22.SpreadsheetUndoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUndo]" }, { type: i23.SpreadsheetRedoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetRedo]" }, { type: i24.SpreadsheetIncreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseFontSize]" }, { type: i25.SpreadsheetDecreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseFontSize]" }, { type: i26.SpreadsheetBoldDirective, selector: "kendo-toolbar-button[kendoSpreadsheetBold]" }, { type: i27.SpreadsheetItalicDirective, selector: "kendo-toolbar-button[kendoSpreadsheetItalic]" }, { type: i28.SpreadsheetUnderlineDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUnderline]" }, { type: i29.SpreadsheetHorizontalTextAlignDirective, selector: "[kendoSpreadsheetHorizontalTextAlign]" }, { type: i30.SpreadsheetVerticalTextAlignDirective, selector: "[kendoSpreadsheetVerticalTextAlign]" }, { type: i31.SpreadsheetTextWrapDirective, selector: "kendo-toolbar-button[kendoSpreadsheetTextWrap]" }, { type: i32.SpreadsheetFormatDirective, selector: "[kendoSpreadsheetFormat]" }, { type: i33.SpreadsheetInsertLinkDirective, selector: "kendo-toolbar-button[kendoSpreadsheetInsertLink]" }, { type: i34.SpreadsheetAddColumnLeftButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnLeftButton]" }, { type: i35.SpreadsheetAddColumnRightButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnRightButton]" }, { type: i36.SpreadsheetAddRowBelowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowBelowButton]" }, { type: i37.SpreadsheetAddRowAboveButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowAboveButton]" }, { type: i38.SpreadsheetDeleteColumnButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteColumnButton]" }, { type: i39.SpreadsheetDeleteRowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteRowButton]" }, { type: i40.SpreadsheetDecreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseDecimal]" }, { type: i41.SpreadsheetIncreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseDecimal]" }, { type: i42.SpreadsheetMergeDirective, selector: "[kendoSpreadsheetMerge]" }, { type: i43.SpreadsheetGridLinesDirective, selector: "kendo-toolbar-button[kendoSpreadsheetGridLines]" }, { type: i44.FormulaInputDirective, selector: "[kendoSpreadsheetFormulaInput]", inputs: ["formulaListMaxHeight"] }] });
876
918
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetComponent, decorators: [{
877
919
  type: Component,
878
920
  args: [{
@@ -1034,7 +1076,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1034
1076
  i18n-hideColumn="kendo.spreadsheet.hideColumn|The Hide column command text."
1035
1077
  hideColumn="Hide"
1036
1078
  i18n-unhideColumn="kendo.spreadsheet.unhideColumn|The Unhide column command text."
1037
- unhideColumn="Unhide">
1079
+ unhideColumn="Unhide"
1080
+ i18n-sheetDelete="kendo.spreadsheet.sheetDelete|The text of the Sheet menu Delete option."
1081
+ sheetDelete="Delete"
1082
+ i18n-sheetRename="kendo.spreadsheet.sheetRename|The text of the Sheet menu Rename option."
1083
+ sheetRename="Rename"
1084
+ i18n-sheetDuplicate="kendo.spreadsheet.sheetDuplicate|The text of the Sheet menu Duplicate option."
1085
+ sheetDuplicate="Duplicate"
1086
+ i18n-sheetHide="kendo.spreadsheet.sheetHide|The text of the Sheet menu Hide option."
1087
+ sheetHide="Hide"
1088
+ i18n-sheetMoveLeft="kendo.spreadsheet.sheetMoveLeft|The text of the Sheet menu Move Left option."
1089
+ sheetMoveLeft="Move Left"
1090
+ i18n-sheetMoveRight="kendo.spreadsheet.sheetMoveRight|The text of the Sheet menu Move Right option."
1091
+ sheetMoveRight="Move Right"
1092
+ i18n-invalidNameError="kendo.spreadsheet.invalidNameError|The content of the dialog that warns about invalid name input."
1093
+ invalidNameError="{{ 'Invalid name: {inputValue}' }}">
1038
1094
  </ng-container>
1039
1095
  <div class="k-spreadsheet-header">
1040
1096
  <kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
@@ -1115,7 +1171,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1115
1171
  [svgIcon]="formulaFxIcon">
1116
1172
  </kendo-icon-wrapper>
1117
1173
  <span class="k-separator k-separator-vertical"></span>
1118
- <div #formulaBar kendoSpreadsheetFormulaInput class="k-textbox k-input k-input-md k-input-flat k-rounded-md"></div>
1174
+ <div
1175
+ #formulaBar
1176
+ kendoSpreadsheetFormulaInput
1177
+ [formulaListMaxHeight]="formulaListMaxHeight"
1178
+ class="k-textbox k-input k-input-md k-input-flat k-rounded-md"></div>
1119
1179
  </div>
1120
1180
  </div>
1121
1181
  <div class="k-spreadsheet-view">
@@ -1166,6 +1226,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1166
1226
  type: Input
1167
1227
  }], overflow: [{
1168
1228
  type: Input
1229
+ }], formulaListMaxHeight: [{
1230
+ type: Input
1169
1231
  }], activeSheet: [{
1170
1232
  type: Input
1171
1233
  }], sheets: [{
@@ -29,9 +29,7 @@ export class SpreadsheetHorizontalTextAlignDirective {
29
29
  host.icon = commandIcons[this.commandName];
30
30
  host.arrowIcon = true;
31
31
  host.fillMode = 'flat';
32
- host.data = ALIGNS
33
- .filter(value => value.commandName === 'textAlign')
34
- .map(item => ({ ...item, textKey: localization.get(item.commandId) }));
32
+ host.data = ALIGNS.flatMap(item => item.commandName === 'textAlign' ? [{ ...item, textKey: localization.get(item.commandId) }] : []);
35
33
  this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
36
34
  host.title = localization.get(this.commandName);
37
35
  host.textField = 'textKey';
@@ -29,9 +29,7 @@ export class SpreadsheetVerticalTextAlignDirective {
29
29
  host.icon = commandIcons[this.commandName];
30
30
  host.arrowIcon = true;
31
31
  host.fillMode = 'flat';
32
- host.data = ALIGNS
33
- .filter(value => value.commandName === 'verticalAlign')
34
- .map(item => ({ ...item, textKey: localization.get(item.commandId) }));
32
+ host.data = ALIGNS.flatMap(item => item.commandName === 'verticalAlign' ? [{ ...item, textKey: localization.get(item.commandId) }] : []);
35
33
  this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
36
34
  host.title = localization.get(this.commandName);
37
35
  host.textField = 'textKey';
@@ -31,7 +31,7 @@ InsertLinkDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
31
31
  </kendo-textbox>
32
32
  </div>
33
33
  </form>
34
- `, isInline: true, components: [{ type: i2.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i3.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }] });
34
+ `, isInline: true, components: [{ type: i2.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i3.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }] });
35
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: InsertLinkDialogComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{
package/esm2020/utils.mjs CHANGED
@@ -19,7 +19,12 @@ export const mapToSheetDescriptor = (sheetsArray) => {
19
19
  name: sheet.name(),
20
20
  rows: sheet._rows,
21
21
  selection: sheet.selection(),
22
- showGridLines: sheet.showGridLines
22
+ showGridLines: sheet.showGridLines,
23
+ state: sheet.state()
23
24
  };
24
25
  });
25
26
  };
27
+ /**
28
+ * @hidden
29
+ */
30
+ export const replaceMessagePlaceholder = (message, name, value) => message.replace(new RegExp(`\{\\s*${name}\\s*\}`, 'g'), value);