@progress/kendo-angular-spreadsheet 13.6.0-develop.6

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.
Files changed (127) hide show
  1. package/LICENSE.md +11 -0
  2. package/NOTICE.txt +654 -0
  3. package/README.md +32 -0
  4. package/action-bar/formula-input.directive.d.ts +33 -0
  5. package/action-bar/list.component.d.ts +23 -0
  6. package/action-bar/namebox.component.d.ts +30 -0
  7. package/common/main-menu.directive.d.ts +17 -0
  8. package/common/sheet-changes.d.ts +23 -0
  9. package/common/spreadsheet.service.d.ts +28 -0
  10. package/esm2020/action-bar/formula-input.directive.mjs +142 -0
  11. package/esm2020/action-bar/list.component.mjs +75 -0
  12. package/esm2020/action-bar/namebox.component.mjs +110 -0
  13. package/esm2020/common/main-menu.directive.mjs +25 -0
  14. package/esm2020/common/sheet-changes.mjs +5 -0
  15. package/esm2020/common/spreadsheet.service.mjs +42 -0
  16. package/esm2020/index.mjs +12 -0
  17. package/esm2020/localization/custom-messages.component.mjs +42 -0
  18. package/esm2020/localization/localized-messages.directive.mjs +33 -0
  19. package/esm2020/localization/messages.mjs +80 -0
  20. package/esm2020/localization/spreadsheet-localization.service.mjs +31 -0
  21. package/esm2020/models/events.mjs +5 -0
  22. package/esm2020/models/index.mjs +7 -0
  23. package/esm2020/models/main-menu-item.mjs +5 -0
  24. package/esm2020/models/sheet-info.mjs +5 -0
  25. package/esm2020/package-metadata.mjs +15 -0
  26. package/esm2020/progress-kendo-angular-spreadsheet.mjs +8 -0
  27. package/esm2020/sheets-bar/action-dialog.component.mjs +68 -0
  28. package/esm2020/sheets-bar/remove.directive.mjs +25 -0
  29. package/esm2020/sheets-bar/sheets-bar.component.mjs +278 -0
  30. package/esm2020/sheets-bar/utils.mjs +45 -0
  31. package/esm2020/spreadsheet.component.mjs +725 -0
  32. package/esm2020/spreadsheet.module.mjs +235 -0
  33. package/esm2020/tools/align-tool.directive.mjs +58 -0
  34. package/esm2020/tools/colorpicker/spreadsheet-backcolor.component.mjs +98 -0
  35. package/esm2020/tools/colorpicker/spreadsheet-forecolor.component.mjs +98 -0
  36. package/esm2020/tools/font-family/font-family-dropdownlist.component.mjs +57 -0
  37. package/esm2020/tools/font-family/spreadsheet-fontfamily-tool.component.mjs +92 -0
  38. package/esm2020/tools/font-size/font-size-dropdownlist.component.mjs +42 -0
  39. package/esm2020/tools/font-size/spreadsheet-fontsize-tool.component.mjs +92 -0
  40. package/esm2020/tools/format-tool.directive.mjs +61 -0
  41. package/esm2020/tools/gridlines-tool.directive.mjs +46 -0
  42. package/esm2020/tools/history/redo-tool.mjs +36 -0
  43. package/esm2020/tools/history/undo-tool.mjs +36 -0
  44. package/esm2020/tools/index.mjs +20 -0
  45. package/esm2020/tools/load-file.component.mjs +186 -0
  46. package/esm2020/tools/save-file-tool.directive.mjs +52 -0
  47. package/esm2020/tools/shared/command-icons.mjs +71 -0
  48. package/esm2020/tools/shared/commands.mjs +5 -0
  49. package/esm2020/tools/shared/constants.mjs +61 -0
  50. package/esm2020/tools/shared/dialog-content.component.mjs +114 -0
  51. package/esm2020/tools/shared/spreadsheet-command-base.mjs +75 -0
  52. package/esm2020/tools/shared/spreadsheet-command-button.mjs +25 -0
  53. package/esm2020/tools/shared/spreadsheet-dropdown-tools-base.mjs +184 -0
  54. package/esm2020/tools/shared/spreadsheet-dropdownlist.base.mjs +50 -0
  55. package/esm2020/tools/tables/add-column-left-button.directive.mjs +36 -0
  56. package/esm2020/tools/tables/add-column-right-button.directive.mjs +36 -0
  57. package/esm2020/tools/tables/add-row-above-button.directive.mjs +36 -0
  58. package/esm2020/tools/tables/add-row-below-button.directive.mjs +36 -0
  59. package/esm2020/tools/tables/delete-column-button.directive.mjs +34 -0
  60. package/esm2020/tools/tables/delete-row-button.directive.mjs +34 -0
  61. package/esm2020/tools/tables/index.mjs +10 -0
  62. package/esm2020/tools/text-wrap-tool.directive.mjs +47 -0
  63. package/esm2020/tools/tools.service.mjs +60 -0
  64. package/esm2020/tools/typographical-emphasis/bold-tool.directive.mjs +36 -0
  65. package/esm2020/tools/typographical-emphasis/italic-tool.directive.mjs +36 -0
  66. package/esm2020/tools/typographical-emphasis/underline-tool.directive.mjs +36 -0
  67. package/esm2020/tools/utils.mjs +13 -0
  68. package/esm2020/utils.mjs +25 -0
  69. package/fesm2015/progress-kendo-angular-spreadsheet.mjs +3372 -0
  70. package/fesm2020/progress-kendo-angular-spreadsheet.mjs +3382 -0
  71. package/index.d.ts +13 -0
  72. package/localization/custom-messages.component.d.ts +18 -0
  73. package/localization/localized-messages.directive.d.ts +16 -0
  74. package/localization/messages.d.ts +133 -0
  75. package/localization/spreadsheet-localization.service.d.ts +14 -0
  76. package/models/events.d.ts +65 -0
  77. package/models/index.d.ts +7 -0
  78. package/models/main-menu-item.d.ts +19 -0
  79. package/models/sheet-info.d.ts +26 -0
  80. package/package-metadata.d.ts +9 -0
  81. package/package.json +65 -0
  82. package/progress-kendo-angular-spreadsheet.d.ts +9 -0
  83. package/schematics/collection.json +12 -0
  84. package/schematics/ngAdd/index.js +13 -0
  85. package/schematics/ngAdd/schema.json +24 -0
  86. package/sheets-bar/action-dialog.component.d.ts +19 -0
  87. package/sheets-bar/remove.directive.d.ts +13 -0
  88. package/sheets-bar/sheets-bar.component.d.ts +53 -0
  89. package/sheets-bar/utils.d.ts +10 -0
  90. package/spreadsheet.component.d.ts +176 -0
  91. package/spreadsheet.module.d.ts +62 -0
  92. package/tools/align-tool.directive.d.ts +25 -0
  93. package/tools/colorpicker/spreadsheet-backcolor.component.d.ts +20 -0
  94. package/tools/colorpicker/spreadsheet-forecolor.component.d.ts +20 -0
  95. package/tools/font-family/font-family-dropdownlist.component.d.ts +13 -0
  96. package/tools/font-family/spreadsheet-fontfamily-tool.component.d.ts +24 -0
  97. package/tools/font-size/font-size-dropdownlist.component.d.ts +13 -0
  98. package/tools/font-size/spreadsheet-fontsize-tool.component.d.ts +24 -0
  99. package/tools/format-tool.directive.d.ts +36 -0
  100. package/tools/gridlines-tool.directive.d.ts +19 -0
  101. package/tools/history/redo-tool.d.ts +19 -0
  102. package/tools/history/undo-tool.d.ts +19 -0
  103. package/tools/index.d.ts +20 -0
  104. package/tools/load-file.component.d.ts +41 -0
  105. package/tools/save-file-tool.directive.d.ts +22 -0
  106. package/tools/shared/command-icons.d.ts +14 -0
  107. package/tools/shared/commands.d.ts +8 -0
  108. package/tools/shared/constants.d.ts +50 -0
  109. package/tools/shared/dialog-content.component.d.ts +21 -0
  110. package/tools/shared/spreadsheet-command-base.d.ts +29 -0
  111. package/tools/shared/spreadsheet-command-button.d.ts +23 -0
  112. package/tools/shared/spreadsheet-dropdown-tools-base.d.ts +76 -0
  113. package/tools/shared/spreadsheet-dropdownlist.base.d.ts +25 -0
  114. package/tools/tables/add-column-left-button.directive.d.ts +18 -0
  115. package/tools/tables/add-column-right-button.directive.d.ts +18 -0
  116. package/tools/tables/add-row-above-button.directive.d.ts +18 -0
  117. package/tools/tables/add-row-below-button.directive.d.ts +18 -0
  118. package/tools/tables/delete-column-button.directive.d.ts +18 -0
  119. package/tools/tables/delete-row-button.directive.d.ts +18 -0
  120. package/tools/tables/index.d.ts +10 -0
  121. package/tools/text-wrap-tool.directive.d.ts +19 -0
  122. package/tools/tools.service.d.ts +21 -0
  123. package/tools/typographical-emphasis/bold-tool.directive.d.ts +18 -0
  124. package/tools/typographical-emphasis/italic-tool.directive.d.ts +18 -0
  125. package/tools/typographical-emphasis/underline-tool.directive.d.ts +18 -0
  126. package/tools/utils.d.ts +8 -0
  127. package/utils.d.ts +9 -0
