@progress/kendo-angular-spreadsheet 14.2.1-develop.1 → 14.3.0-develop.2
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 +15 -1
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/spreadsheet.component.mjs +330 -50
- package/esm2020/spreadsheet.module.mjs +4 -4
- package/esm2020/tools/insert/insert-link-tool.directive.mjs +4 -1
- package/esm2020/tools/shared/command-icons.mjs +17 -3
- package/fesm2015/progress-kendo-angular-spreadsheet.mjs +374 -68
- package/fesm2020/progress-kendo-angular-spreadsheet.mjs +373 -68
- package/localization/messages.d.ts +29 -1
- package/package.json +15 -15
- package/schematics/ngAdd/index.js +1 -1
- package/spreadsheet.component.d.ts +19 -4
- package/spreadsheet.module.d.ts +1 -1
- package/tools/insert/insert-link-tool.directive.d.ts +1 -0
- package/tools/shared/commands.d.ts +1 -1
@@ -8,7 +8,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
|
-
import { formulaFxIcon, trashIcon, copyIcon, pencilIcon, 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, plusIcon, menuIcon, caretAltDownIcon, caretAltLeftIcon, caretAltRightIcon
|
11
|
+
import { formulaFxIcon, trashIcon, copyIcon, pencilIcon, 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, eyeSlashIcon, eyeIcon, plusIcon, menuIcon, caretAltDownIcon, caretAltLeftIcon, caretAltRightIcon } from '@progress/kendo-svg-icons';
|
12
12
|
import * as i2 from '@progress/kendo-angular-l10n';
|
13
13
|
import { LocalizationService, L10N_PREFIX, RTL, ComponentMessages } from '@progress/kendo-angular-l10n';
|
14
14
|
import * as i3 from '@progress/kendo-angular-common';
|
@@ -23,18 +23,18 @@ import { CommonModule } from '@angular/common';
|
|
23
23
|
import { take, map } from 'rxjs/operators';
|
24
24
|
import * as i1$1 from '@progress/kendo-angular-dialog';
|
25
25
|
import { DialogContentBase, DialogModule } from '@progress/kendo-angular-dialog';
|
26
|
-
import * as
|
27
|
-
import {
|
26
|
+
import * as i2$1 from '@progress/kendo-angular-label';
|
27
|
+
import { LabelModule } from '@progress/kendo-angular-label';
|
28
|
+
import * as i5 from '@progress/kendo-angular-inputs';
|
29
|
+
import { InputsModule } from '@progress/kendo-angular-inputs';
|
30
|
+
import * as i7$1 from '@progress/kendo-angular-menu';
|
31
|
+
import { MenusModule } from '@progress/kendo-angular-menu';
|
28
32
|
import * as i1$2 from '@progress/kendo-angular-toolbar';
|
29
33
|
import { ToolBarToolComponent, ToolBarComponent, ToolBarModule } from '@progress/kendo-angular-toolbar';
|
30
34
|
import * as i4 from '@progress/kendo-angular-buttons';
|
31
35
|
import { ButtonsModule } from '@progress/kendo-angular-buttons';
|
32
36
|
import * as i1$3 from '@progress/kendo-angular-dropdowns';
|
33
37
|
import { DropDownListComponent, ComboBoxModule, DropDownListModule } from '@progress/kendo-angular-dropdowns';
|
34
|
-
import * as i5 from '@progress/kendo-angular-inputs';
|
35
|
-
import { InputsModule } from '@progress/kendo-angular-inputs';
|
36
|
-
import * as i2$1 from '@progress/kendo-angular-label';
|
37
|
-
import { LabelModule } from '@progress/kendo-angular-label';
|
38
38
|
import * as i5$1 from '@progress/kendo-angular-layout';
|
39
39
|
import { TabStripModule } from '@progress/kendo-angular-layout';
|
40
40
|
import { saveAs } from '@progress/kendo-file-saver';
|
@@ -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:
|
51
|
-
version: '14.
|
50
|
+
publishDate: 1701706666,
|
51
|
+
version: '14.3.0-develop.2',
|
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
|
|
@@ -554,7 +554,14 @@ const commandIcons = {
|
|
554
554
|
increaseFontSize: 'font-grow',
|
555
555
|
decreaseFontSize: 'font-shrink',
|
556
556
|
increaseDecimal: 'decimal-increase',
|
557
|
-
decreaseDecimal: 'decimal-decrease'
|
557
|
+
decreaseDecimal: 'decimal-decrease',
|
558
|
+
copy: 'copy',
|
559
|
+
cut: 'cut',
|
560
|
+
paste: 'clipboard',
|
561
|
+
hideRow: 'eye-slash',
|
562
|
+
unhideRow: 'eye',
|
563
|
+
hideColumn: 'eye-slash',
|
564
|
+
unhideColumn: 'eye'
|
558
565
|
};
|
559
566
|
/**
|
560
567
|
* @hidden
|
@@ -599,9 +606,56 @@ const commandSVGIcons = {
|
|
599
606
|
increaseFontSize: fontGrowIcon,
|
600
607
|
decreaseFontSize: fontShrinkIcon,
|
601
608
|
decreaseDecimal: decimalDecreaseIcon,
|
602
|
-
increaseDecimal: decimalIncreaseIcon
|
609
|
+
increaseDecimal: decimalIncreaseIcon,
|
610
|
+
copy: copyIcon,
|
611
|
+
cut: cutIcon,
|
612
|
+
paste: clipboardIcon,
|
613
|
+
hideRow: eyeSlashIcon,
|
614
|
+
unhideRow: eyeIcon,
|
615
|
+
hideColumn: eyeSlashIcon,
|
616
|
+
unhideColumn: eyeIcon
|
603
617
|
};
|
604
618
|
|
619
|
+
/**
|
620
|
+
* @hidden
|
621
|
+
*/
|
622
|
+
class InsertLinkDialogComponent extends DialogContentBase {
|
623
|
+
constructor(dialog) {
|
624
|
+
super(dialog);
|
625
|
+
this.dialog = dialog;
|
626
|
+
this.urlLink = '';
|
627
|
+
}
|
628
|
+
setData(args) {
|
629
|
+
this.urlLink = args.link;
|
630
|
+
}
|
631
|
+
}
|
632
|
+
InsertLinkDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: InsertLinkDialogComponent, deps: [{ token: i1$1.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
|
633
|
+
InsertLinkDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: InsertLinkDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
634
|
+
<form class="k-form k-form-md" method="dialog">
|
635
|
+
<div class="k-form-field">
|
636
|
+
<kendo-label [for]="textbox" text="URL"></kendo-label>
|
637
|
+
<kendo-textbox #textbox
|
638
|
+
[(value)]="urlLink">
|
639
|
+
</kendo-textbox>
|
640
|
+
</div>
|
641
|
+
</form>
|
642
|
+
`, isInline: true, components: [{ type: i2$1.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i5.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"] }] });
|
643
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: InsertLinkDialogComponent, decorators: [{
|
644
|
+
type: Component,
|
645
|
+
args: [{
|
646
|
+
template: `
|
647
|
+
<form class="k-form k-form-md" method="dialog">
|
648
|
+
<div class="k-form-field">
|
649
|
+
<kendo-label [for]="textbox" text="URL"></kendo-label>
|
650
|
+
<kendo-textbox #textbox
|
651
|
+
[(value)]="urlLink">
|
652
|
+
</kendo-textbox>
|
653
|
+
</div>
|
654
|
+
</form>
|
655
|
+
`
|
656
|
+
}]
|
657
|
+
}], ctorParameters: function () { return [{ type: i1$1.DialogRef }]; } });
|
658
|
+
|
605
659
|
/**
|
606
660
|
* @hidden
|
607
661
|
*/
|
@@ -2046,7 +2100,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
2046
2100
|
class MessagesDirective extends ComponentMessages {
|
2047
2101
|
}
|
2048
2102
|
MessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
2049
|
-
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" }, usesInheritance: true, ngImport: i0 });
|
2103
|
+
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" }, usesInheritance: true, ngImport: i0 });
|
2050
2104
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, decorators: [{
|
2051
2105
|
type: Directive,
|
2052
2106
|
args: [{
|
@@ -2178,6 +2232,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
2178
2232
|
type: Input
|
2179
2233
|
}], duplicateSheetName: [{
|
2180
2234
|
type: Input
|
2235
|
+
}], copy: [{
|
2236
|
+
type: Input
|
2237
|
+
}], cut: [{
|
2238
|
+
type: Input
|
2239
|
+
}], paste: [{
|
2240
|
+
type: Input
|
2241
|
+
}], hideRow: [{
|
2242
|
+
type: Input
|
2243
|
+
}], unhideRow: [{
|
2244
|
+
type: Input
|
2245
|
+
}], hideColumn: [{
|
2246
|
+
type: Input
|
2247
|
+
}], unhideColumn: [{
|
2248
|
+
type: Input
|
2181
2249
|
}] } });
|
2182
2250
|
|
2183
2251
|
/**
|
@@ -2678,46 +2746,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
2678
2746
|
}]
|
2679
2747
|
}], ctorParameters: function () { return [{ type: i1$2.ToolBarDropDownButtonComponent }, { type: SpreadsheetLocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }]; } });
|
2680
2748
|
|
2681
|
-
/**
|
2682
|
-
* @hidden
|
2683
|
-
*/
|
2684
|
-
class InsertLinkDialogComponent extends DialogContentBase {
|
2685
|
-
constructor(dialog) {
|
2686
|
-
super(dialog);
|
2687
|
-
this.dialog = dialog;
|
2688
|
-
this.urlLink = '';
|
2689
|
-
}
|
2690
|
-
setData(args) {
|
2691
|
-
this.urlLink = args.link;
|
2692
|
-
}
|
2693
|
-
}
|
2694
|
-
InsertLinkDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: InsertLinkDialogComponent, deps: [{ token: i1$1.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
|
2695
|
-
InsertLinkDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: InsertLinkDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
2696
|
-
<form class="k-form k-form-md" method="dialog">
|
2697
|
-
<div class="k-form-field">
|
2698
|
-
<kendo-label [for]="textbox" text="URL"></kendo-label>
|
2699
|
-
<kendo-textbox #textbox
|
2700
|
-
[(value)]="urlLink">
|
2701
|
-
</kendo-textbox>
|
2702
|
-
</div>
|
2703
|
-
</form>
|
2704
|
-
`, isInline: true, components: [{ type: i2$1.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { type: i5.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"] }] });
|
2705
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: InsertLinkDialogComponent, decorators: [{
|
2706
|
-
type: Component,
|
2707
|
-
args: [{
|
2708
|
-
template: `
|
2709
|
-
<form class="k-form k-form-md" method="dialog">
|
2710
|
-
<div class="k-form-field">
|
2711
|
-
<kendo-label [for]="textbox" text="URL"></kendo-label>
|
2712
|
-
<kendo-textbox #textbox
|
2713
|
-
[(value)]="urlLink">
|
2714
|
-
</kendo-textbox>
|
2715
|
-
</div>
|
2716
|
-
</form>
|
2717
|
-
`
|
2718
|
-
}]
|
2719
|
-
}], ctorParameters: function () { return [{ type: i1$1.DialogRef }]; } });
|
2720
|
-
|
2721
2749
|
/**
|
2722
2750
|
* @hidden
|
2723
2751
|
*/
|
@@ -2727,7 +2755,10 @@ class SpreadsheetInsertLinkDirective extends SpreadsheetCommandButton {
|
|
2727
2755
|
command: 'HyperlinkCommand'
|
2728
2756
|
});
|
2729
2757
|
this.dialogService = dialogService;
|
2730
|
-
spreadsheetService.selectionChanged.subscribe(range => this.currentRange = range);
|
2758
|
+
this.subs.add(spreadsheetService.selectionChanged.subscribe(range => this.currentRange = range));
|
2759
|
+
}
|
2760
|
+
ngOnDestroy() {
|
2761
|
+
this.subs.unsubscribe();
|
2731
2762
|
}
|
2732
2763
|
clickHandler() {
|
2733
2764
|
const sheet = this.spreadsheetService.spreadsheet.activeSheet();
|
@@ -3061,7 +3092,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
3061
3092
|
* Represents the [Kendo UI Spreadsheet component for Angular]({% slug overview_spreadsheet %}).
|
3062
3093
|
*/
|
3063
3094
|
class SpreadsheetComponent {
|
3064
|
-
constructor(ngZone, intl, host, localization, spreadsheetService, toolsService, errorService) {
|
3095
|
+
constructor(ngZone, intl, host, localization, spreadsheetService, toolsService, errorService, dialogService) {
|
3065
3096
|
this.ngZone = ngZone;
|
3066
3097
|
this.intl = intl;
|
3067
3098
|
this.host = host;
|
@@ -3069,6 +3100,7 @@ class SpreadsheetComponent {
|
|
3069
3100
|
this.spreadsheetService = spreadsheetService;
|
3070
3101
|
this.toolsService = toolsService;
|
3071
3102
|
this.errorService = errorService;
|
3103
|
+
this.dialogService = dialogService;
|
3072
3104
|
this.hostClass = true;
|
3073
3105
|
this.role = 'application';
|
3074
3106
|
/**
|
@@ -3144,10 +3176,9 @@ class SpreadsheetComponent {
|
|
3144
3176
|
this.formulaFxIcon = formulaFxIcon;
|
3145
3177
|
this.folderOpenIcon = folderOpenIcon;
|
3146
3178
|
this.downloadIcon = downloadIcon;
|
3147
|
-
/**
|
3148
|
-
* @hidden
|
3149
|
-
*/
|
3150
3179
|
this.showLicenseWatermark = false;
|
3180
|
+
this.contextMenuItems = [];
|
3181
|
+
this.subs = new Subscription();
|
3151
3182
|
this.onChange = (e) => {
|
3152
3183
|
hasObservers(this.change) && this.change.emit(e);
|
3153
3184
|
this.spreadsheetService.selectionChanged.next(e.range);
|
@@ -3266,6 +3297,7 @@ class SpreadsheetComponent {
|
|
3266
3297
|
spreadsheet.bind('excelExport', this.onExcelExport);
|
3267
3298
|
spreadsheet.view.bind('update', this.updateState);
|
3268
3299
|
spreadsheet.view.bind('message', this.onMessage);
|
3300
|
+
spreadsheet.bind('contextmenu', this.onContextMenu.bind(this));
|
3269
3301
|
const sheet = spreadsheet.activeSheet();
|
3270
3302
|
if (sheet) {
|
3271
3303
|
this.updateState({ range: sheet.range(sheet.activeCell()) });
|
@@ -3278,8 +3310,9 @@ class SpreadsheetComponent {
|
|
3278
3310
|
});
|
3279
3311
|
}
|
3280
3312
|
});
|
3281
|
-
this.spreadsheetService.sheetsChanged.subscribe(this.onSheetsChanged.bind(this));
|
3282
|
-
this.spreadsheetService.activeSheetChanged.subscribe(this.onActiveSheetChanged.bind(this));
|
3313
|
+
this.subs.add(this.spreadsheetService.sheetsChanged.subscribe(this.onSheetsChanged.bind(this)));
|
3314
|
+
this.subs.add(this.spreadsheetService.activeSheetChanged.subscribe(this.onActiveSheetChanged.bind(this)));
|
3315
|
+
this.subs.add(this.spreadsheetService.selectionChanged.subscribe(range => this.currentRange = range));
|
3283
3316
|
this.spreadsheetService.dialogContainer = this.dialogContainer;
|
3284
3317
|
});
|
3285
3318
|
}
|
@@ -3303,6 +3336,85 @@ class SpreadsheetComponent {
|
|
3303
3336
|
this.spreadsheetWidget.fromJSON(newOptions);
|
3304
3337
|
}
|
3305
3338
|
}
|
3339
|
+
ngOnDestroy() {
|
3340
|
+
this.subs.unsubscribe();
|
3341
|
+
}
|
3342
|
+
/**
|
3343
|
+
* @hidden
|
3344
|
+
*/
|
3345
|
+
onContextMenu(e) {
|
3346
|
+
if (e.targetType === 'topcorner') {
|
3347
|
+
return;
|
3348
|
+
}
|
3349
|
+
const selection = this.spreadsheetWidget.activeSheet().select();
|
3350
|
+
const { topLeft, bottomRight } = selection;
|
3351
|
+
const isRange = e.targetType === 'cell' && (topLeft.row !== bottomRight.row || topLeft.col !== bottomRight.col);
|
3352
|
+
const targetType = isRange ? 'range' : e.targetType;
|
3353
|
+
this.contextMenuItems = this.contextMenuItemsForTarget(targetType, e.showUnhide, e.showUnmerge);
|
3354
|
+
this.contextMenu.show({ top: e.originalEvent.pageY, left: e.originalEvent.pageX });
|
3355
|
+
}
|
3356
|
+
/**
|
3357
|
+
* @hidden
|
3358
|
+
*/
|
3359
|
+
onContextMenuSelect(e) {
|
3360
|
+
let command;
|
3361
|
+
switch (e.item.id) {
|
3362
|
+
case 'cut':
|
3363
|
+
command = { command: 'ToolbarCutCommand', options: { workbook: this.spreadsheetWidget.workbook } };
|
3364
|
+
break;
|
3365
|
+
case 'copy':
|
3366
|
+
command = { command: 'ToolbarCopyCommand', options: { workbook: this.spreadsheetWidget.workbook } };
|
3367
|
+
break;
|
3368
|
+
case 'unmerge':
|
3369
|
+
command = { command: 'MergeCellCommand', options: { value: 'unmerge' } };
|
3370
|
+
break;
|
3371
|
+
case 'mergeAll':
|
3372
|
+
command = { command: 'MergeCellCommand', options: { value: 'cells' } };
|
3373
|
+
break;
|
3374
|
+
case 'mergeHorizontally':
|
3375
|
+
command = { command: 'MergeCellCommand', options: { value: 'horizontally' } };
|
3376
|
+
break;
|
3377
|
+
case 'mergeVertically':
|
3378
|
+
command = { command: 'MergeCellCommand', options: { value: 'vertically' } };
|
3379
|
+
break;
|
3380
|
+
case 'hideRow':
|
3381
|
+
command = { command: 'HideLineCommand', options: { axis: 'row' } };
|
3382
|
+
break;
|
3383
|
+
case 'hideColumn':
|
3384
|
+
command = { command: 'HideLineCommand', options: { axis: 'column' } };
|
3385
|
+
break;
|
3386
|
+
case 'unhideRow':
|
3387
|
+
command = { command: 'UnHideLineCommand', options: { axis: 'row' } };
|
3388
|
+
break;
|
3389
|
+
case 'unhideColumn':
|
3390
|
+
command = { command: 'UnHideLineCommand', options: { axis: 'column' } };
|
3391
|
+
break;
|
3392
|
+
case 'deleteRow':
|
3393
|
+
command = { command: 'DeleteRowCommand' };
|
3394
|
+
break;
|
3395
|
+
case 'deleteColumn':
|
3396
|
+
command = { command: 'DeleteColumnCommand' };
|
3397
|
+
break;
|
3398
|
+
case 'insertLink':
|
3399
|
+
this.openLinkDialog();
|
3400
|
+
break;
|
3401
|
+
case 'addRowAbove':
|
3402
|
+
command = { command: 'AddRowCommand', options: { value: 'above' } };
|
3403
|
+
break;
|
3404
|
+
case 'addRowBelow':
|
3405
|
+
command = { command: 'AddRowCommand', options: { value: 'below' } };
|
3406
|
+
break;
|
3407
|
+
case 'addColumnLeft':
|
3408
|
+
command = { command: 'AddColumnCommand', options: { value: 'left' } };
|
3409
|
+
break;
|
3410
|
+
case 'addColumnRight':
|
3411
|
+
command = { command: 'AddColumnCommand', options: { value: 'right' } };
|
3412
|
+
break;
|
3413
|
+
}
|
3414
|
+
if (command) {
|
3415
|
+
this.spreadsheetWidget.executeCommand(command);
|
3416
|
+
}
|
3417
|
+
}
|
3306
3418
|
/**
|
3307
3419
|
* @hidden
|
3308
3420
|
*/
|
@@ -3343,8 +3455,163 @@ class SpreadsheetComponent {
|
|
3343
3455
|
}
|
3344
3456
|
}), { columns: this.columns, columnWidth: this.columnWidth, defaultCellStyle: this.defaultCellStyle, excel: this.excel, headerHeight: this.headerHeight, headerWidth: this.headerWidth, images: this.images, rowHeight: this.rowHeight, rows: this.rows, formulaBarInputRef: { current: this.formulaBarInputRef.current }, formulaCellInputRef: { current: this.formulaCellInputRef.current }, nameBoxRef: { current: this.nameBoxRef.current } });
|
3345
3457
|
}
|
3458
|
+
contextMenuItemsForTarget(target, unhide, unmerge) {
|
3459
|
+
const commonItems = [{
|
3460
|
+
text: this.messageFor('copy'),
|
3461
|
+
icon: commandIcons.copy,
|
3462
|
+
svgIcon: commandSVGIcons.copy,
|
3463
|
+
id: 'copy'
|
3464
|
+
}, {
|
3465
|
+
text: this.messageFor('cut'),
|
3466
|
+
icon: commandIcons.cut,
|
3467
|
+
svgIcon: commandSVGIcons.cut,
|
3468
|
+
id: 'cut'
|
3469
|
+
}, {
|
3470
|
+
text: this.messageFor('paste'),
|
3471
|
+
icon: commandIcons.paste,
|
3472
|
+
svgIcon: commandSVGIcons.paste,
|
3473
|
+
id: 'paste',
|
3474
|
+
disabled: true
|
3475
|
+
}, {
|
3476
|
+
separator: true
|
3477
|
+
}, {
|
3478
|
+
text: this.messageFor('mergeAll'),
|
3479
|
+
icon: commandIcons.mergeAll,
|
3480
|
+
svgIcon: commandSVGIcons.mergeAll,
|
3481
|
+
id: 'mergeAll',
|
3482
|
+
}, {
|
3483
|
+
text: this.messageFor('mergeHorizontally'),
|
3484
|
+
icon: commandIcons.mergeHorizontally,
|
3485
|
+
svgIcon: commandSVGIcons.mergeHorizontally,
|
3486
|
+
id: 'mergeHorizontally',
|
3487
|
+
}, {
|
3488
|
+
text: this.messageFor('mergeVertically'),
|
3489
|
+
icon: commandIcons.mergeVertically,
|
3490
|
+
svgIcon: commandSVGIcons.mergeVertically,
|
3491
|
+
id: 'mergeVertically',
|
3492
|
+
}, {
|
3493
|
+
text: this.messageFor('unmerge'),
|
3494
|
+
icon: commandIcons.unmerge,
|
3495
|
+
svgIcon: commandSVGIcons.unmerge,
|
3496
|
+
id: 'unmerge',
|
3497
|
+
disabled: !unmerge
|
3498
|
+
}, {
|
3499
|
+
separator: true
|
3500
|
+
}, {
|
3501
|
+
text: this.messageFor('insertLink'),
|
3502
|
+
icon: commandIcons.insertLink,
|
3503
|
+
svgIcon: commandSVGIcons.insertLink,
|
3504
|
+
id: 'insertLink'
|
3505
|
+
}];
|
3506
|
+
if (target === 'rowheader') {
|
3507
|
+
commonItems.push({
|
3508
|
+
separator: true
|
3509
|
+
}, {
|
3510
|
+
text: this.messageFor('addRowAbove'),
|
3511
|
+
icon: commandIcons.addRowAbove,
|
3512
|
+
svgIcon: commandSVGIcons.addRowAbove,
|
3513
|
+
id: 'addRowAbove',
|
3514
|
+
}, {
|
3515
|
+
text: this.messageFor('addRowBelow'),
|
3516
|
+
icon: commandIcons.addRowBelow,
|
3517
|
+
svgIcon: commandSVGIcons.addRowBelow,
|
3518
|
+
id: 'addRowBelow',
|
3519
|
+
}, {
|
3520
|
+
text: this.messageFor('deleteRow'),
|
3521
|
+
icon: commandIcons.deleteRow,
|
3522
|
+
svgIcon: commandSVGIcons.deleteRow,
|
3523
|
+
id: 'deleteRow',
|
3524
|
+
}, {
|
3525
|
+
text: this.messageFor('hideRow'),
|
3526
|
+
icon: commandIcons.hideRow,
|
3527
|
+
svgIcon: commandSVGIcons.hideRow,
|
3528
|
+
id: 'hideRow',
|
3529
|
+
}, {
|
3530
|
+
text: this.messageFor('unhideRow'),
|
3531
|
+
icon: commandIcons.unhideRow,
|
3532
|
+
svgIcon: commandSVGIcons.unhideRow,
|
3533
|
+
id: 'unhideRow',
|
3534
|
+
disabled: !unhide
|
3535
|
+
});
|
3536
|
+
}
|
3537
|
+
if (target === 'columnheader') {
|
3538
|
+
commonItems.push({
|
3539
|
+
separator: true
|
3540
|
+
}, {
|
3541
|
+
text: this.messageFor('addColumnLeft'),
|
3542
|
+
icon: commandIcons.addColumnLeft,
|
3543
|
+
svgIcon: commandSVGIcons.addColumnLeft,
|
3544
|
+
id: 'addColumnLeft',
|
3545
|
+
}, {
|
3546
|
+
text: this.messageFor('addColumnRight'),
|
3547
|
+
icon: commandIcons.addColumnRight,
|
3548
|
+
svgIcon: commandSVGIcons.addColumnRight,
|
3549
|
+
id: 'addColumnRight',
|
3550
|
+
}, {
|
3551
|
+
text: this.messageFor('deleteColumn'),
|
3552
|
+
icon: commandIcons.deleteColumn,
|
3553
|
+
svgIcon: commandSVGIcons.deleteColumn,
|
3554
|
+
id: 'deleteColumn',
|
3555
|
+
}, {
|
3556
|
+
text: this.messageFor('hideColumn'),
|
3557
|
+
icon: commandIcons.hideColumn,
|
3558
|
+
svgIcon: commandSVGIcons.hideColumn,
|
3559
|
+
id: 'hideColumn',
|
3560
|
+
}, {
|
3561
|
+
text: this.messageFor('unhideColumn'),
|
3562
|
+
icon: commandIcons.unhideColumn,
|
3563
|
+
svgIcon: commandSVGIcons.unhideColumn,
|
3564
|
+
id: 'unhideColumn',
|
3565
|
+
disabled: !unhide
|
3566
|
+
});
|
3567
|
+
}
|
3568
|
+
return commonItems;
|
3569
|
+
}
|
3570
|
+
openLinkDialog() {
|
3571
|
+
var _a, _b;
|
3572
|
+
const hasLink = isPresent((_a = this.currentRange) === null || _a === void 0 ? void 0 : _a.link());
|
3573
|
+
const dialogSettings = {
|
3574
|
+
appendTo: this.spreadsheetService.dialogContainer,
|
3575
|
+
title: this.localization.get('insertLink'),
|
3576
|
+
content: InsertLinkDialogComponent,
|
3577
|
+
actions: [{
|
3578
|
+
text: this.localization.get('dialogInsert'),
|
3579
|
+
themeColor: 'primary'
|
3580
|
+
}, {
|
3581
|
+
text: this.localization.get('dialogCancel')
|
3582
|
+
},
|
3583
|
+
'spacer', {
|
3584
|
+
text: this.localization.get('dialogRemoveLink'),
|
3585
|
+
themeColor: 'primary',
|
3586
|
+
fillMode: 'clear',
|
3587
|
+
cssClass: hasLink ? '' : 'k-disabled'
|
3588
|
+
}],
|
3589
|
+
actionsLayout: 'start',
|
3590
|
+
width: 400,
|
3591
|
+
autoFocusedElement: '.k-textbox > .k-input-inner'
|
3592
|
+
};
|
3593
|
+
const dialog = this.dialogService.open(dialogSettings);
|
3594
|
+
const dialogInstance = dialog.dialog.instance;
|
3595
|
+
const dialogContent = dialog.content.instance;
|
3596
|
+
if (hasLink) {
|
3597
|
+
dialogContent.setData({ link: (_b = this.currentRange) === null || _b === void 0 ? void 0 : _b.link() });
|
3598
|
+
}
|
3599
|
+
dialogInstance.action.pipe(take(1)).subscribe((event) => {
|
3600
|
+
if (event.text === this.localization.get('dialogCancel')) {
|
3601
|
+
return;
|
3602
|
+
}
|
3603
|
+
let link = null;
|
3604
|
+
if (event.text === this.localization.get('dialogInsert')) {
|
3605
|
+
link = dialogContent.urlLink || null;
|
3606
|
+
}
|
3607
|
+
this.spreadsheetService.spreadsheet.executeCommand({
|
3608
|
+
command: 'HyperlinkCommand',
|
3609
|
+
options: { link }
|
3610
|
+
});
|
3611
|
+
});
|
3612
|
+
}
|
3346
3613
|
}
|
3347
|
-
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 }], target: i0.ɵɵFactoryTarget.Component });
|
3614
|
+
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 });
|
3348
3615
|
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: [
|
3349
3616
|
SpreadsheetLocalizationService,
|
3350
3617
|
{
|
@@ -3358,7 +3625,7 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
3358
3625
|
SpreadsheetToolsService,
|
3359
3626
|
PopupService,
|
3360
3627
|
ErrorHandlingService
|
3361
|
-
], viewQueries: [{ propertyName: "formulaBarInputRef", first: true, predicate: ["formulaBar"], descendants: true, read: FormulaInputDirective }, { propertyName: "formulaCellInputRef", first: true, predicate: ["formulaCell"], descendants: true, read: FormulaInputDirective }, { propertyName: "nameBoxRef", first: true, predicate: ["nameBox"], descendants: true }, { propertyName: "dialogContainer", first: true, predicate: ["dialogContainer"], descendants: true, read: ViewContainerRef }], exportAs: ["kendo-spreadsheet"], usesOnChanges: true, ngImport: i0, template: `
|
3628
|
+
], viewQueries: [{ propertyName: "formulaBarInputRef", first: true, predicate: ["formulaBar"], descendants: true, read: FormulaInputDirective }, { propertyName: "formulaCellInputRef", first: true, predicate: ["formulaCell"], descendants: true, read: FormulaInputDirective }, { propertyName: "nameBoxRef", first: true, predicate: ["nameBox"], descendants: true }, { propertyName: "dialogContainer", first: true, predicate: ["dialogContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "contextMenu", first: true, predicate: ["contextMenu"], descendants: true }], exportAs: ["kendo-spreadsheet"], usesOnChanges: true, ngImport: i0, template: `
|
3362
3629
|
<ng-container
|
3363
3630
|
kendoSpreadsheetLocalizedMessages
|
3364
3631
|
i18n-background="kendo.spreadsheet.background|The title of the tool that changes the text background color."
|
@@ -3487,7 +3754,20 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
3487
3754
|
dialogError="Error"
|
3488
3755
|
i18n-duplicateSheetName="kendo.spreadsheet.duplicateSheetName|The content of the dialog that warns about duplicated sheet name."
|
3489
3756
|
duplicateSheetName="There is an existing sheet with this name. Please enter another name."
|
3490
|
-
|
3757
|
+
i18n-copy="kendo.spreadsheet.copy|The Copy command text."
|
3758
|
+
copy="Copy"
|
3759
|
+
i18n-cut="kendo.spreadsheet.cut|The Cut command text."
|
3760
|
+
cut="Cut"
|
3761
|
+
i18n-paste="kendo.spreadsheet.paste|The Paste command text."
|
3762
|
+
paste="Paste (use Ctrl/⌘ + V)"
|
3763
|
+
i18n-hideRow="kendo.spreadsheet.hideRow|The Hide row command text."
|
3764
|
+
hideRow="Hide"
|
3765
|
+
i18n-unhideRow="kendo.spreadsheet.unhideRow|The Unhide row command text."
|
3766
|
+
unhideRow="Unhide"
|
3767
|
+
i18n-hideColumn="kendo.spreadsheet.hideColumn|The Hide column command text."
|
3768
|
+
hideColumn="Hide"
|
3769
|
+
i18n-unhideColumn="kendo.spreadsheet.unhideColumn|The Unhide column command text."
|
3770
|
+
unhideColumn="Unhide">
|
3491
3771
|
</ng-container>
|
3492
3772
|
<div class="k-spreadsheet-header">
|
3493
3773
|
<kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
|
@@ -3586,8 +3866,13 @@ SpreadsheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
3586
3866
|
</div>
|
3587
3867
|
<ng-container #dialogContainer></ng-container>
|
3588
3868
|
|
3869
|
+
<kendo-contextmenu
|
3870
|
+
#contextMenu
|
3871
|
+
[items]="contextMenuItems"
|
3872
|
+
(select)="onContextMenuSelect($event)"></kendo-contextmenu>
|
3873
|
+
|
3589
3874
|
<div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
|
3590
|
-
`, isInline: true, components: [{ type:
|
3875
|
+
`, isInline: true, components: [{ type: i7$1.MenuComponent, selector: "kendo-menu", inputs: ["menuItemTemplate", "ariaRole", "menuItemLinkTemplate"], outputs: ["select", "open", "close"], exportAs: ["kendoMenu"] }, { type: i7$1.MenuItemComponent, selector: "kendo-menu-item", inputs: ["text", "url", "disabled", "cssClass", "cssStyle", "icon", "svgIcon", "data", "separator"] }, { type: i1$2.ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "tabindex", "size", "tabIndex"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { type: SpreadsheetLoadFileComponent, selector: "kendo-spreadsheet-load-file-tool" }, { type: i1$2.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: i1$2.ToolBarButtonGroupComponent, selector: "kendo-toolbar-buttongroup", inputs: ["disabled", "selection", "width", "look"], exportAs: ["kendoToolBarButtonGroup"] }, { type: i1$2.ToolBarSeparatorComponent, selector: "kendo-toolbar-separator", exportAs: ["kendoToolBarSeparator"] }, { type: SpreadsheetFontFamilyComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]" }, { type: SpreadsheetFontSizeComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]" }, { type: SpreadsheetForeColorComponent, selector: "kendo-spreadsheet-forecolor-tool" }, { type: SpreadsheetBackColorComponent, selector: "kendo-spreadsheet-backcolor-tool" }, { type: i1$2.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: NameBoxComponent, selector: "[kendoSpreadsheetNameBox]", inputs: ["data", "spreadsheetWidget"] }, { type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: SheetsBarComponent, selector: "[kendoSpreadsheetSheetsBar]", inputs: ["sheets", "sheetDescriptors"] }, { type: i7$1.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: i3.WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]" }, { type: MainMenuDirective, selector: "[kendoSpreadsheetMenu]" }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SpreadsheetSaveFileDirective, selector: "[kendoSpreadsheetSaveFile]" }, { type: SpreadsheetUndoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUndo]" }, { type: SpreadsheetRedoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetRedo]" }, { type: SpreadsheetIncreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseFontSize]" }, { type: SpreadsheetDecreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseFontSize]" }, { type: SpreadsheetBoldDirective, selector: "kendo-toolbar-button[kendoSpreadsheetBold]" }, { type: SpreadsheetItalicDirective, selector: "kendo-toolbar-button[kendoSpreadsheetItalic]" }, { type: SpreadsheetUnderlineDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUnderline]" }, { type: SpreadsheetHorizontalTextAlignDirective, selector: "[kendoSpreadsheetHorizontalTextAlign]" }, { type: SpreadsheetVerticalTextAlignDirective, selector: "[kendoSpreadsheetVerticalTextAlign]" }, { type: SpreadsheetTextWrapDirective, selector: "kendo-toolbar-button[kendoSpreadsheetTextWrap]" }, { type: SpreadsheetFormatDirective, selector: "[kendoSpreadsheetFormat]" }, { type: SpreadsheetInsertLinkDirective, selector: "kendo-toolbar-button[kendoSpreadsheetInsertLink]" }, { type: SpreadsheetAddColumnLeftButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnLeftButton]" }, { type: SpreadsheetAddColumnRightButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnRightButton]" }, { type: SpreadsheetAddRowBelowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowBelowButton]" }, { type: SpreadsheetAddRowAboveButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowAboveButton]" }, { type: SpreadsheetDeleteColumnButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteColumnButton]" }, { type: SpreadsheetDeleteRowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteRowButton]" }, { type: SpreadsheetDecreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseDecimal]" }, { type: SpreadsheetIncreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseDecimal]" }, { type: SpreadsheetMergeDirective, selector: "[kendoSpreadsheetMerge]" }, { type: SpreadsheetGridLinesDirective, selector: "kendo-toolbar-button[kendoSpreadsheetGridLines]" }, { type: FormulaInputDirective, selector: "[kendoSpreadsheetFormulaInput]" }] });
|
3591
3876
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetComponent, decorators: [{
|
3592
3877
|
type: Component,
|
3593
3878
|
args: [{
|
@@ -3736,7 +4021,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
3736
4021
|
dialogError="Error"
|
3737
4022
|
i18n-duplicateSheetName="kendo.spreadsheet.duplicateSheetName|The content of the dialog that warns about duplicated sheet name."
|
3738
4023
|
duplicateSheetName="There is an existing sheet with this name. Please enter another name."
|
3739
|
-
|
4024
|
+
i18n-copy="kendo.spreadsheet.copy|The Copy command text."
|
4025
|
+
copy="Copy"
|
4026
|
+
i18n-cut="kendo.spreadsheet.cut|The Cut command text."
|
4027
|
+
cut="Cut"
|
4028
|
+
i18n-paste="kendo.spreadsheet.paste|The Paste command text."
|
4029
|
+
paste="Paste (use Ctrl/⌘ + V)"
|
4030
|
+
i18n-hideRow="kendo.spreadsheet.hideRow|The Hide row command text."
|
4031
|
+
hideRow="Hide"
|
4032
|
+
i18n-unhideRow="kendo.spreadsheet.unhideRow|The Unhide row command text."
|
4033
|
+
unhideRow="Unhide"
|
4034
|
+
i18n-hideColumn="kendo.spreadsheet.hideColumn|The Hide column command text."
|
4035
|
+
hideColumn="Hide"
|
4036
|
+
i18n-unhideColumn="kendo.spreadsheet.unhideColumn|The Unhide column command text."
|
4037
|
+
unhideColumn="Unhide">
|
3740
4038
|
</ng-container>
|
3741
4039
|
<div class="k-spreadsheet-header">
|
3742
4040
|
<kendo-menu kendoSpreadsheetMenu (select)="onMenuItemSelect($event)">
|
@@ -3835,10 +4133,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
3835
4133
|
</div>
|
3836
4134
|
<ng-container #dialogContainer></ng-container>
|
3837
4135
|
|
4136
|
+
<kendo-contextmenu
|
4137
|
+
#contextMenu
|
4138
|
+
[items]="contextMenuItems"
|
4139
|
+
(select)="onContextMenuSelect($event)"></kendo-contextmenu>
|
4140
|
+
|
3838
4141
|
<div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
|
3839
4142
|
`,
|
3840
4143
|
}]
|
3841
|
-
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$4.IntlService }, { type: i0.ElementRef }, { type: i2.LocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: ErrorHandlingService }]; }, propDecorators: { formulaBarInputRef: [{
|
4144
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$4.IntlService }, { type: i0.ElementRef }, { type: i2.LocalizationService }, { type: SpreadsheetService }, { type: SpreadsheetToolsService }, { type: ErrorHandlingService }, { type: i1$1.DialogService }]; }, propDecorators: { formulaBarInputRef: [{
|
3842
4145
|
type: ViewChild,
|
3843
4146
|
args: ['formulaBar', { read: FormulaInputDirective }]
|
3844
4147
|
}], formulaCellInputRef: [{
|
@@ -3850,6 +4153,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
3850
4153
|
}], dialogContainer: [{
|
3851
4154
|
type: ViewChild,
|
3852
4155
|
args: ['dialogContainer', { read: ViewContainerRef }]
|
4156
|
+
}], contextMenu: [{
|
4157
|
+
type: ViewChild,
|
4158
|
+
args: ['contextMenu']
|
3853
4159
|
}], hostClass: [{
|
3854
4160
|
type: HostBinding,
|
3855
4161
|
args: ['class.k-spreadsheet']
|
@@ -4107,7 +4413,7 @@ SpreadsheetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
|
|
4107
4413
|
EventsModule,
|
4108
4414
|
IconsModule,
|
4109
4415
|
IntlModule,
|
4110
|
-
|
4416
|
+
MenusModule,
|
4111
4417
|
PopupModule,
|
4112
4418
|
TabStripModule,
|
4113
4419
|
ToolBarModule,
|
@@ -4153,7 +4459,7 @@ SpreadsheetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versi
|
|
4153
4459
|
EventsModule,
|
4154
4460
|
IconsModule,
|
4155
4461
|
IntlModule,
|
4156
|
-
|
4462
|
+
MenusModule,
|
4157
4463
|
PopupModule,
|
4158
4464
|
TabStripModule,
|
4159
4465
|
ToolBarModule,
|
@@ -4175,7 +4481,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
4175
4481
|
EventsModule,
|
4176
4482
|
IconsModule,
|
4177
4483
|
IntlModule,
|
4178
|
-
|
4484
|
+
MenusModule,
|
4179
4485
|
PopupModule,
|
4180
4486
|
TabStripModule,
|
4181
4487
|
ToolBarModule,
|