@progress/kendo-angular-spreadsheet 21.4.1 → 22.0.0
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/fesm2022/progress-kendo-angular-spreadsheet.mjs +183 -183
- package/package.json +22 -30
- package/schematics/ngAdd/index.js +2 -2
- package/tools/shared/spreadsheet-command-base.d.ts +1 -1
- package/tools/shared/spreadsheet-dropdown-tools-base.d.ts +1 -1
- package/tools/shared/spreadsheet-dropdownlist.base.d.ts +1 -1
- package/esm2022/action-bar/formula-input.directive.mjs +0 -183
- package/esm2022/action-bar/list.component.mjs +0 -91
- package/esm2022/action-bar/namebox.component.mjs +0 -134
- package/esm2022/common/calendar-editor.component.mjs +0 -48
- package/esm2022/common/error-handling.service.mjs +0 -99
- package/esm2022/common/list-editor.component.mjs +0 -146
- package/esm2022/common/main-menu.directive.mjs +0 -30
- package/esm2022/common/sheet-changes.mjs +0 -5
- package/esm2022/common/spreadsheet.service.mjs +0 -49
- package/esm2022/directives.mjs +0 -94
- package/esm2022/filter-menu/filter-menu-item-content-template.directive.mjs +0 -26
- package/esm2022/filter-menu/filter-menu-item.component.mjs +0 -271
- package/esm2022/index.mjs +0 -14
- package/esm2022/localization/custom-messages.component.mjs +0 -52
- package/esm2022/localization/localized-messages.directive.mjs +0 -35
- package/esm2022/localization/messages.mjs +0 -884
- package/esm2022/localization/spreadsheet-localization.service.mjs +0 -31
- package/esm2022/models/cell-editor-action-args.mjs +0 -5
- package/esm2022/models/cell-editor-options.mjs +0 -5
- package/esm2022/models/events.mjs +0 -5
- package/esm2022/models/filter-menu-item.mjs +0 -5
- package/esm2022/models/index.mjs +0 -11
- package/esm2022/models/main-menu-item.mjs +0 -5
- package/esm2022/models/range-filter-value.mjs +0 -5
- package/esm2022/models/sheet-info.mjs +0 -5
- package/esm2022/package-metadata.mjs +0 -16
- package/esm2022/progress-kendo-angular-spreadsheet.mjs +0 -8
- package/esm2022/sheets-bar/action-dialog.component.mjs +0 -78
- package/esm2022/sheets-bar/sheets-bar.component.mjs +0 -433
- package/esm2022/sheets-bar/utils.mjs +0 -49
- package/esm2022/spreadsheet.component.mjs +0 -2408
- package/esm2022/spreadsheet.module.mjs +0 -72
- package/esm2022/tools/align/align-tool.directive.mjs +0 -62
- package/esm2022/tools/align/horizontal-align-tool.directive.mjs +0 -62
- package/esm2022/tools/align/vertical-align-tool.directive.mjs +0 -62
- package/esm2022/tools/colorpicker/spreadsheet-backcolor.component.mjs +0 -142
- package/esm2022/tools/colorpicker/spreadsheet-forecolor.component.mjs +0 -142
- package/esm2022/tools/data-validation-dialog.component.mjs +0 -481
- package/esm2022/tools/data-validation-tool.directive.mjs +0 -156
- package/esm2022/tools/decrease-decimal-tool.directive.mjs +0 -41
- package/esm2022/tools/filter-sort/filter-tool.directive.mjs +0 -89
- package/esm2022/tools/filter-sort/sort-tool.directive.mjs +0 -62
- package/esm2022/tools/font-family/font-family-dropdownlist.component.mjs +0 -59
- package/esm2022/tools/font-family/spreadsheet-fontfamily-tool.component.mjs +0 -114
- package/esm2022/tools/font-size/decrease-font-tool.directive.mjs +0 -52
- package/esm2022/tools/font-size/font-size-dropdownlist.component.mjs +0 -46
- package/esm2022/tools/font-size/increase-font-tool.directive.mjs +0 -52
- package/esm2022/tools/font-size/spreadsheet-fontsize-tool.component.mjs +0 -114
- package/esm2022/tools/format-tool.directive.mjs +0 -65
- package/esm2022/tools/gridlines-tool.directive.mjs +0 -47
- package/esm2022/tools/history/redo-tool.mjs +0 -37
- package/esm2022/tools/history/undo-tool.mjs +0 -37
- package/esm2022/tools/increase-decimal-tool.directive.mjs +0 -41
- package/esm2022/tools/index.mjs +0 -30
- package/esm2022/tools/insert/insert-link-dialog.component.mjs +0 -53
- package/esm2022/tools/insert/insert-link-tool.directive.mjs +0 -97
- package/esm2022/tools/load-file.component.mjs +0 -226
- package/esm2022/tools/save-file-tool.directive.mjs +0 -58
- package/esm2022/tools/shared/command-icons.mjs +0 -121
- package/esm2022/tools/shared/commands.mjs +0 -5
- package/esm2022/tools/shared/constants.mjs +0 -77
- package/esm2022/tools/shared/dialog-content.component.mjs +0 -130
- package/esm2022/tools/shared/spreadsheet-command-base.mjs +0 -73
- package/esm2022/tools/shared/spreadsheet-command-button.mjs +0 -31
- package/esm2022/tools/shared/spreadsheet-dropdown-tools-base.mjs +0 -194
- package/esm2022/tools/shared/spreadsheet-dropdownlist.base.mjs +0 -54
- package/esm2022/tools/tables/add-column-left-button.directive.mjs +0 -37
- package/esm2022/tools/tables/add-column-right-button.directive.mjs +0 -37
- package/esm2022/tools/tables/add-row-above-button.directive.mjs +0 -37
- package/esm2022/tools/tables/add-row-below-button.directive.mjs +0 -37
- package/esm2022/tools/tables/delete-column-button.directive.mjs +0 -35
- package/esm2022/tools/tables/delete-row-button.directive.mjs +0 -35
- package/esm2022/tools/tables/index.mjs +0 -11
- package/esm2022/tools/tables/merge-tool.directive.mjs +0 -72
- package/esm2022/tools/text-wrap-tool.directive.mjs +0 -48
- package/esm2022/tools/tools.service.mjs +0 -61
- package/esm2022/tools/typographical-emphasis/bold-tool.directive.mjs +0 -37
- package/esm2022/tools/typographical-emphasis/italic-tool.directive.mjs +0 -37
- package/esm2022/tools/typographical-emphasis/underline-tool.directive.mjs +0 -37
- package/esm2022/tools/utils.mjs +0 -35
- package/esm2022/utils.mjs +0 -32
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-spreadsheet",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "22.0.0",
|
|
4
4
|
"description": "A Spreadsheet Component for Angular",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -15,40 +15,34 @@
|
|
|
15
15
|
"Progress"
|
|
16
16
|
],
|
|
17
17
|
"@progress": {
|
|
18
|
-
"friendlyName": "Spreadsheet"
|
|
19
|
-
"package": {
|
|
20
|
-
"productName": "Kendo UI for Angular",
|
|
21
|
-
"productCode": "KENDOUIANGULAR",
|
|
22
|
-
"publishDate": 1768393214,
|
|
23
|
-
"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"
|
|
24
|
-
}
|
|
18
|
+
"friendlyName": "Spreadsheet"
|
|
25
19
|
},
|
|
26
20
|
"peerDependencies": {
|
|
27
|
-
"@angular/animations": "
|
|
28
|
-
"@angular/common": "
|
|
29
|
-
"@angular/core": "
|
|
30
|
-
"@angular/platform-browser": "
|
|
21
|
+
"@angular/animations": "19 - 21",
|
|
22
|
+
"@angular/common": "19 - 21",
|
|
23
|
+
"@angular/core": "19 - 21",
|
|
24
|
+
"@angular/platform-browser": "19 - 21",
|
|
31
25
|
"@progress/kendo-licensing": "^1.7.0",
|
|
32
|
-
"@progress/kendo-angular-buttons": "
|
|
33
|
-
"@progress/kendo-angular-common": "
|
|
34
|
-
"@progress/kendo-angular-dialog": "
|
|
35
|
-
"@progress/kendo-angular-dropdowns": "
|
|
36
|
-
"@progress/kendo-angular-icons": "
|
|
37
|
-
"@progress/kendo-angular-inputs": "
|
|
38
|
-
"@progress/kendo-angular-treeview": "
|
|
39
|
-
"@progress/kendo-angular-dateinputs": "
|
|
40
|
-
"@progress/kendo-angular-intl": "
|
|
41
|
-
"@progress/kendo-angular-l10n": "
|
|
42
|
-
"@progress/kendo-angular-label": "
|
|
43
|
-
"@progress/kendo-angular-layout": "
|
|
44
|
-
"@progress/kendo-angular-menu": "
|
|
45
|
-
"@progress/kendo-angular-popup": "
|
|
46
|
-
"@progress/kendo-angular-toolbar": "
|
|
26
|
+
"@progress/kendo-angular-buttons": "22.0.0",
|
|
27
|
+
"@progress/kendo-angular-common": "22.0.0",
|
|
28
|
+
"@progress/kendo-angular-dialog": "22.0.0",
|
|
29
|
+
"@progress/kendo-angular-dropdowns": "22.0.0",
|
|
30
|
+
"@progress/kendo-angular-icons": "22.0.0",
|
|
31
|
+
"@progress/kendo-angular-inputs": "22.0.0",
|
|
32
|
+
"@progress/kendo-angular-treeview": "22.0.0",
|
|
33
|
+
"@progress/kendo-angular-dateinputs": "22.0.0",
|
|
34
|
+
"@progress/kendo-angular-intl": "22.0.0",
|
|
35
|
+
"@progress/kendo-angular-l10n": "22.0.0",
|
|
36
|
+
"@progress/kendo-angular-label": "22.0.0",
|
|
37
|
+
"@progress/kendo-angular-layout": "22.0.0",
|
|
38
|
+
"@progress/kendo-angular-menu": "22.0.0",
|
|
39
|
+
"@progress/kendo-angular-popup": "22.0.0",
|
|
40
|
+
"@progress/kendo-angular-toolbar": "22.0.0",
|
|
47
41
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
48
42
|
},
|
|
49
43
|
"dependencies": {
|
|
50
44
|
"tslib": "^2.3.1",
|
|
51
|
-
"@progress/kendo-angular-schematics": "
|
|
45
|
+
"@progress/kendo-angular-schematics": "22.0.0",
|
|
52
46
|
"@progress/jszip-esm": "^1.0.3",
|
|
53
47
|
"@progress/kendo-common": "^1.0.1",
|
|
54
48
|
"@progress/kendo-date-math": "^1.5.10",
|
|
@@ -66,8 +60,6 @@
|
|
|
66
60
|
},
|
|
67
61
|
".": {
|
|
68
62
|
"types": "./index.d.ts",
|
|
69
|
-
"esm2022": "./esm2022/progress-kendo-angular-spreadsheet.mjs",
|
|
70
|
-
"esm": "./esm2022/progress-kendo-angular-spreadsheet.mjs",
|
|
71
63
|
"default": "./fesm2022/progress-kendo-angular-spreadsheet.mjs"
|
|
72
64
|
}
|
|
73
65
|
},
|
|
@@ -11,8 +11,8 @@ function default_1(options) {
|
|
|
11
11
|
// Peer dependency of icons
|
|
12
12
|
'@progress/kendo-svg-icons': '^4.0.0',
|
|
13
13
|
// peer deps of the dropdowns
|
|
14
|
-
'@progress/kendo-angular-navigation': '
|
|
15
|
-
'@progress/kendo-angular-treeview': '
|
|
14
|
+
'@progress/kendo-angular-navigation': '22.0.0',
|
|
15
|
+
'@progress/kendo-angular-treeview': '22.0.0'
|
|
16
16
|
} });
|
|
17
17
|
return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
|
|
18
18
|
}
|
|
@@ -25,5 +25,5 @@ export declare abstract class SpreadsheetCommandBaseDirective {
|
|
|
25
25
|
protected clickHandler(): void;
|
|
26
26
|
protected pointerdownHandler(_event: PointerEvent): void;
|
|
27
27
|
static ɵfac: i0.ɵɵFactoryDeclaration<SpreadsheetCommandBaseDirective, never>;
|
|
28
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SpreadsheetCommandBaseDirective, "[kendoSpreadsheetCommandBase]", never, {}, {}, never, never,
|
|
28
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SpreadsheetCommandBaseDirective, "[kendoSpreadsheetCommandBase]", never, {}, {}, never, never, true, never>;
|
|
29
29
|
}
|
|
@@ -70,5 +70,5 @@ export declare class SpreadsheetDropDownToolBase extends ToolBarToolComponent im
|
|
|
70
70
|
*/
|
|
71
71
|
handleKey(): boolean;
|
|
72
72
|
static ɵfac: i0.ɵɵFactoryDeclaration<SpreadsheetDropDownToolBase, never>;
|
|
73
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SpreadsheetDropDownToolBase, "ng-component", never, {}, { "valueChange": "valueChange"; }, never, never,
|
|
73
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpreadsheetDropDownToolBase, "ng-component", never, {}, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
74
74
|
}
|
|
@@ -21,5 +21,5 @@ export declare class DropDownListBase {
|
|
|
21
21
|
onValueChange(value: any): void;
|
|
22
22
|
focus(): void;
|
|
23
23
|
static ɵfac: i0.ɵɵFactoryDeclaration<DropDownListBase, never>;
|
|
24
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DropDownListBase, "kendo-spreadsheet-dropdownlist-base", never, { "data": { "alias": "data"; "required": false; }; "value": { "alias": "value"; "required": false; }; "title": { "alias": "title"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never,
|
|
24
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DropDownListBase, "kendo-spreadsheet-dropdownlist-base", never, { "data": { "alias": "data"; "required": false; }; "value": { "alias": "value"; "required": false; }; "title": { "alias": "title"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
25
25
|
}
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 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, ElementRef, HostBinding, Input } from '@angular/core';
|
|
6
|
-
import { FormulaListComponent } from './list.component';
|
|
7
|
-
import { PopupService } from '@progress/kendo-angular-popup';
|
|
8
|
-
import { SpreadsheetService } from '../common/spreadsheet.service';
|
|
9
|
-
import { SpreadsheetLocalizationService } from '../localization/spreadsheet-localization.service';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@progress/kendo-angular-popup";
|
|
12
|
-
import * as i2 from "../common/spreadsheet.service";
|
|
13
|
-
import * as i3 from "../localization/spreadsheet-localization.service";
|
|
14
|
-
/**
|
|
15
|
-
* @hidden
|
|
16
|
-
*/
|
|
17
|
-
export class FormulaInputDirective {
|
|
18
|
-
element;
|
|
19
|
-
popupService;
|
|
20
|
-
spreadsheetService;
|
|
21
|
-
localization;
|
|
22
|
-
hostClasses = true;
|
|
23
|
-
get title() {
|
|
24
|
-
return this.localization.get('formulaInput');
|
|
25
|
-
}
|
|
26
|
-
role = 'combobox';
|
|
27
|
-
ariaHasPopup = 'menu';
|
|
28
|
-
ariaExpanded = 'false';
|
|
29
|
-
get ariaControls() {
|
|
30
|
-
return this.ariaExpanded === 'true' ? this.spreadsheetService.formulaListId : null;
|
|
31
|
-
}
|
|
32
|
-
formulaListMaxHeight;
|
|
33
|
-
list;
|
|
34
|
-
data;
|
|
35
|
-
constructor(element, popupService, spreadsheetService, localization) {
|
|
36
|
-
this.element = element;
|
|
37
|
-
this.popupService = popupService;
|
|
38
|
-
this.spreadsheetService = spreadsheetService;
|
|
39
|
-
this.localization = localization;
|
|
40
|
-
}
|
|
41
|
-
popupRef;
|
|
42
|
-
handler;
|
|
43
|
-
get listElement() {
|
|
44
|
-
return this.list?.element.nativeElement.firstElementChild;
|
|
45
|
-
}
|
|
46
|
-
get current() {
|
|
47
|
-
return {
|
|
48
|
-
element: this.element.nativeElement,
|
|
49
|
-
list: {
|
|
50
|
-
element: this.list?.element.nativeElement,
|
|
51
|
-
data: (d) => {
|
|
52
|
-
if (d) {
|
|
53
|
-
this.data = d;
|
|
54
|
-
this.list && (this.list.data = d);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
return this.data;
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
itemClick: (handler) => {
|
|
61
|
-
this.handler = handler;
|
|
62
|
-
},
|
|
63
|
-
value: () => { return {}; },
|
|
64
|
-
focus: () => {
|
|
65
|
-
const items = Array.from(this.listElement?.children || []);
|
|
66
|
-
return items.indexOf(this.focusedItem());
|
|
67
|
-
},
|
|
68
|
-
focusNext: () => this.focusNext(1),
|
|
69
|
-
focusPrev: () => this.focusNext(-1),
|
|
70
|
-
focusFirst: () => {
|
|
71
|
-
const list = this.listElement;
|
|
72
|
-
if (list && list.children.item(0)) {
|
|
73
|
-
this.unfocus();
|
|
74
|
-
list.children.item(0).classList.add('k-focus');
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
focusLast: () => {
|
|
78
|
-
const list = this.listElement;
|
|
79
|
-
if (list && list.children.length) {
|
|
80
|
-
this.unfocus();
|
|
81
|
-
list.children.item(list.children.length - 1).classList.add('k-focus');
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
popup: {
|
|
86
|
-
open: () => {
|
|
87
|
-
this.popupRef?.close();
|
|
88
|
-
this.popupRef = null;
|
|
89
|
-
this.popupRef = this.popupService.open({
|
|
90
|
-
anchor: this.element,
|
|
91
|
-
content: FormulaListComponent,
|
|
92
|
-
animate: { direction: 'down', duration: 100 }
|
|
93
|
-
});
|
|
94
|
-
const list = this.popupRef.content.instance;
|
|
95
|
-
this.list = list;
|
|
96
|
-
list.data = this.data;
|
|
97
|
-
list.itemClick = this.handler;
|
|
98
|
-
list.maxHeight = this.formulaListMaxHeight;
|
|
99
|
-
this.ariaExpanded = 'true';
|
|
100
|
-
},
|
|
101
|
-
close: () => {
|
|
102
|
-
this.popupRef?.close();
|
|
103
|
-
this.popupRef = null;
|
|
104
|
-
this.ariaExpanded = 'false';
|
|
105
|
-
},
|
|
106
|
-
position: () => { },
|
|
107
|
-
visible: () => {
|
|
108
|
-
return this.popupRef;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
focusedItem = () => this.list?.element.nativeElement.querySelector('.k-focus');
|
|
114
|
-
unfocus = () => {
|
|
115
|
-
const focused = this.focusedItem();
|
|
116
|
-
if (focused) {
|
|
117
|
-
focused.classList.remove('k-focus');
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
focusNext = (dir) => {
|
|
121
|
-
const element = this.list?.element.nativeElement.firstElementChild;
|
|
122
|
-
const items = Array.from((element && element.children) || []);
|
|
123
|
-
const focused = this.focusedItem();
|
|
124
|
-
let next;
|
|
125
|
-
if (focused) {
|
|
126
|
-
const index = items.indexOf(focused);
|
|
127
|
-
focused.classList.remove('k-focus');
|
|
128
|
-
next = items[index + dir] ? items[index + dir] : (dir === 1 ? items[0] : items[items.length - 1]);
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
next = (dir === 1 ? items[0] : items[items.length - 1]);
|
|
132
|
-
}
|
|
133
|
-
if (next) {
|
|
134
|
-
next.classList.add('k-focus');
|
|
135
|
-
const { offsetTop, offsetHeight, parentElement } = next;
|
|
136
|
-
if (dir > 0) {
|
|
137
|
-
if (offsetTop + offsetHeight >= parentElement.offsetHeight + parentElement.scrollTop) {
|
|
138
|
-
parentElement.scrollTop = Math.min(parentElement.scrollTop + offsetHeight, parentElement.scrollHeight - parentElement.offsetHeight);
|
|
139
|
-
}
|
|
140
|
-
if (next === items[0]) {
|
|
141
|
-
next.scrollIntoView();
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
if (offsetTop <= parentElement.scrollTop) {
|
|
146
|
-
parentElement.scrollTop = Math.max(parentElement.scrollTop - offsetHeight, 0);
|
|
147
|
-
}
|
|
148
|
-
if (next === items[items.length - 1]) {
|
|
149
|
-
next.scrollIntoView();
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
};
|
|
154
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormulaInputDirective, deps: [{ token: i0.ElementRef }, { token: i1.PopupService }, { token: i2.SpreadsheetService }, { token: i3.SpreadsheetLocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
155
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: FormulaInputDirective, isStandalone: true, selector: "[kendoSpreadsheetFormulaInput]", inputs: { formulaListMaxHeight: "formulaListMaxHeight" }, host: { properties: { "class.k-spreadsheet-formula-input": "this.hostClasses", "attr.title": "this.title", "attr.role": "this.role", "attr.aria-haspopup": "this.ariaHasPopup", "attr.aria-expanded": "this.ariaExpanded", "attr.aria-controls": "this.ariaControls" } }, ngImport: i0 });
|
|
156
|
-
}
|
|
157
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormulaInputDirective, decorators: [{
|
|
158
|
-
type: Directive,
|
|
159
|
-
args: [{
|
|
160
|
-
selector: '[kendoSpreadsheetFormulaInput]',
|
|
161
|
-
standalone: true
|
|
162
|
-
}]
|
|
163
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.PopupService }, { type: i2.SpreadsheetService }, { type: i3.SpreadsheetLocalizationService }], propDecorators: { hostClasses: [{
|
|
164
|
-
type: HostBinding,
|
|
165
|
-
args: ['class.k-spreadsheet-formula-input']
|
|
166
|
-
}], title: [{
|
|
167
|
-
type: HostBinding,
|
|
168
|
-
args: ['attr.title']
|
|
169
|
-
}], role: [{
|
|
170
|
-
type: HostBinding,
|
|
171
|
-
args: ['attr.role']
|
|
172
|
-
}], ariaHasPopup: [{
|
|
173
|
-
type: HostBinding,
|
|
174
|
-
args: ['attr.aria-haspopup']
|
|
175
|
-
}], ariaExpanded: [{
|
|
176
|
-
type: HostBinding,
|
|
177
|
-
args: ['attr.aria-expanded']
|
|
178
|
-
}], ariaControls: [{
|
|
179
|
-
type: HostBinding,
|
|
180
|
-
args: ['attr.aria-controls']
|
|
181
|
-
}], formulaListMaxHeight: [{
|
|
182
|
-
type: Input
|
|
183
|
-
}] } });
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 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, Input, Renderer2 } from '@angular/core';
|
|
6
|
-
import { formulaFxIcon } from '@progress/kendo-svg-icons';
|
|
7
|
-
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
8
|
-
import { EventsOutsideAngularDirective } from '@progress/kendo-angular-common';
|
|
9
|
-
import { SpreadsheetService } from '../common/spreadsheet.service';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "../common/spreadsheet.service";
|
|
12
|
-
/**
|
|
13
|
-
* @hidden
|
|
14
|
-
*/
|
|
15
|
-
export class FormulaListComponent {
|
|
16
|
-
element;
|
|
17
|
-
spreadsheetService;
|
|
18
|
-
renderer;
|
|
19
|
-
maxHeight;
|
|
20
|
-
data = [];
|
|
21
|
-
itemClick;
|
|
22
|
-
formulaFxIcon = formulaFxIcon;
|
|
23
|
-
constructor(element, spreadsheetService, renderer) {
|
|
24
|
-
this.element = element;
|
|
25
|
-
this.spreadsheetService = spreadsheetService;
|
|
26
|
-
this.renderer = renderer;
|
|
27
|
-
}
|
|
28
|
-
ngOnInit() {
|
|
29
|
-
this.renderer.setAttribute(this.element.nativeElement, 'id', this.spreadsheetService.formulaListId);
|
|
30
|
-
}
|
|
31
|
-
handleMouseDown = (ev) => {
|
|
32
|
-
ev.preventDefault();
|
|
33
|
-
};
|
|
34
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormulaListComponent, deps: [{ token: i0.ElementRef }, { token: i1.SpreadsheetService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FormulaListComponent, isStandalone: true, selector: "kendo-spreadsheet-formula-list", inputs: { maxHeight: "maxHeight", data: "data", itemClick: "itemClick" }, ngImport: i0, template: `
|
|
36
|
-
<ul #ulRef
|
|
37
|
-
class="k-spreadsheet-formula-list k-list-ul k-list-md k-group k-reset"
|
|
38
|
-
role="menu"
|
|
39
|
-
[style.overflowY]="'auto'"
|
|
40
|
-
[style.maxHeight]="maxHeight"
|
|
41
|
-
[kendoEventsOutsideAngular]="{mousedown: handleMouseDown}">
|
|
42
|
-
@for (item of data; track item) {
|
|
43
|
-
<li
|
|
44
|
-
(click)="itemClick(item.text)"
|
|
45
|
-
class="k-list-item"
|
|
46
|
-
role="menuitem">
|
|
47
|
-
<kendo-icon-wrapper
|
|
48
|
-
[svgIcon]="formulaFxIcon"
|
|
49
|
-
name="formula-fx"
|
|
50
|
-
></kendo-icon-wrapper>
|
|
51
|
-
<span className="k-list-item-text">{{item.text}}</span>
|
|
52
|
-
</li>
|
|
53
|
-
}
|
|
54
|
-
</ul>
|
|
55
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
|
|
56
|
-
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormulaListComponent, decorators: [{
|
|
58
|
-
type: Component,
|
|
59
|
-
args: [{
|
|
60
|
-
selector: 'kendo-spreadsheet-formula-list',
|
|
61
|
-
template: `
|
|
62
|
-
<ul #ulRef
|
|
63
|
-
class="k-spreadsheet-formula-list k-list-ul k-list-md k-group k-reset"
|
|
64
|
-
role="menu"
|
|
65
|
-
[style.overflowY]="'auto'"
|
|
66
|
-
[style.maxHeight]="maxHeight"
|
|
67
|
-
[kendoEventsOutsideAngular]="{mousedown: handleMouseDown}">
|
|
68
|
-
@for (item of data; track item) {
|
|
69
|
-
<li
|
|
70
|
-
(click)="itemClick(item.text)"
|
|
71
|
-
class="k-list-item"
|
|
72
|
-
role="menuitem">
|
|
73
|
-
<kendo-icon-wrapper
|
|
74
|
-
[svgIcon]="formulaFxIcon"
|
|
75
|
-
name="formula-fx"
|
|
76
|
-
></kendo-icon-wrapper>
|
|
77
|
-
<span className="k-list-item-text">{{item.text}}</span>
|
|
78
|
-
</li>
|
|
79
|
-
}
|
|
80
|
-
</ul>
|
|
81
|
-
`,
|
|
82
|
-
standalone: true,
|
|
83
|
-
imports: [EventsOutsideAngularDirective, IconWrapperComponent]
|
|
84
|
-
}]
|
|
85
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.SpreadsheetService }, { type: i0.Renderer2 }], propDecorators: { maxHeight: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}], data: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}], itemClick: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}] } });
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 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, HostListener, Input, NgZone, Renderer2, ViewChild } from '@angular/core';
|
|
6
|
-
import { map } from 'rxjs/operators';
|
|
7
|
-
import { ComboBoxComponent } from '@progress/kendo-angular-dropdowns';
|
|
8
|
-
import { SpreadsheetWidget } from '@progress/kendo-spreadsheet-common';
|
|
9
|
-
import { SpreadsheetLocalizationService } from '../localization/spreadsheet-localization.service';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "../localization/spreadsheet-localization.service";
|
|
12
|
-
/**
|
|
13
|
-
* @hidden
|
|
14
|
-
*/
|
|
15
|
-
export class NameBoxComponent {
|
|
16
|
-
ngZone;
|
|
17
|
-
host;
|
|
18
|
-
localization;
|
|
19
|
-
renderer;
|
|
20
|
-
hostClass = true;
|
|
21
|
-
keyDownHandler() {
|
|
22
|
-
const editor = this.spreadsheetWidget.view.nameEditor;
|
|
23
|
-
if (editor) {
|
|
24
|
-
const name = this.inputElement.value;
|
|
25
|
-
editor.trigger('enter', { value: name });
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
combobox;
|
|
29
|
-
data;
|
|
30
|
-
spreadsheetWidget;
|
|
31
|
-
constructor(ngZone, host, localization, renderer) {
|
|
32
|
-
this.ngZone = ngZone;
|
|
33
|
-
this.host = host;
|
|
34
|
-
this.localization = localization;
|
|
35
|
-
this.renderer = renderer;
|
|
36
|
-
}
|
|
37
|
-
ngAfterViewInit() {
|
|
38
|
-
this.renderer.setAttribute(this.inputElement, 'title', this.title);
|
|
39
|
-
this.renderer.setAttribute(this.inputElement, 'aria-label', this.title);
|
|
40
|
-
}
|
|
41
|
-
value;
|
|
42
|
-
get inputElement() {
|
|
43
|
-
return this.host.nativeElement.querySelector('.k-input-inner');
|
|
44
|
-
}
|
|
45
|
-
get current() {
|
|
46
|
-
return {
|
|
47
|
-
value: (val) => {
|
|
48
|
-
if (val === undefined) {
|
|
49
|
-
const item = this.combobox && this.combobox.value;
|
|
50
|
-
return item ? (item.name || item) : item;
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
this.ngZone.run(() => {
|
|
54
|
-
this.value = { name: val };
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
get title() {
|
|
61
|
-
return this.localization.get('nameBox');
|
|
62
|
-
}
|
|
63
|
-
onSelectionChange(value) {
|
|
64
|
-
const editor = this.spreadsheetWidget.view.nameEditor;
|
|
65
|
-
if (editor && value) {
|
|
66
|
-
const name = value.name;
|
|
67
|
-
if (name !== this.value.name) {
|
|
68
|
-
editor.trigger('select', { name });
|
|
69
|
-
this.value = { name };
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
onOpen() {
|
|
74
|
-
const editor = this.spreadsheetWidget.view.nameEditor;
|
|
75
|
-
if (editor) {
|
|
76
|
-
this.data = editor.readData();
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
valueNormalizer = (text) => text.pipe(map((content) => ({ name: content })));
|
|
80
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NameBoxComponent, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i1.SpreadsheetLocalizationService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: NameBoxComponent, isStandalone: true, selector: "[kendoSpreadsheetNameBox]", inputs: { data: "data", spreadsheetWidget: "spreadsheetWidget" }, host: { listeners: { "keydown.enter": "keyDownHandler()" }, properties: { "class.k-spreadsheet-name-editor": "this.hostClass" } }, viewQueries: [{ propertyName: "combobox", first: true, predicate: ["combobox"], descendants: true }], ngImport: i0, template: `
|
|
82
|
-
<kendo-combobox #combobox
|
|
83
|
-
[popupSettings]="{popupClass: 'k-spreadsheet-names-popup'}"
|
|
84
|
-
fillMode="flat"
|
|
85
|
-
[clearButton]="false"
|
|
86
|
-
textField="name"
|
|
87
|
-
valueField="name"
|
|
88
|
-
[data]="data"
|
|
89
|
-
[allowCustom]="true"
|
|
90
|
-
(selectionChange)="onSelectionChange($event)"
|
|
91
|
-
[value]="value"
|
|
92
|
-
(open)="onOpen()"
|
|
93
|
-
[valueNormalizer]="valueNormalizer"
|
|
94
|
-
[attr.title]="title"
|
|
95
|
-
></kendo-combobox>
|
|
96
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "inputAttributes", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur", "escape"], exportAs: ["kendoComboBox"] }] });
|
|
97
|
-
}
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NameBoxComponent, decorators: [{
|
|
99
|
-
type: Component,
|
|
100
|
-
args: [{
|
|
101
|
-
selector: '[kendoSpreadsheetNameBox]',
|
|
102
|
-
template: `
|
|
103
|
-
<kendo-combobox #combobox
|
|
104
|
-
[popupSettings]="{popupClass: 'k-spreadsheet-names-popup'}"
|
|
105
|
-
fillMode="flat"
|
|
106
|
-
[clearButton]="false"
|
|
107
|
-
textField="name"
|
|
108
|
-
valueField="name"
|
|
109
|
-
[data]="data"
|
|
110
|
-
[allowCustom]="true"
|
|
111
|
-
(selectionChange)="onSelectionChange($event)"
|
|
112
|
-
[value]="value"
|
|
113
|
-
(open)="onOpen()"
|
|
114
|
-
[valueNormalizer]="valueNormalizer"
|
|
115
|
-
[attr.title]="title"
|
|
116
|
-
></kendo-combobox>
|
|
117
|
-
`,
|
|
118
|
-
standalone: true,
|
|
119
|
-
imports: [ComboBoxComponent]
|
|
120
|
-
}]
|
|
121
|
-
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ElementRef }, { type: i1.SpreadsheetLocalizationService }, { type: i0.Renderer2 }], propDecorators: { hostClass: [{
|
|
122
|
-
type: HostBinding,
|
|
123
|
-
args: ['class.k-spreadsheet-name-editor']
|
|
124
|
-
}], keyDownHandler: [{
|
|
125
|
-
type: HostListener,
|
|
126
|
-
args: ['keydown.enter']
|
|
127
|
-
}], combobox: [{
|
|
128
|
-
type: ViewChild,
|
|
129
|
-
args: ['combobox']
|
|
130
|
-
}], data: [{
|
|
131
|
-
type: Input
|
|
132
|
-
}], spreadsheetWidget: [{
|
|
133
|
-
type: Input
|
|
134
|
-
}] } });
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 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, EventEmitter, Output } from '@angular/core';
|
|
6
|
-
import { CalendarComponent as KendoCalendarComponent } from '@progress/kendo-angular-dateinputs';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
/**
|
|
9
|
-
* @hidden
|
|
10
|
-
*/
|
|
11
|
-
export class CalendarComponent {
|
|
12
|
-
value;
|
|
13
|
-
type = 'classic';
|
|
14
|
-
min;
|
|
15
|
-
max;
|
|
16
|
-
disabledDates;
|
|
17
|
-
valueChange = new EventEmitter();
|
|
18
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CalendarComponent, isStandalone: true, selector: "ng-component", outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
|
|
20
|
-
<kendo-calendar
|
|
21
|
-
[type]="type"
|
|
22
|
-
[min]="min"
|
|
23
|
-
[max]="max"
|
|
24
|
-
[value]="value"
|
|
25
|
-
[disabledDates]="disabledDates"
|
|
26
|
-
(valueChange)="valueChange.emit($event)">
|
|
27
|
-
</kendo-calendar>
|
|
28
|
-
`, isInline: true, dependencies: [{ kind: "component", type: KendoCalendarComponent, selector: "kendo-calendar", inputs: ["showOtherMonthDays", "id", "focusedDate", "min", "max", "rangeValidation", "weekDaysFormat", "footer", "selection", "allowReverse", "value", "disabled", "tabindex", "tabIndex", "disabledDates", "navigation", "activeView", "bottomView", "topView", "type", "animateNavigation", "weekNumber", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "navigationItemTemplate", "size", "activeRangeEnd"], outputs: ["closePopup", "activeViewChange", "navigate", "activeViewDateChange", "blur", "focus", "valueChange"], exportAs: ["kendo-calendar"] }] });
|
|
29
|
-
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CalendarComponent, decorators: [{
|
|
31
|
-
type: Component,
|
|
32
|
-
args: [{
|
|
33
|
-
template: `
|
|
34
|
-
<kendo-calendar
|
|
35
|
-
[type]="type"
|
|
36
|
-
[min]="min"
|
|
37
|
-
[max]="max"
|
|
38
|
-
[value]="value"
|
|
39
|
-
[disabledDates]="disabledDates"
|
|
40
|
-
(valueChange)="valueChange.emit($event)">
|
|
41
|
-
</kendo-calendar>
|
|
42
|
-
`,
|
|
43
|
-
standalone: true,
|
|
44
|
-
imports: [KendoCalendarComponent]
|
|
45
|
-
}]
|
|
46
|
-
}], propDecorators: { valueChange: [{
|
|
47
|
-
type: Output
|
|
48
|
-
}] } });
|