@@ -0,0 +1,42 @@
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, forwardRef } from '@angular/core';
6
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
7
+ import { MessagesDirective } from './messages';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@progress/kendo-angular-l10n";
10
+ /**
11
+ * Custom component messages override default component messages
12
+ * ([see example]({% slug globalization_spreadsheet %}#toc-localization)).
13
+ */
14
+ export class CustomMessagesComponent extends MessagesDirective {
15
+ constructor(service) {
16
+ super();
17
+ this.service = service;
18
+ }
19
+ get override() {
20
+ return true;
21
+ }
22
+ }
23
+ CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
24
+ CustomMessagesComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: CustomMessagesComponent, selector: "kendo-spreadsheet-messages", providers: [
25
+ {
26
+ provide: MessagesDirective,
27
+ useExisting: forwardRef(() => CustomMessagesComponent)
28
+ }
29
+ ], usesInheritance: true, ngImport: i0 });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CustomMessagesComponent, decorators: [{
31
+ type: Directive,
32
+ args: [{
33
+ providers: [
34
+ {
35
+ provide: MessagesDirective,
36
+ useExisting: forwardRef(() => CustomMessagesComponent)
37
+ }
38
+ ],
39
+ // eslint-disable-next-line @angular-eslint/directive-selector
40
+ selector: 'kendo-spreadsheet-messages'
41
+ }]
42
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
@@ -0,0 +1,33 @@
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, forwardRef } from '@angular/core';
6
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
7
+ import { MessagesDirective } from './messages';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@progress/kendo-angular-l10n";
10
+ /**
11
+ * @hidden
12
+ */
13
+ export class LocalizedMessagesDirective extends MessagesDirective {
14
+ constructor(service) {
15
+ super();
16
+ this.service = service;
17
+ }
18
+ }
19
+ LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
20
+ LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]", providers: [{
21
+ provide: MessagesDirective,
22
+ useExisting: forwardRef(() => LocalizedMessagesDirective)
23
+ }], usesInheritance: true, ngImport: i0 });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
25
+ type: Directive,
26
+ args: [{
27
+ providers: [{
28
+ provide: MessagesDirective,
29
+ useExisting: forwardRef(() => LocalizedMessagesDirective)
30
+ }],
31
+ selector: '[kendoSpreadsheetLocalizedMessages]'
32
+ }]
33
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
@@ -0,0 +1,80 @@
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, Input } from '@angular/core';
6
+ import { ComponentMessages } from '@progress/kendo-angular-l10n';
7
+ import * as i0 from "@angular/core";
8
+ /**
9
+ * @hidden
10
+ */
11
+ export class MessagesDirective extends ComponentMessages {
12
+ }
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" }, usesInheritance: true, ngImport: i0 });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MessagesDirective, decorators: [{
16
+ type: Directive,
17
+ args: [{
18
+ selector: '[kendoSpreadsheetMessages]'
19
+ }]
20
+ }], propDecorators: { home: [{
21
+ type: Input
22
+ }], file: [{
23
+ type: Input
24
+ }], insert: [{
25
+ type: Input
26
+ }], saveFile: [{
27
+ type: Input
28
+ }], loadFile: [{
29
+ type: Input
30
+ }], bold: [{
31
+ type: Input
32
+ }], italic: [{
33
+ type: Input
34
+ }], underline: [{
35
+ type: Input
36
+ }], format: [{
37
+ type: Input
38
+ }], fontFamily: [{
39
+ type: Input
40
+ }], fontSize: [{
41
+ type: Input
42
+ }], undo: [{
43
+ type: Input
44
+ }], redo: [{
45
+ type: Input
46
+ }], background: [{
47
+ type: Input
48
+ }], color: [{
49
+ type: Input
50
+ }], gridLines: [{
51
+ type: Input
52
+ }], addColumnLeft: [{
53
+ type: Input
54
+ }], addColumnRight: [{
55
+ type: Input
56
+ }], addRowBelow: [{
57
+ type: Input
58
+ }], addRowAbove: [{
59
+ type: Input
60
+ }], deleteColumn: [{
61
+ type: Input
62
+ }], deleteRow: [{
63
+ type: Input
64
+ }], wrap: [{
65
+ type: Input
66
+ }], align: [{
67
+ type: Input
68
+ }], dialogApply: [{
69
+ type: Input
70
+ }], dialogCancel: [{
71
+ type: Input
72
+ }], dialogDelete: [{
73
+ type: Input
74
+ }], dialogRename: [{
75
+ type: Input
76
+ }], delete: [{
77
+ type: Input
78
+ }], rename: [{
79
+ type: Input
80
+ }] } });
@@ -0,0 +1,31 @@
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 { Inject, Injectable, Optional } from '@angular/core';
6
+ import { LocalizationService, L10N_PREFIX, MessageService, RTL } from '@progress/kendo-angular-l10n';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@progress/kendo-angular-l10n";
9
+ /**
10
+ * @hidden
11
+ */
12
+ export class SpreadsheetLocalizationService extends LocalizationService {
13
+ constructor(prefix, messageService, _rtl) {
14
+ super(prefix, messageService, _rtl);
15
+ }
16
+ }
17
+ SpreadsheetLocalizationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetLocalizationService, deps: [{ token: L10N_PREFIX }, { token: i1.MessageService, optional: true }, { token: RTL, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
18
+ SpreadsheetLocalizationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetLocalizationService });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpreadsheetLocalizationService, decorators: [{
20
+ type: Injectable
21
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
22
+ type: Inject,
23
+ args: [L10N_PREFIX]
24
+ }] }, { type: i1.MessageService, decorators: [{
25
+ type: Optional
26
+ }] }, { type: undefined, decorators: [{
27
+ type: Optional
28
+ }, {
29
+ type: Inject,
30
+ args: [RTL]
31
+ }] }]; } });
@@ -0,0 +1,5 @@
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
+ export {};
@@ -0,0 +1,7 @@
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
+ export * from './sheet-info';
6
+ export * from './main-menu-item';
7
+ export * from './events';
@@ -0,0 +1,5 @@
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
+ export {};
@@ -0,0 +1,5 @@
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
+ export {};
@@ -0,0 +1,15 @@
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
+ /**
6
+ * @hidden
7
+ */
8
+ export const packageMetadata = {
9
+ name: '@progress/kendo-angular-spreadsheet',
10
+ productName: 'Kendo UI for Angular',
11
+ productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
+ publishDate: 1695882759,
13
+ version: '13.6.0-develop.6',
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
+ };
@@ -0,0 +1,8 @@
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
+ /**
6
+ * Generated bundle index. Do not edit.
7
+ */
8
+ export * from './index';
@@ -0,0 +1,68 @@
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 { Component } from '@angular/core';
6
+ import { DialogRef, DialogContentBase } from '@progress/kendo-angular-dialog';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@progress/kendo-angular-dialog";
9
+ import * as i2 from "@progress/kendo-angular-inputs";
10
+ import * as i3 from "@angular/common";
11
+ /**
12
+ * @hidden
13
+ */
14
+ export class ActionDialogComponent extends DialogContentBase {
15
+ constructor(dialog) {
16
+ super(dialog);
17
+ this.dialog = dialog;
18
+ }
19
+ setData(args) {
20
+ this.value = args.value;
21
+ this.tabindex = args.tabindex;
22
+ this.commandName = args.commandName;
23
+ }
24
+ }
25
+ ActionDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ActionDialogComponent, deps: [{ token: i1.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
26
+ ActionDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ActionDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
27
+ <ng-container *ngIf="commandName === 'delete'">
28
+ <p>The deleted sheet data will be lost.</p>
29
+ <p>Are you sure you want to proceed?</p>
30
+ </ng-container>
31
+
32
+ <form class="k-form k-form-md" *ngIf="commandName === 'rename'">
33
+ <div class="k-form-field">
34
+ <label class="k-label k-form-label">Rename sheet</label>
35
+ <div class="k-form-field-wrap">
36
+ <kendo-textbox
37
+ autocomplete="off"
38
+ placeholder="Sheet name"
39
+ [(value)]="value">
40
+ </kendo-textbox>
41
+ </div>
42
+ </div>
43
+ </form>
44
+ `, isInline: true, components: [{ type: i2.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"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ActionDialogComponent, decorators: [{
46
+ type: Component,
47
+ args: [{
48
+ template: `
49
+ <ng-container *ngIf="commandName === 'delete'">
50
+ <p>The deleted sheet data will be lost.</p>
51
+ <p>Are you sure you want to proceed?</p>
52
+ </ng-container>
53
+
54
+ <form class="k-form k-form-md" *ngIf="commandName === 'rename'">
55
+ <div class="k-form-field">
56
+ <label class="k-label k-form-label">Rename sheet</label>
57
+ <div class="k-form-field-wrap">
58
+ <kendo-textbox
59
+ autocomplete="off"
60
+ placeholder="Sheet name"
61
+ [(value)]="value">
62
+ </kendo-textbox>
63
+ </div>
64
+ </div>
65
+ </form>
66
+ `
67
+ }]
68
+ }], ctorParameters: function () { return [{ type: i1.DialogRef }]; } });
@@ -0,0 +1,25 @@
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, HostBinding } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * @hidden
9
+ */
10
+ export class RemoveDirective {
11
+ constructor() {
12
+ this.hostDisplay = 'none';
13
+ }
14
+ }
15
+ RemoveDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RemoveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
16
+ RemoveDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: RemoveDirective, selector: "[kendoRemoveDirective]", host: { properties: { "style.display": "this.hostDisplay" } }, ngImport: i0 });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RemoveDirective, decorators: [{
18
+ type: Directive,
19
+ args: [{
20
+ selector: '[kendoRemoveDirective]',
21
+ }]
22
+ }], propDecorators: { hostDisplay: [{
23
+ type: HostBinding,
24
+ args: ['style.display']
25
+ }] } });
@@ -0,0 +1,278 @@
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 { Component, ElementRef, HostBinding, Input, NgZone, Renderer2 } from '@angular/core';
6
+ import { caretAltDownIcon, menuIcon, plusIcon, caretAltLeftIcon, caretAltRightIcon, eyeIcon } from '@progress/kendo-svg-icons';
7
+ import { SpreadsheetService } from '../common/spreadsheet.service';
8
+ import { isDocumentAvailable, isPresent } from '@progress/kendo-angular-common';
9
+ import { DialogService } from '@progress/kendo-angular-dialog';
10
+ import { SpreadsheetLocalizationService } from '../localization/spreadsheet-localization.service';
11
+ import { take } from 'rxjs/operators';
12
+ import { ActionDialogComponent } from './action-dialog.component';
13
+ import { mapToSheetDescriptor } from '../utils';
14
+ import { getSheetActions } from './utils';
15
+ import * as i0 from "@angular/core";
16
+ import * as i1 from "../common/spreadsheet.service";
17
+ import * as i2 from "../localization/spreadsheet-localization.service";
18
+ import * as i3 from "@progress/kendo-angular-dialog";
19
+ import * as i4 from "@progress/kendo-angular-buttons";
20
+ import * as i5 from "@progress/kendo-angular-layout";
21
+ import * as i6 from "@progress/kendo-angular-common";
22
+ import * as i7 from "@angular/common";
23
+ /**
24
+ * @hidden
25
+ */
26
+ export class SheetsBarComponent {
27
+ constructor(spreadsheetService, element, renderer, localization, dialogService, ngZone) {
28
+ this.spreadsheetService = spreadsheetService;
29
+ this.element = element;
30
+ this.renderer = renderer;
31
+ this.localization = localization;
32
+ this.dialogService = dialogService;
33
+ this.ngZone = ngZone;
34
+ this.hostClasses = true;
35
+ this.plusIcon = plusIcon;
36
+ this.menuIcon = menuIcon;
37
+ this.caretAltDownIcon = caretAltDownIcon;
38
+ this.caretAltLeftIcon = caretAltLeftIcon;
39
+ this.caretAltRightIcon = caretAltRightIcon;
40
+ this.selected = false;
41
+ this.openedDdb = null;
42
+ this.eyeIcon = eyeIcon;
43
+ this.onAddClick = () => {
44
+ if (this.spreadsheetService.spreadsheet) {
45
+ this.spreadsheetService.spreadsheet.view.sheetsbar.onAddSelect();
46
+ this.notifySheetsChange();
47
+ }
48
+ };
49
+ this.actionsCallback = {
50
+ copy: (sheetInfo) => {
51
+ sheetInfo.copies ? sheetInfo.copies += 1 : sheetInfo.copies = 1;
52
+ const sheetToCopy = this.spreadsheetService.spreadsheet.sheets().find(s => s.name() === sheetInfo.text);
53
+ const newName = `${sheetToCopy.name()} (${sheetInfo.copies})`;
54
+ this.spreadsheetService.spreadsheet.insertSheet({ data: { ...sheetToCopy.toJSON(), name: newName }, index: sheetInfo.index + 1 });
55
+ this.selectSheet(newName);
56
+ },
57
+ move: (sheetInfo, itemText) => {
58
+ const oldIndex = this.spreadsheetService.spreadsheet.sheets().findIndex(sheet => sheet.name() === sheetInfo.text);
59
+ const newIndex = itemText === 'Move Right' ? oldIndex + 1 : oldIndex - 1;
60
+ const sheetsBar = this.spreadsheetService.spreadsheet.view.sheetsbar;
61
+ sheetsBar.onSheetReorderEnd({ oldIndex, newIndex });
62
+ this.notifySheetsChange();
63
+ }
64
+ };
65
+ }
66
+ get activeSheet() {
67
+ return this.spreadsheetService.spreadsheet?.activeSheet()?.name();
68
+ }
69
+ get sheetsMenuList() {
70
+ return this.sheets?.map(sheet => ({ text: sheet.text, icon: 'eye', svgIcon: this.eyeIcon }));
71
+ }
72
+ ngAfterViewInit() {
73
+ if (!isDocumentAvailable() || !this.element.nativeElement) {
74
+ return;
75
+ }
76
+ const prevBtn = this.element.nativeElement.querySelector('.k-tabstrip-prev');
77
+ const nextBtn = this.element.nativeElement.querySelector('.k-tabstrip-next');
78
+ this.renderer.addClass(prevBtn, 'k-order-1');
79
+ this.renderer.addClass(nextBtn, 'k-order-2');
80
+ }
81
+ onTabSelect(ev) {
82
+ if (ev.title !== this.activeSheet) {
83
+ this.selectSheet(ev.title);
84
+ }
85
+ }
86
+ onOpen(ddb) {
87
+ if (isPresent(this.openedDdb) && this.openedDdb !== ddb) {
88
+ this.openedDdb.toggle(false);
89
+ }
90
+ this.openedDdb = ddb;
91
+ }
92
+ onClose() {
93
+ this.openedDdb = null;
94
+ }
95
+ onActionClick(dataItem, sheet) {
96
+ if (dataItem.disabled) {
97
+ return;
98
+ }
99
+ if (dataItem.commandName === 'delete' || dataItem.commandName === 'rename') {
100
+ this.openDialog(dataItem, sheet);
101
+ }
102
+ else {
103
+ this.actionsCallback[dataItem.commandName](sheet, dataItem.text);
104
+ }
105
+ }
106
+ onMenuItemClick(item) {
107
+ const sheet = this.sheets.find(s => s.text === item.text);
108
+ this.selectSheet(sheet.text);
109
+ }
110
+ openDialog(dataItem, sheet) {
111
+ const dialogSettings = {
112
+ appendTo: this.spreadsheetService.dialogContainer,
113
+ title: this.localization.get(dataItem.commandName),
114
+ content: ActionDialogComponent,
115
+ actions: [{
116
+ text: this.localization.get(dataItem.dialogButton),
117
+ themeColor: 'primary'
118
+ }, {
119
+ text: this.localization.get('dialogCancel')
120
+ }],
121
+ actionsLayout: 'stretched',
122
+ autoFocusedElement: '.k-textbox .k-input-inner, .k-button-solid-primary'
123
+ };
124
+ const dialog = this.dialogService.open(dialogSettings);
125
+ const dialogInstance = dialog.dialog.instance;
126
+ const dialogContent = dialog.content.instance;
127
+ dialogInstance.action.pipe(take(1)).subscribe((event) => {
128
+ if (event.text === this.localization.get(dataItem.dialogButton)) {
129
+ const sheetsBar = this.spreadsheetService.spreadsheet.view.sheetsbar;
130
+ if (sheetsBar) {
131
+ dataItem.commandName === 'delete' ? sheetsBar.onSheetRemove(sheet.text) : sheetsBar.onSheetRename(dialogContent.value, this.sheets.indexOf(sheet));
132
+ this.notifySheetsChange();
133
+ }
134
+ }
135
+ });
136
+ dialogContent.setData({
137
+ value: sheet.text,
138
+ tabindex: -1,
139
+ commandName: dataItem.commandName
140
+ });
141
+ }
142
+ selectSheet(sheetName) {
143
+ const spreadsheetSheet = this.spreadsheetService.spreadsheet.sheets().find(s => s.name() === sheetName);
144
+ this.spreadsheetService.spreadsheet.activeSheet(spreadsheetSheet);
145
+ this.spreadsheetService.currentActiveSheet = sheetName;
146
+ this.spreadsheetService.activeSheetChanged.next(spreadsheetSheet);
147
+ this.notifySheetsChange();
148
+ }
149
+ notifySheetsChange() {
150
+ this.ngZone.run(() => {
151
+ const newSheets = this.spreadsheetService.spreadsheet.sheets();
152
+ const sheetDesc = mapToSheetDescriptor(newSheets);
153
+ console.log(newSheets, 'new');
154
+ this.sheets = sheetDesc.map((item, index, items) => ({
155
+ ...item,
156
+ inEdit: false,
157
+ first: index === 0,
158
+ last: index === items.length - 1,
159
+ text: item.name,
160
+ active: (item.name === this.activeSheet) || items.length === 1,
161
+ index,
162
+ sheetActions: getSheetActions(index, items)
163
+ }));
164
+ });
165
+ }
166
+ }
167
+ SheetsBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SheetsBarComponent, deps: [{ token: i1.SpreadsheetService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.SpreadsheetLocalizationService }, { token: i3.DialogService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
168
+ SheetsBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SheetsBarComponent, selector: "[kendoSpreadsheetSheetsBar]", inputs: { sheets: "sheets", sheetDescriptors: "sheetDescriptors" }, host: { properties: { "class.k-spreadsheet-sheets-bar": "this.hostClasses" } }, ngImport: i0, template: `
169
+ <button kendoButton
170
+ title="Add new sheet"
171
+ type="button"
172
+ fillMode="flat"
173
+ class="k-spreadsheet-sheet-add"
174
+ icon="plus"
175
+ [svgIcon]="plusIcon"
176
+ [kendoEventsOutsideAngular]="{click: onAddClick}">
177
+ </button>
178
+ <kendo-dropdownbutton #menuDdb
179
+ fillMode="flat"
180
+ buttonClass="k-spreadsheet-sheets-menu"
181
+ icon="menu"
182
+ [svgIcon]="menuIcon"
183
+ [data]="sheetsMenuList"
184
+ (itemClick)="onMenuItemClick($event)"
185
+ (open)="onOpen(menuDdb)">
186
+ </kendo-dropdownbutton>
187
+ <kendo-tabstrip
188
+ [tabPosition]="'bottom'"
189
+ [showContentArea]="false"
190
+ [scrollable]="{prevButtonIcon: 'caret-alt-left', prevSVGButtonIcon: caretAltLeftIcon, nextButtonIcon: 'caret-alt-right', nextSVGButtonIcon: caretAltRightIcon}"
191
+ class="k-spreadsheet-sheets k-overflow-hidden"
192
+ (tabSelect)="onTabSelect($event)"
193
+ [keepTabContent]="true">
194
+ <ng-container *ngFor="let sheet of sheets">
195
+ <kendo-tabstrip-tab
196
+ [title]="sheet.text"
197
+ [selected]="sheet.text === activeSheet">
198
+ <ng-template kendoTabTemplate>
199
+ <span class="k-link">{{sheet.text}}</span>
200
+ <kendo-dropdownbutton #sheetDdb
201
+ fillMode="flat"
202
+ icon="caret-alt-down"
203
+ [svgIcon]="caretAltDownIcon"
204
+ buttonClass="k-menu-button"
205
+ [data]="sheet.sheetActions"
206
+ [buttonAttributes]="{'aria-hidden': 'true', 'tabindex': '-1', role: 'presentation'}"
207
+ (open)="onOpen(sheetDdb)"
208
+ (close)="onClose()"
209
+ (click)="$event.stopPropagation()"
210
+ (itemClick)="onActionClick($event, sheet)">
211
+ </kendo-dropdownbutton>
212
+ </ng-template>
213
+ </kendo-tabstrip-tab>
214
+ </ng-container>
215
+ </kendo-tabstrip>
216
+ `, isInline: true, components: [{ type: i4.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: i4.DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["arrowIcon", "icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor", "buttonAttributes"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }, { type: i5.TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "closeIcon", "closeIconClass", "closeSVGIcon", "showContentArea"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { type: i5.TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon", "closeIconClass", "closeSVGIcon"], exportAs: ["kendoTabStripTab"] }], directives: [{ type: i6.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.TabTemplateDirective, selector: "[kendoTabTemplate]" }] });
217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SheetsBarComponent, decorators: [{
218
+ type: Component,
219
+ args: [{
220
+ selector: '[kendoSpreadsheetSheetsBar]',
221
+ template: `
222
+ <button kendoButton
223
+ title="Add new sheet"
224
+ type="button"
225
+ fillMode="flat"
226
+ class="k-spreadsheet-sheet-add"
227
+ icon="plus"
228
+ [svgIcon]="plusIcon"
229
+ [kendoEventsOutsideAngular]="{click: onAddClick}">
230
+ </button>
231
+ <kendo-dropdownbutton #menuDdb
232
+ fillMode="flat"
233
+ buttonClass="k-spreadsheet-sheets-menu"
234
+ icon="menu"
235
+ [svgIcon]="menuIcon"
236
+ [data]="sheetsMenuList"
237
+ (itemClick)="onMenuItemClick($event)"
238
+ (open)="onOpen(menuDdb)">
239
+ </kendo-dropdownbutton>
240
+ <kendo-tabstrip
241
+ [tabPosition]="'bottom'"
242
+ [showContentArea]="false"
243
+ [scrollable]="{prevButtonIcon: 'caret-alt-left', prevSVGButtonIcon: caretAltLeftIcon, nextButtonIcon: 'caret-alt-right', nextSVGButtonIcon: caretAltRightIcon}"
244
+ class="k-spreadsheet-sheets k-overflow-hidden"
245
+ (tabSelect)="onTabSelect($event)"
246
+ [keepTabContent]="true">
247
+ <ng-container *ngFor="let sheet of sheets">
248
+ <kendo-tabstrip-tab
249
+ [title]="sheet.text"
250
+ [selected]="sheet.text === activeSheet">
251
+ <ng-template kendoTabTemplate>
252
+ <span class="k-link">{{sheet.text}}</span>
253
+ <kendo-dropdownbutton #sheetDdb
254
+ fillMode="flat"
255
+ icon="caret-alt-down"
256
+ [svgIcon]="caretAltDownIcon"
257
+ buttonClass="k-menu-button"
258
+ [data]="sheet.sheetActions"
259
+ [buttonAttributes]="{'aria-hidden': 'true', 'tabindex': '-1', role: 'presentation'}"
260
+ (open)="onOpen(sheetDdb)"
261
+ (close)="onClose()"
262
+ (click)="$event.stopPropagation()"
263
+ (itemClick)="onActionClick($event, sheet)">
264
+ </kendo-dropdownbutton>
265
+ </ng-template>
266
+ </kendo-tabstrip-tab>
267
+ </ng-container>
268
+ </kendo-tabstrip>
269
+ `
270
+ }]
271
+ }], ctorParameters: function () { return [{ type: i1.SpreadsheetService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i2.SpreadsheetLocalizationService }, { type: i3.DialogService }, { type: i0.NgZone }]; }, propDecorators: { hostClasses: [{
272
+ type: HostBinding,
273
+ args: ['class.k-spreadsheet-sheets-bar']
274
+ }], sheets: [{
275
+ type: Input
276
+ }], sheetDescriptors: [{
277
+ type: Input
278
+ }] } });