@progress/kendo-angular-spreadsheet 14.1.0-develop.2 → 14.1.0-develop.3
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/esm2020/localization/messages.mjs +5 -1
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/spreadsheet.component.mjs +37 -13
- package/esm2020/spreadsheet.module.mjs +9 -4
- package/esm2020/tools/shared/command-icons.mjs +13 -3
- package/esm2020/tools/shared/constants.mjs +17 -8
- package/esm2020/tools/tables/index.mjs +1 -0
- package/esm2020/tools/tables/merge-tool.directive.mjs +67 -0
- package/fesm2015/progress-kendo-angular-spreadsheet.mjs +158 -55
- package/fesm2020/progress-kendo-angular-spreadsheet.mjs +158 -55
- package/localization/messages.d.ts +9 -1
- package/package.json +13 -13
- package/schematics/ngAdd/index.js +1 -1
- package/spreadsheet.module.d.ts +15 -14
- package/tools/shared/commands.d.ts +1 -1
- package/tools/shared/constants.d.ts +11 -0
- package/tools/tables/index.d.ts +1 -0
- package/tools/tables/merge-tool.directive.d.ts +24 -0
|
@@ -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", 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", dialogApply: "dialogApply", dialogCancel: "dialogCancel", dialogDelete: "dialogDelete", dialogRename: "dialogRename", delete: "delete", rename: "rename", nameBox: "nameBox", addSheet: "addSheet", sheetsMenu: "sheetsMenu" }, 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", 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", dialogApply: "dialogApply", dialogCancel: "dialogCancel", dialogDelete: "dialogDelete", dialogRename: "dialogRename", delete: "delete", rename: "rename", nameBox: "nameBox", addSheet: "addSheet", sheetsMenu: "sheetsMenu", view: "view", merge: "merge" }, 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: [{
|
|
@@ -83,4 +83,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
83
83
|
type: Input
|
|
84
84
|
}], sheetsMenu: [{
|
|
85
85
|
type: Input
|
|
86
|
+
}], view: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], merge: [{
|
|
89
|
+
type: Input
|
|
86
90
|
}] } });
|
|
@@ -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:
|
|
13
|
-
version: '14.1.0-develop.
|
|
12
|
+
publishDate: 1699261303,
|
|
13
|
+
version: '14.1.0-develop.3',
|
|
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
|
};
|
|
@@ -46,14 +46,15 @@ import * as i24 from "./tools/typographical-emphasis/underline-tool.directive";
|
|
|
46
46
|
import * as i25 from "./tools/align-tool.directive";
|
|
47
47
|
import * as i26 from "./tools/text-wrap-tool.directive";
|
|
48
48
|
import * as i27 from "./tools/format-tool.directive";
|
|
49
|
-
import * as i28 from "./tools/
|
|
50
|
-
import * as i29 from "./tools/tables/add-column-
|
|
51
|
-
import * as i30 from "./tools/tables/add-
|
|
52
|
-
import * as i31 from "./tools/tables/add-row-
|
|
53
|
-
import * as i32 from "./tools/tables/
|
|
54
|
-
import * as i33 from "./tools/tables/delete-
|
|
55
|
-
import * as i34 from "./tools/tables/
|
|
56
|
-
import * as i35 from "./
|
|
49
|
+
import * as i28 from "./tools/tables/add-column-left-button.directive";
|
|
50
|
+
import * as i29 from "./tools/tables/add-column-right-button.directive";
|
|
51
|
+
import * as i30 from "./tools/tables/add-row-below-button.directive";
|
|
52
|
+
import * as i31 from "./tools/tables/add-row-above-button.directive";
|
|
53
|
+
import * as i32 from "./tools/tables/delete-column-button.directive";
|
|
54
|
+
import * as i33 from "./tools/tables/delete-row-button.directive";
|
|
55
|
+
import * as i34 from "./tools/tables/merge-tool.directive";
|
|
56
|
+
import * as i35 from "./tools/gridlines-tool.directive";
|
|
57
|
+
import * as i36 from "./action-bar/formula-input.directive";
|
|
57
58
|
/**
|
|
58
59
|
* Represents the [Kendo UI Spreadsheet component for Angular]({% slug overview_spreadsheet %}).
|
|
59
60
|
*/
|
|
@@ -174,6 +175,9 @@ export class SpreadsheetComponent {
|
|
|
174
175
|
}, {
|
|
175
176
|
id: 'insert',
|
|
176
177
|
text: this.messageFor('insert')
|
|
178
|
+
}, {
|
|
179
|
+
id: 'view',
|
|
180
|
+
text: this.messageFor('view')
|
|
177
181
|
}];
|
|
178
182
|
}
|
|
179
183
|
this.selectedMenuItem = this.menuItems[1];
|
|
@@ -379,6 +383,8 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
379
383
|
file="File"
|
|
380
384
|
i18n-insert="kendo.spreadsheet.insert|The text of the Insert toolbar tab."
|
|
381
385
|
insert="Insert"
|
|
386
|
+
i18n-view="kendo.spreadsheet.view|The text of the View toolbar tab."
|
|
387
|
+
view="View"
|
|
382
388
|
i18n-undo="kendo.spreadsheet.undo|The title of the Undo tool."
|
|
383
389
|
undo="Undo"
|
|
384
390
|
i18n-redo="kendo.spreadsheet.redo|The title of the Redo tool."
|
|
@@ -401,6 +407,8 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
401
407
|
wrap="Text wrap"
|
|
402
408
|
i18n-align="kendo.spreadsheet.align|The title of the Text Align tool."
|
|
403
409
|
align="Align"
|
|
410
|
+
i18n-merge="kendo.spreadsheet.merge|The title of the Cells Merge tool."
|
|
411
|
+
merge="Merge"
|
|
404
412
|
i18n-dialogApply="kendo.spreadsheet.dialogApply|The text of the **Apply** button in all Spreadsheet dialogs."
|
|
405
413
|
dialogApply="Apply"
|
|
406
414
|
i18n-dialogCancel="kendo.spreadsheet.dialogCancel|The text of the **Cancel** button in all Spreadsheet dialogs."
|
|
@@ -455,8 +463,6 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
455
463
|
<kendo-toolbar-button kendoSpreadsheetTextWrap></kendo-toolbar-button>
|
|
456
464
|
<kendo-toolbar-separator></kendo-toolbar-separator>
|
|
457
465
|
<kendo-toolbar-dropdownbutton kendoSpreadsheetFormat></kendo-toolbar-dropdownbutton>
|
|
458
|
-
<kendo-toolbar-separator></kendo-toolbar-separator>
|
|
459
|
-
<kendo-toolbar-button kendoSpreadsheetGridLines></kendo-toolbar-button>
|
|
460
466
|
</kendo-toolbar>
|
|
461
467
|
<kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'insert'"
|
|
462
468
|
[attr.aria-label]="messageFor('insert')"
|
|
@@ -470,6 +476,14 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
470
476
|
<kendo-toolbar-button kendoSpreadsheetDeleteColumnButton></kendo-toolbar-button>
|
|
471
477
|
<kendo-toolbar-button kendoSpreadsheetDeleteRowButton></kendo-toolbar-button>
|
|
472
478
|
</kendo-toolbar>
|
|
479
|
+
<kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'view'"
|
|
480
|
+
[attr.aria-label]="messageFor('view')"
|
|
481
|
+
class="k-spreadsheet-toolbar"
|
|
482
|
+
[overflow]="overflow">
|
|
483
|
+
<kendo-toolbar-dropdownbutton kendoSpreadsheetMerge></kendo-toolbar-dropdownbutton>
|
|
484
|
+
<kendo-toolbar-separator></kendo-toolbar-separator>
|
|
485
|
+
<kendo-toolbar-button kendoSpreadsheetGridLines></kendo-toolbar-button>
|
|
486
|
+
</kendo-toolbar>
|
|
473
487
|
</div>
|
|
474
488
|
<div class="k-spreadsheet-action-bar">
|
|
475
489
|
<div #nameBox kendoSpreadsheetNameBox [spreadsheetWidget]="spreadsheetWidget"></div>
|
|
@@ -499,7 +513,7 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
499
513
|
<ng-container #dialogContainer></ng-container>
|
|
500
514
|
|
|
501
515
|
<div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
|
|
502
|
-
`, isInline: true, components: [{ type: i5.MenuComponent, selector: "kendo-menu", inputs: ["menuItemTemplate", "ariaRole", "menuItemLinkTemplate"], outputs: ["select", "open", "close"], exportAs: ["kendoMenu"] }, { type: i5.MenuItemComponent, selector: "kendo-menu-item", inputs: ["text", "url", "disabled", "cssClass", "cssStyle", "icon", "svgIcon", "data", "separator"] }, { type: i6.ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "tabindex", "size", "tabIndex"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { type: i7.SpreadsheetLoadFileComponent, selector: "kendo-spreadsheet-load-file-tool" }, { type: i6.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: i6.ToolBarButtonGroupComponent, selector: "kendo-toolbar-buttongroup", inputs: ["disabled", "selection", "width", "look"], exportAs: ["kendoToolBarButtonGroup"] }, { type: i6.ToolBarSeparatorComponent, selector: "kendo-toolbar-separator", exportAs: ["kendoToolBarSeparator"] }, { type: i8.SpreadsheetFontFamilyComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]" }, { type: i9.SpreadsheetFontSizeComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]" }, { type: i10.SpreadsheetForeColorComponent, selector: "kendo-spreadsheet-forecolor-tool" }, { type: i11.SpreadsheetBackColorComponent, selector: "kendo-spreadsheet-backcolor-tool" }, { type: i6.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: i12.NameBoxComponent, selector: "[kendoSpreadsheetNameBox]", inputs: ["data", "spreadsheetWidget"] }, { type: i13.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i14.SheetsBarComponent, selector: "[kendoSpreadsheetSheetsBar]", inputs: ["sheets", "sheetDescriptors"] }, { type: i15.WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], directives: [{ type: i16.LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]" }, { type: i17.MainMenuDirective, selector: "[kendoSpreadsheetMenu]" }, { type: i18.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i18.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i19.SpreadsheetSaveFileDirective, selector: "[kendoSpreadsheetSaveFile]" }, { type: i20.SpreadsheetUndoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUndo]" }, { type: i21.SpreadsheetRedoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetRedo]" }, { type: i22.SpreadsheetBoldDirective, selector: "kendo-toolbar-button[kendoSpreadsheetBold]" }, { type: i23.SpreadsheetItalicDirective, selector: "kendo-toolbar-button[kendoSpreadsheetItalic]" }, { type: i24.SpreadsheetUnderlineDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUnderline]" }, { type: i25.SpreadsheetTextAlignDirective, selector: "[kendoSpreadsheetTextAlign]" }, { type: i26.SpreadsheetTextWrapDirective, selector: "kendo-toolbar-button[kendoSpreadsheetTextWrap]" }, { type: i27.SpreadsheetFormatDirective, selector: "[kendoSpreadsheetFormat]" }, { type: i28.
|
|
516
|
+
`, isInline: true, components: [{ type: i5.MenuComponent, selector: "kendo-menu", inputs: ["menuItemTemplate", "ariaRole", "menuItemLinkTemplate"], outputs: ["select", "open", "close"], exportAs: ["kendoMenu"] }, { type: i5.MenuItemComponent, selector: "kendo-menu-item", inputs: ["text", "url", "disabled", "cssClass", "cssStyle", "icon", "svgIcon", "data", "separator"] }, { type: i6.ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "tabindex", "size", "tabIndex"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { type: i7.SpreadsheetLoadFileComponent, selector: "kendo-spreadsheet-load-file-tool" }, { type: i6.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: i6.ToolBarButtonGroupComponent, selector: "kendo-toolbar-buttongroup", inputs: ["disabled", "selection", "width", "look"], exportAs: ["kendoToolBarButtonGroup"] }, { type: i6.ToolBarSeparatorComponent, selector: "kendo-toolbar-separator", exportAs: ["kendoToolBarSeparator"] }, { type: i8.SpreadsheetFontFamilyComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]" }, { type: i9.SpreadsheetFontSizeComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]" }, { type: i10.SpreadsheetForeColorComponent, selector: "kendo-spreadsheet-forecolor-tool" }, { type: i11.SpreadsheetBackColorComponent, selector: "kendo-spreadsheet-backcolor-tool" }, { type: i6.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: i12.NameBoxComponent, selector: "[kendoSpreadsheetNameBox]", inputs: ["data", "spreadsheetWidget"] }, { type: i13.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i14.SheetsBarComponent, selector: "[kendoSpreadsheetSheetsBar]", inputs: ["sheets", "sheetDescriptors"] }, { type: i15.WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], directives: [{ type: i16.LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]" }, { type: i17.MainMenuDirective, selector: "[kendoSpreadsheetMenu]" }, { type: i18.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i18.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i19.SpreadsheetSaveFileDirective, selector: "[kendoSpreadsheetSaveFile]" }, { type: i20.SpreadsheetUndoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUndo]" }, { type: i21.SpreadsheetRedoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetRedo]" }, { type: i22.SpreadsheetBoldDirective, selector: "kendo-toolbar-button[kendoSpreadsheetBold]" }, { type: i23.SpreadsheetItalicDirective, selector: "kendo-toolbar-button[kendoSpreadsheetItalic]" }, { type: i24.SpreadsheetUnderlineDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUnderline]" }, { type: i25.SpreadsheetTextAlignDirective, selector: "[kendoSpreadsheetTextAlign]" }, { type: i26.SpreadsheetTextWrapDirective, selector: "kendo-toolbar-button[kendoSpreadsheetTextWrap]" }, { type: i27.SpreadsheetFormatDirective, selector: "[kendoSpreadsheetFormat]" }, { type: i28.SpreadsheetAddColumnLeftButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnLeftButton]" }, { type: i29.SpreadsheetAddColumnRightButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnRightButton]" }, { type: i30.SpreadsheetAddRowBelowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowBelowButton]" }, { type: i31.SpreadsheetAddRowAboveButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowAboveButton]" }, { type: i32.SpreadsheetDeleteColumnButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteColumnButton]" }, { type: i33.SpreadsheetDeleteRowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteRowButton]" }, { type: i34.SpreadsheetMergeDirective, selector: "[kendoSpreadsheetMerge]" }, { type: i35.SpreadsheetGridLinesDirective, selector: "kendo-toolbar-button[kendoSpreadsheetGridLines]" }, { type: i36.FormulaInputDirective, selector: "[kendoSpreadsheetFormulaInput]" }] });
|
|
503
517
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetComponent, decorators: [{
|
|
504
518
|
type: Component,
|
|
505
519
|
args: [{
|
|
@@ -547,6 +561,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
547
561
|
file="File"
|
|
548
562
|
i18n-insert="kendo.spreadsheet.insert|The text of the Insert toolbar tab."
|
|
549
563
|
insert="Insert"
|
|
564
|
+
i18n-view="kendo.spreadsheet.view|The text of the View toolbar tab."
|
|
565
|
+
view="View"
|
|
550
566
|
i18n-undo="kendo.spreadsheet.undo|The title of the Undo tool."
|
|
551
567
|
undo="Undo"
|
|
552
568
|
i18n-redo="kendo.spreadsheet.redo|The title of the Redo tool."
|
|
@@ -569,6 +585,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
569
585
|
wrap="Text wrap"
|
|
570
586
|
i18n-align="kendo.spreadsheet.align|The title of the Text Align tool."
|
|
571
587
|
align="Align"
|
|
588
|
+
i18n-merge="kendo.spreadsheet.merge|The title of the Cells Merge tool."
|
|
589
|
+
merge="Merge"
|
|
572
590
|
i18n-dialogApply="kendo.spreadsheet.dialogApply|The text of the **Apply** button in all Spreadsheet dialogs."
|
|
573
591
|
dialogApply="Apply"
|
|
574
592
|
i18n-dialogCancel="kendo.spreadsheet.dialogCancel|The text of the **Cancel** button in all Spreadsheet dialogs."
|
|
@@ -623,8 +641,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
623
641
|
<kendo-toolbar-button kendoSpreadsheetTextWrap></kendo-toolbar-button>
|
|
624
642
|
<kendo-toolbar-separator></kendo-toolbar-separator>
|
|
625
643
|
<kendo-toolbar-dropdownbutton kendoSpreadsheetFormat></kendo-toolbar-dropdownbutton>
|
|
626
|
-
<kendo-toolbar-separator></kendo-toolbar-separator>
|
|
627
|
-
<kendo-toolbar-button kendoSpreadsheetGridLines></kendo-toolbar-button>
|
|
628
644
|
</kendo-toolbar>
|
|
629
645
|
<kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'insert'"
|
|
630
646
|
[attr.aria-label]="messageFor('insert')"
|
|
@@ -638,6 +654,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
638
654
|
<kendo-toolbar-button kendoSpreadsheetDeleteColumnButton></kendo-toolbar-button>
|
|
639
655
|
<kendo-toolbar-button kendoSpreadsheetDeleteRowButton></kendo-toolbar-button>
|
|
640
656
|
</kendo-toolbar>
|
|
657
|
+
<kendo-toolbar *ngIf="selectedMenuItem?.active && selectedMenuItem.id === 'view'"
|
|
658
|
+
[attr.aria-label]="messageFor('view')"
|
|
659
|
+
class="k-spreadsheet-toolbar"
|
|
660
|
+
[overflow]="overflow">
|
|
661
|
+
<kendo-toolbar-dropdownbutton kendoSpreadsheetMerge></kendo-toolbar-dropdownbutton>
|
|
662
|
+
<kendo-toolbar-separator></kendo-toolbar-separator>
|
|
663
|
+
<kendo-toolbar-button kendoSpreadsheetGridLines></kendo-toolbar-button>
|
|
664
|
+
</kendo-toolbar>
|
|
641
665
|
</div>
|
|
642
666
|
<div class="k-spreadsheet-action-bar">
|
|
643
667
|
<div #nameBox kendoSpreadsheetNameBox [spreadsheetWidget]="spreadsheetWidget"></div>
|
|
@@ -50,6 +50,7 @@ import { DialogContentComponent } from './tools/shared/dialog-content.component'
|
|
|
50
50
|
import { MenuModule } from '@progress/kendo-angular-menu';
|
|
51
51
|
import { MainMenuDirective } from './common/main-menu.directive';
|
|
52
52
|
import { ActionDialogComponent } from './sheets-bar/action-dialog.component';
|
|
53
|
+
import { SpreadsheetMergeDirective } from './tools/tables/merge-tool.directive';
|
|
53
54
|
import * as i0 from "@angular/core";
|
|
54
55
|
const DIRECTIVES = [
|
|
55
56
|
SpreadsheetComponent,
|
|
@@ -85,7 +86,8 @@ const DIRECTIVES = [
|
|
|
85
86
|
FontSizeDropDownListComponent,
|
|
86
87
|
DialogContentComponent,
|
|
87
88
|
MainMenuDirective,
|
|
88
|
-
ActionDialogComponent
|
|
89
|
+
ActionDialogComponent,
|
|
90
|
+
SpreadsheetMergeDirective
|
|
89
91
|
];
|
|
90
92
|
const EXPORTS = [
|
|
91
93
|
SpreadsheetComponent,
|
|
@@ -110,7 +112,8 @@ const EXPORTS = [
|
|
|
110
112
|
SpreadsheetDeleteColumnButtonDirective,
|
|
111
113
|
SpreadsheetDeleteRowButtonDirective,
|
|
112
114
|
SpreadsheetTextAlignDirective,
|
|
113
|
-
SpreadsheetTextWrapDirective
|
|
115
|
+
SpreadsheetTextWrapDirective,
|
|
116
|
+
SpreadsheetMergeDirective
|
|
114
117
|
];
|
|
115
118
|
/**
|
|
116
119
|
* Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
|
|
@@ -152,7 +155,8 @@ SpreadsheetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
|
|
|
152
155
|
FontSizeDropDownListComponent,
|
|
153
156
|
DialogContentComponent,
|
|
154
157
|
MainMenuDirective,
|
|
155
|
-
ActionDialogComponent
|
|
158
|
+
ActionDialogComponent,
|
|
159
|
+
SpreadsheetMergeDirective], imports: [CommonModule,
|
|
156
160
|
ButtonsModule,
|
|
157
161
|
ComboBoxModule,
|
|
158
162
|
DropDownListModule,
|
|
@@ -188,7 +192,8 @@ SpreadsheetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
|
|
|
188
192
|
SpreadsheetDeleteColumnButtonDirective,
|
|
189
193
|
SpreadsheetDeleteRowButtonDirective,
|
|
190
194
|
SpreadsheetTextAlignDirective,
|
|
191
|
-
SpreadsheetTextWrapDirective
|
|
195
|
+
SpreadsheetTextWrapDirective,
|
|
196
|
+
SpreadsheetMergeDirective] });
|
|
192
197
|
SpreadsheetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetModule, imports: [[
|
|
193
198
|
CommonModule,
|
|
194
199
|
ButtonsModule,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright © 2023 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 { alignCenterIcon, alignJustifyIcon, alignLeftIcon, alignRightIcon, boldIcon, dropletIcon, foregroundColorIcon, italicIcon, tableColumnDeleteIcon, tableColumnInsertLeftIcon, tableColumnInsertRightIcon, tableRowDeleteIcon, tableRowInsertAboveIcon, tableRowInsertBelowIcon, underlineIcon, arrowRotateCcwIcon, arrowRotateCwIcon, bordersNoneIcon, alignTopIcon, alignMiddleIcon, alignBottomIcon, textWrapIcon, folderOpenIcon, downloadIcon, customFormatIcon, fontSizeIcon, fontFamilyIcon } from '@progress/kendo-svg-icons';
|
|
5
|
+
import { alignCenterIcon, alignJustifyIcon, alignLeftIcon, alignRightIcon, boldIcon, dropletIcon, foregroundColorIcon, italicIcon, tableColumnDeleteIcon, tableColumnInsertLeftIcon, tableColumnInsertRightIcon, tableRowDeleteIcon, tableRowInsertAboveIcon, tableRowInsertBelowIcon, underlineIcon, arrowRotateCcwIcon, arrowRotateCwIcon, bordersNoneIcon, alignTopIcon, alignMiddleIcon, alignBottomIcon, textWrapIcon, folderOpenIcon, downloadIcon, customFormatIcon, fontSizeIcon, fontFamilyIcon, cellsMergeHorizontallyIcon, paneFreezeIcon } from '@progress/kendo-svg-icons';
|
|
6
6
|
/**
|
|
7
7
|
* @hidden
|
|
8
8
|
*/
|
|
@@ -34,7 +34,12 @@ export const commandIcons = {
|
|
|
34
34
|
download: 'download',
|
|
35
35
|
format: 'custom-format',
|
|
36
36
|
fontSize: 'font-size',
|
|
37
|
-
fontFamily: 'font-family'
|
|
37
|
+
fontFamily: 'font-family',
|
|
38
|
+
merge: 'cells-merge-horizontally',
|
|
39
|
+
mergeAll: 'pane-freeze',
|
|
40
|
+
mergeHorizontally: 'cells-merge-horizontally',
|
|
41
|
+
mergeVertically: 'borders-none',
|
|
42
|
+
unmerge: 'borders-none'
|
|
38
43
|
};
|
|
39
44
|
/**
|
|
40
45
|
* @hidden
|
|
@@ -67,5 +72,10 @@ export const commandSVGIcons = {
|
|
|
67
72
|
download: downloadIcon,
|
|
68
73
|
format: customFormatIcon,
|
|
69
74
|
fontSize: fontSizeIcon,
|
|
70
|
-
fontFamily: fontFamilyIcon
|
|
75
|
+
fontFamily: fontFamilyIcon,
|
|
76
|
+
merge: cellsMergeHorizontallyIcon,
|
|
77
|
+
mergeAll: paneFreezeIcon,
|
|
78
|
+
mergeHorizontally: cellsMergeHorizontallyIcon,
|
|
79
|
+
mergeVertically: bordersNoneIcon,
|
|
80
|
+
unmerge: bordersNoneIcon
|
|
71
81
|
};
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { InjectionToken } from "@angular/core";
|
|
6
|
-
import { commandSVGIcons } from './command-icons';
|
|
6
|
+
import { commandIcons, commandSVGIcons } from './command-icons';
|
|
7
7
|
const DEFAULT_FONT_FAMILY = 'Arial';
|
|
8
8
|
const DEFAULT_FONT_SIZE = 12;
|
|
9
9
|
/**
|
|
@@ -47,13 +47,22 @@ export const FORMATS = [
|
|
|
47
47
|
* @hidden
|
|
48
48
|
*/
|
|
49
49
|
export const ALIGNS = [
|
|
50
|
-
{ icon:
|
|
51
|
-
{ icon:
|
|
52
|
-
{ icon:
|
|
53
|
-
{ icon:
|
|
54
|
-
{ icon:
|
|
55
|
-
{ icon:
|
|
56
|
-
{ icon:
|
|
50
|
+
{ icon: commandIcons.alignLeft, svgIcon: commandSVGIcons.alignLeft, textKey: 'Align Left', commandName: 'textAlign', value: 'left', cssClass: '' },
|
|
51
|
+
{ icon: commandIcons.alignCenter, svgIcon: commandSVGIcons.alignCenter, textKey: 'Align Center', commandName: 'textAlign', value: 'center', cssClass: '' },
|
|
52
|
+
{ icon: commandIcons.alignRight, svgIcon: commandSVGIcons.alignRight, textKey: 'Align Right', commandName: 'textAlign', value: 'right', cssClass: '' },
|
|
53
|
+
{ icon: commandIcons.alignJustify, svgIcon: commandSVGIcons.alignJustify, textKey: 'Align Justify', commandName: 'textAlign', value: 'justify', cssClass: '' },
|
|
54
|
+
{ icon: commandIcons.alignTop, svgIcon: commandSVGIcons.alignTop, textKey: 'Align Top', commandName: 'verticalAlign', value: 'top', cssClass: '' },
|
|
55
|
+
{ icon: commandIcons.alignMiddle, svgIcon: commandSVGIcons.alignMiddle, textKey: 'Align Middle', commandName: 'verticalAlign', value: 'center', cssClass: '' },
|
|
56
|
+
{ icon: commandIcons.alignBottom, svgIcon: commandSVGIcons.alignBottom, textKey: 'Align Bottom', commandName: 'verticalAlign', value: 'bottom', cssClass: '' }
|
|
57
|
+
];
|
|
58
|
+
/**
|
|
59
|
+
* @hidden
|
|
60
|
+
*/
|
|
61
|
+
export const MERGE = [
|
|
62
|
+
{ icon: commandIcons.mergeAll, svgIcon: commandSVGIcons.mergeAll, textKey: 'Merge all', commandName: 'cells', value: 'cells', disabled: false },
|
|
63
|
+
{ icon: commandIcons.mergeHorizontally, svgIcon: commandSVGIcons.mergeHorizontally, textKey: 'Merge horizontally', commandName: 'horizontally', value: 'horizontally', disabled: false },
|
|
64
|
+
{ icon: commandIcons.mergeVertically, svgIcon: commandSVGIcons.mergeVertically, textKey: 'Merge vertically', commandName: 'vertically', value: 'vertically', disabled: false },
|
|
65
|
+
{ icon: commandIcons.unmerge, svgIcon: commandSVGIcons.unmerge, textKey: 'Unmerge', commandName: 'unmerge', value: 'unmerge', disabled: false }
|
|
57
66
|
];
|
|
58
67
|
/**
|
|
59
68
|
* @hidden
|
|
@@ -8,3 +8,4 @@ export { SpreadsheetAddRowAboveButtonDirective } from './add-row-above-button.di
|
|
|
8
8
|
export { SpreadsheetAddRowBelowButtonDirective } from './add-row-below-button.directive';
|
|
9
9
|
export { SpreadsheetDeleteColumnButtonDirective } from './delete-column-button.directive';
|
|
10
10
|
export { SpreadsheetDeleteRowButtonDirective } from './delete-row-button.directive';
|
|
11
|
+
export { SpreadsheetMergeDirective } from './merge-tool.directive';
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2023 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { Directive } from '@angular/core';
|
|
6
|
+
import { Subscription } from 'rxjs';
|
|
7
|
+
import { ToolBarDropDownButtonComponent } from '@progress/kendo-angular-toolbar';
|
|
8
|
+
import { SpreadsheetLocalizationService } from '../../localization/spreadsheet-localization.service';
|
|
9
|
+
import { SpreadsheetService } from '../../common/spreadsheet.service';
|
|
10
|
+
import { commandIcons, commandSVGIcons } from '../shared/command-icons';
|
|
11
|
+
import { MERGE } from '../shared/constants';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@progress/kendo-angular-toolbar";
|
|
14
|
+
import * as i2 from "../../localization/spreadsheet-localization.service";
|
|
15
|
+
import * as i3 from "../../common/spreadsheet.service";
|
|
16
|
+
/**
|
|
17
|
+
* @hidden
|
|
18
|
+
*/
|
|
19
|
+
export class SpreadsheetMergeDirective {
|
|
20
|
+
constructor(host, localization, spreadsheetService) {
|
|
21
|
+
this.host = host;
|
|
22
|
+
this.spreadsheetService = spreadsheetService;
|
|
23
|
+
this.commandName = 'merge';
|
|
24
|
+
this.subs = new Subscription();
|
|
25
|
+
host.svgIcon = commandSVGIcons[this.commandName];
|
|
26
|
+
host.icon = commandIcons[this.commandName];
|
|
27
|
+
host.arrowIcon = true;
|
|
28
|
+
host.fillMode = 'flat';
|
|
29
|
+
host.data = [...MERGE];
|
|
30
|
+
this.subs.add(host.itemClick.subscribe((e) => this.onItemClick(e)));
|
|
31
|
+
host.title = localization.get(this.commandName);
|
|
32
|
+
host.textField = 'textKey';
|
|
33
|
+
}
|
|
34
|
+
ngOnInit() {
|
|
35
|
+
this.subs.add(this.host.open.subscribe(() => {
|
|
36
|
+
const sheet = this.spreadsheetService.spreadsheet.activeSheet();
|
|
37
|
+
const unmergeItem = this.host.data.find(i => i.commandName === 'unmerge');
|
|
38
|
+
const isCellMerged = this.isCellMerged(sheet.activeCell());
|
|
39
|
+
unmergeItem.disabled = !isCellMerged;
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
ngOnDestroy() {
|
|
43
|
+
this.subs.unsubscribe();
|
|
44
|
+
}
|
|
45
|
+
onItemClick(item) {
|
|
46
|
+
const value = item.value || null;
|
|
47
|
+
const options = {
|
|
48
|
+
command: 'MergeCellCommand', options: { property: item.commandName, value }
|
|
49
|
+
};
|
|
50
|
+
this.spreadsheetService.spreadsheet.executeCommand(options);
|
|
51
|
+
}
|
|
52
|
+
isCellMerged(cell) {
|
|
53
|
+
const startRow = cell.topLeft.row;
|
|
54
|
+
const endRow = cell.bottomRight.row;
|
|
55
|
+
const startCol = cell.topLeft.col;
|
|
56
|
+
const endCol = cell.bottomRight.col;
|
|
57
|
+
return (startRow !== endRow) || (startCol !== endCol);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
SpreadsheetMergeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetMergeDirective, deps: [{ token: i1.ToolBarDropDownButtonComponent }, { token: i2.SpreadsheetLocalizationService }, { token: i3.SpreadsheetService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
61
|
+
SpreadsheetMergeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SpreadsheetMergeDirective, selector: "[kendoSpreadsheetMerge]", ngImport: i0 });
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetMergeDirective, decorators: [{
|
|
63
|
+
type: Directive,
|
|
64
|
+
args: [{
|
|
65
|
+
selector: '[kendoSpreadsheetMerge]',
|
|
66
|
+
}]
|
|
67
|
+
}], ctorParameters: function () { return [{ type: i1.ToolBarDropDownButtonComponent }, { type: i2.SpreadsheetLocalizationService }, { type: i3.SpreadsheetService }]; } });
|