@progress/kendo-angular-spreadsheet 21.4.0-develop.3 → 21.4.0-develop.5
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/common/spreadsheet.service.d.ts +3 -0
- package/directives.d.ts +3 -1
- package/esm2022/common/error-handling.service.mjs +1 -0
- package/esm2022/common/spreadsheet.service.mjs +2 -0
- package/esm2022/directives.mjs +5 -1
- package/esm2022/filter-menu/filter-menu-item-content-template.directive.mjs +26 -0
- package/esm2022/filter-menu/filter-menu-item.component.mjs +271 -0
- package/esm2022/localization/messages.mjs +175 -1
- package/esm2022/models/filter-menu-item.mjs +5 -0
- package/esm2022/models/index.mjs +2 -0
- package/esm2022/models/range-filter-value.mjs +5 -0
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/spreadsheet.component.mjs +717 -47
- package/esm2022/spreadsheet.module.mjs +3 -1
- package/esm2022/tools/filter-sort/filter-tool.directive.mjs +75 -0
- package/esm2022/tools/filter-sort/sort-tool.directive.mjs +57 -0
- package/esm2022/tools/index.mjs +2 -0
- package/esm2022/tools/shared/command-icons.mjs +13 -3
- package/esm2022/tools/shared/constants.mjs +7 -0
- package/fesm2022/progress-kendo-angular-spreadsheet.mjs +1301 -59
- package/filter-menu/filter-menu-item-content-template.directive.d.ts +15 -0
- package/filter-menu/filter-menu-item.component.d.ts +83 -0
- package/index.d.ts +1 -1
- package/localization/messages.d.ts +117 -1
- package/models/events.d.ts +49 -0
- package/models/filter-menu-item.d.ts +14 -0
- package/models/index.d.ts +2 -0
- package/models/range-filter-value.d.ts +15 -0
- package/package.json +18 -17
- package/schematics/ngAdd/index.js +2 -2
- package/spreadsheet.component.d.ts +73 -12
- package/spreadsheet.module.d.ts +3 -1
- package/tools/filter-sort/filter-tool.directive.d.ts +23 -0
- package/tools/filter-sort/sort-tool.directive.d.ts +21 -0
- package/tools/index.d.ts +2 -0
- package/tools/shared/commands.d.ts +1 -1
- package/tools/shared/constants.d.ts +12 -0
|
@@ -7,16 +7,19 @@ import { Range, Sheet, SpreadsheetWidget } from '@progress/kendo-spreadsheet-com
|
|
|
7
7
|
import { Subject } from 'rxjs';
|
|
8
8
|
import { SheetsChanges } from './sheet-changes';
|
|
9
9
|
import { SheetInfo } from '../models';
|
|
10
|
+
import { SpreadsheetComponent } from '../spreadsheet.component';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
/**
|
|
12
13
|
* @hidden
|
|
13
14
|
*/
|
|
14
15
|
export declare class SpreadsheetService {
|
|
15
16
|
spreadsheet: SpreadsheetWidget;
|
|
17
|
+
spreadsheetComponent: SpreadsheetComponent;
|
|
16
18
|
sheetsChanged: Subject<SheetsChanges>;
|
|
17
19
|
onSheetsBarFocus: Subject<any>;
|
|
18
20
|
activeSheetChanged: Subject<Sheet>;
|
|
19
21
|
selectionChanged: Subject<Range>;
|
|
22
|
+
componentInitialized: Subject<void>;
|
|
20
23
|
dialogContainer: ViewContainerRef;
|
|
21
24
|
constructor();
|
|
22
25
|
set currentActiveSheet(value: string);
|
package/directives.d.ts
CHANGED
|
@@ -34,6 +34,8 @@ import { SpreadsheetDecreaseDecimalDirective } from './tools/decrease-decimal-to
|
|
|
34
34
|
import { SpreadsheetHorizontalTextAlignDirective } from './tools/align/horizontal-align-tool.directive';
|
|
35
35
|
import { SpreadsheetVerticalTextAlignDirective } from './tools/align/vertical-align-tool.directive';
|
|
36
36
|
import { SpreadsheetDataValidationDirective } from './tools/data-validation-tool.directive';
|
|
37
|
+
import { SpreadsheetFilterDirective } from './tools/filter-sort/filter-tool.directive';
|
|
38
|
+
import { SpreadsheetSortDirective } from './tools/filter-sort/sort-tool.directive';
|
|
37
39
|
/**
|
|
38
40
|
* Use this utility array to access all `@progress/kendo-angular-spreadsheet`-related components and directives in a standalone Angular component.
|
|
39
41
|
*
|
|
@@ -54,4 +56,4 @@ import { SpreadsheetDataValidationDirective } from './tools/data-validation-tool
|
|
|
54
56
|
* }
|
|
55
57
|
* ```
|
|
56
58
|
*/
|
|
57
|
-
export declare const KENDO_SPREADSHEET: readonly [typeof SpreadsheetComponent, typeof CustomMessagesComponent, typeof SpreadsheetBoldDirective, typeof SpreadsheetDataValidationDirective, typeof SpreadsheetItalicDirective, typeof SpreadsheetUnderlineDirective, typeof SpreadsheetLoadFileComponent, typeof SpreadsheetSaveFileDirective, typeof SpreadsheetFormatDirective, typeof SpreadsheetUndoDirective, typeof SpreadsheetRedoDirective, typeof SpreadsheetFontFamilyComponent, typeof SpreadsheetFontSizeComponent, typeof SpreadsheetBackColorComponent, typeof SpreadsheetForeColorComponent, typeof SpreadsheetGridLinesDirective, typeof SpreadsheetAddColumnLeftButtonDirective, typeof SpreadsheetAddColumnRightButtonDirective, typeof SpreadsheetAddRowAboveButtonDirective, typeof SpreadsheetAddRowBelowButtonDirective, typeof SpreadsheetDeleteColumnButtonDirective, typeof SpreadsheetDeleteRowButtonDirective, typeof SpreadsheetTextAlignDirective, typeof SpreadsheetTextWrapDirective, typeof SpreadsheetMergeDirective, typeof SpreadsheetInsertLinkDirective, typeof SpreadsheetIncreaseFontSizeDirective, typeof SpreadsheetDecreaseFontSizeDirective, typeof SpreadsheetIncreaseDecimalDirective, typeof SpreadsheetDecreaseDecimalDirective, typeof SpreadsheetHorizontalTextAlignDirective, typeof SpreadsheetVerticalTextAlignDirective];
|
|
59
|
+
export declare const KENDO_SPREADSHEET: readonly [typeof SpreadsheetComponent, typeof CustomMessagesComponent, typeof SpreadsheetBoldDirective, typeof SpreadsheetDataValidationDirective, typeof SpreadsheetItalicDirective, typeof SpreadsheetUnderlineDirective, typeof SpreadsheetLoadFileComponent, typeof SpreadsheetSaveFileDirective, typeof SpreadsheetFormatDirective, typeof SpreadsheetUndoDirective, typeof SpreadsheetRedoDirective, typeof SpreadsheetFontFamilyComponent, typeof SpreadsheetFontSizeComponent, typeof SpreadsheetBackColorComponent, typeof SpreadsheetForeColorComponent, typeof SpreadsheetGridLinesDirective, typeof SpreadsheetAddColumnLeftButtonDirective, typeof SpreadsheetAddColumnRightButtonDirective, typeof SpreadsheetAddRowAboveButtonDirective, typeof SpreadsheetAddRowBelowButtonDirective, typeof SpreadsheetDeleteColumnButtonDirective, typeof SpreadsheetDeleteRowButtonDirective, typeof SpreadsheetTextAlignDirective, typeof SpreadsheetTextWrapDirective, typeof SpreadsheetMergeDirective, typeof SpreadsheetInsertLinkDirective, typeof SpreadsheetIncreaseFontSizeDirective, typeof SpreadsheetDecreaseFontSizeDirective, typeof SpreadsheetIncreaseDecimalDirective, typeof SpreadsheetDecreaseDecimalDirective, typeof SpreadsheetHorizontalTextAlignDirective, typeof SpreadsheetVerticalTextAlignDirective, typeof SpreadsheetFilterDirective, typeof SpreadsheetSortDirective];
|
|
@@ -77,6 +77,7 @@ export class ErrorHandlingService {
|
|
|
77
77
|
actionsLayout: 'start'
|
|
78
78
|
};
|
|
79
79
|
const dialog = this.dialogService.open(dialogSettings);
|
|
80
|
+
this.spreadsheetService.spreadsheetComponent.closePopup();
|
|
80
81
|
const dialogInstance = dialog.dialog?.instance;
|
|
81
82
|
dialogInstance.action.pipe(take(1)).subscribe((event) => {
|
|
82
83
|
if (event.text === this.messageFor('dialogOk')) {
|
|
@@ -11,10 +11,12 @@ let spreadsheetCounter = 0;
|
|
|
11
11
|
*/
|
|
12
12
|
export class SpreadsheetService {
|
|
13
13
|
spreadsheet;
|
|
14
|
+
spreadsheetComponent;
|
|
14
15
|
sheetsChanged = new Subject();
|
|
15
16
|
onSheetsBarFocus = new Subject();
|
|
16
17
|
activeSheetChanged = new Subject();
|
|
17
18
|
selectionChanged = new Subject();
|
|
19
|
+
componentInitialized = new Subject();
|
|
18
20
|
dialogContainer;
|
|
19
21
|
constructor() {
|
|
20
22
|
spreadsheetCounter++;
|
package/esm2022/directives.mjs
CHANGED
|
@@ -34,6 +34,8 @@ import { SpreadsheetDecreaseDecimalDirective } from './tools/decrease-decimal-to
|
|
|
34
34
|
import { SpreadsheetHorizontalTextAlignDirective } from './tools/align/horizontal-align-tool.directive';
|
|
35
35
|
import { SpreadsheetVerticalTextAlignDirective } from './tools/align/vertical-align-tool.directive';
|
|
36
36
|
import { SpreadsheetDataValidationDirective } from './tools/data-validation-tool.directive';
|
|
37
|
+
import { SpreadsheetFilterDirective } from './tools/filter-sort/filter-tool.directive';
|
|
38
|
+
import { SpreadsheetSortDirective } from './tools/filter-sort/sort-tool.directive';
|
|
37
39
|
/**
|
|
38
40
|
* Use this utility array to access all `@progress/kendo-angular-spreadsheet`-related components and directives in a standalone Angular component.
|
|
39
41
|
*
|
|
@@ -86,5 +88,7 @@ export const KENDO_SPREADSHEET = [
|
|
|
86
88
|
SpreadsheetIncreaseDecimalDirective,
|
|
87
89
|
SpreadsheetDecreaseDecimalDirective,
|
|
88
90
|
SpreadsheetHorizontalTextAlignDirective,
|
|
89
|
-
SpreadsheetVerticalTextAlignDirective
|
|
91
|
+
SpreadsheetVerticalTextAlignDirective,
|
|
92
|
+
SpreadsheetFilterDirective,
|
|
93
|
+
SpreadsheetSortDirective
|
|
90
94
|
];
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2025 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, Optional, TemplateRef } from '@angular/core';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* @hidden
|
|
9
|
+
*/
|
|
10
|
+
export class FilterMenuItemContentTemplateDirective {
|
|
11
|
+
templateRef;
|
|
12
|
+
constructor(templateRef) {
|
|
13
|
+
this.templateRef = templateRef;
|
|
14
|
+
}
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterMenuItemContentTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
16
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: FilterMenuItemContentTemplateDirective, isStandalone: true, selector: "[kendoSpreadsheetFilterMenuItemContentTemplate]", ngImport: i0 });
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterMenuItemContentTemplateDirective, decorators: [{
|
|
19
|
+
type: Directive,
|
|
20
|
+
args: [{
|
|
21
|
+
selector: '[kendoSpreadsheetFilterMenuItemContentTemplate]',
|
|
22
|
+
standalone: true
|
|
23
|
+
}]
|
|
24
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef, decorators: [{
|
|
25
|
+
type: Optional
|
|
26
|
+
}] }] });
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2025 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, ContentChild, Input, Output, EventEmitter, NgZone, ElementRef, HostBinding } from '@angular/core';
|
|
6
|
+
import { trigger, transition, style, animate, state } from '@angular/animations';
|
|
7
|
+
import { chevronDownIcon, chevronUpIcon } from '@progress/kendo-svg-icons';
|
|
8
|
+
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
9
|
+
import { FilterMenuItemContentTemplateDirective } from './filter-menu-item-content-template.directive';
|
|
10
|
+
import { NgTemplateOutlet, NgClass } from '@angular/common';
|
|
11
|
+
import { guid } from '@progress/kendo-angular-common';
|
|
12
|
+
import { take } from 'rxjs/operators';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
/**
|
|
15
|
+
* Represents an item that you can place inside the Spreadsheet filter menu.
|
|
16
|
+
*
|
|
17
|
+
* @hidden
|
|
18
|
+
*/
|
|
19
|
+
export class SpreadsheetFilterMenuItemComponent {
|
|
20
|
+
ngZone;
|
|
21
|
+
element;
|
|
22
|
+
contentTemplate;
|
|
23
|
+
hostClass = true;
|
|
24
|
+
/**
|
|
25
|
+
* Specifies the item text.
|
|
26
|
+
*/
|
|
27
|
+
text;
|
|
28
|
+
/**
|
|
29
|
+
* Specifies the items.
|
|
30
|
+
*/
|
|
31
|
+
innerMenuItems;
|
|
32
|
+
/**
|
|
33
|
+
* Specifies the item icon.
|
|
34
|
+
*/
|
|
35
|
+
icon;
|
|
36
|
+
/**
|
|
37
|
+
* Specifies the item icon.
|
|
38
|
+
*/
|
|
39
|
+
expanderClass;
|
|
40
|
+
/**
|
|
41
|
+
* Specifies the item icon.
|
|
42
|
+
*/
|
|
43
|
+
expandable = false;
|
|
44
|
+
/**
|
|
45
|
+
* Specifies the item svgIcon.
|
|
46
|
+
*/
|
|
47
|
+
svgIcon;
|
|
48
|
+
/**
|
|
49
|
+
* Specifies if the item is expanded.
|
|
50
|
+
*/
|
|
51
|
+
set expanded(value) {
|
|
52
|
+
this._expanded = value;
|
|
53
|
+
this.updateContentState();
|
|
54
|
+
}
|
|
55
|
+
get expanded() {
|
|
56
|
+
return this._expanded;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Fires when the item is clicked.
|
|
60
|
+
*/
|
|
61
|
+
itemClick = new EventEmitter();
|
|
62
|
+
/**
|
|
63
|
+
* Fires when the content expands.
|
|
64
|
+
*/
|
|
65
|
+
expand = new EventEmitter();
|
|
66
|
+
/**
|
|
67
|
+
* Fires when the content collapses.
|
|
68
|
+
*/
|
|
69
|
+
collapse = new EventEmitter();
|
|
70
|
+
constructor(ngZone, element) {
|
|
71
|
+
this.ngZone = ngZone;
|
|
72
|
+
this.element = element;
|
|
73
|
+
}
|
|
74
|
+
ngAfterViewInit() {
|
|
75
|
+
this.ngZone.onStable.pipe(take(1)).subscribe(() => {
|
|
76
|
+
this.contentTemplate && (this.contentId = `k-${guid()}`);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* @hidden
|
|
81
|
+
*/
|
|
82
|
+
get expandedIcon() {
|
|
83
|
+
return this.expanded ? 'arrow-chevron-up' : 'arrow-chevron-down';
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* @hidden
|
|
87
|
+
*/
|
|
88
|
+
get expandedSvgIcon() {
|
|
89
|
+
return this.expanded ? this.chevronUpIcon : this.chevronDownIcon;
|
|
90
|
+
}
|
|
91
|
+
contentState = 'collapsed';
|
|
92
|
+
contentId;
|
|
93
|
+
chevronUpIcon = chevronUpIcon;
|
|
94
|
+
chevronDownIcon = chevronDownIcon;
|
|
95
|
+
_expanded = false;
|
|
96
|
+
/**
|
|
97
|
+
* @hidden
|
|
98
|
+
*/
|
|
99
|
+
onClick(e, item) {
|
|
100
|
+
this.itemClick.emit(item);
|
|
101
|
+
e.preventDefault();
|
|
102
|
+
e.stopImmediatePropagation();
|
|
103
|
+
if (this.contentTemplate) {
|
|
104
|
+
if (this.expanded) {
|
|
105
|
+
this.collapse.emit();
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
this.expand.emit();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
updateContentState() {
|
|
113
|
+
this.contentState = this.expanded ? 'expanded' : 'collapsed';
|
|
114
|
+
}
|
|
115
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpreadsheetFilterMenuItemComponent, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
116
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SpreadsheetFilterMenuItemComponent, isStandalone: true, selector: "kendo-spreadsheet-filtermenu-item", inputs: { text: "text", innerMenuItems: "innerMenuItems", icon: "icon", expanderClass: "expanderClass", expandable: "expandable", svgIcon: "svgIcon", expanded: "expanded" }, outputs: { itemClick: "itemClick", expand: "expand", collapse: "collapse" }, host: { properties: { "class.k-columnmenu-item-wrapper": "this.hostClass" } }, queries: [{ propertyName: "contentTemplate", first: true, predicate: FilterMenuItemContentTemplateDirective, descendants: true }], ngImport: i0, template: `
|
|
117
|
+
@if (expandable) {
|
|
118
|
+
<div class="k-expander" [ngClass]="expanderClass">
|
|
119
|
+
<ng-container [ngTemplateOutlet]="itemsTemplate"></ng-container>
|
|
120
|
+
</div>
|
|
121
|
+
} @else {
|
|
122
|
+
<ng-container [ngTemplateOutlet]="itemsTemplate"></ng-container>
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
<ng-template #itemsTemplate>
|
|
126
|
+
@for (item of innerMenuItems; track item) {
|
|
127
|
+
<div class="k-columnmenu-item" (click)="onClick($event, item)">
|
|
128
|
+
@if (item.icon || item.svgIcon) {
|
|
129
|
+
<kendo-icon-wrapper
|
|
130
|
+
[name]="item.icon"
|
|
131
|
+
[svgIcon]="item.svgIcon">
|
|
132
|
+
</kendo-icon-wrapper>
|
|
133
|
+
}
|
|
134
|
+
{{item.text}}
|
|
135
|
+
@if (expandable) {
|
|
136
|
+
<span class="k-spacer"></span>
|
|
137
|
+
<span class="k-expander-indicator">
|
|
138
|
+
<kendo-icon-wrapper
|
|
139
|
+
[name]="expandedIcon"
|
|
140
|
+
[svgIcon]="expandedSvgIcon">
|
|
141
|
+
</kendo-icon-wrapper>
|
|
142
|
+
</span>
|
|
143
|
+
}
|
|
144
|
+
</div>
|
|
145
|
+
}
|
|
146
|
+
</ng-template>
|
|
147
|
+
|
|
148
|
+
@if (contentTemplate) {
|
|
149
|
+
<div class="k-columnmenu-item-content" [attr.id]="contentId" [@state]="contentState" [style.overflow]="'hidden'">
|
|
150
|
+
<ng-template [ngTemplateOutlet]="contentTemplate.templateRef"></ng-template>
|
|
151
|
+
</div>
|
|
152
|
+
}
|
|
153
|
+
`, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
|
|
154
|
+
trigger('state', [
|
|
155
|
+
state('collapsed', style({ display: 'none' })),
|
|
156
|
+
state('expanded', style({ display: 'block' })),
|
|
157
|
+
transition('collapsed => expanded', [
|
|
158
|
+
style({
|
|
159
|
+
height: '0px',
|
|
160
|
+
display: 'block'
|
|
161
|
+
}),
|
|
162
|
+
animate('100ms ease-in', style({
|
|
163
|
+
height: '*'
|
|
164
|
+
}))
|
|
165
|
+
]),
|
|
166
|
+
transition('expanded => collapsed', [
|
|
167
|
+
style({
|
|
168
|
+
height: '*'
|
|
169
|
+
}),
|
|
170
|
+
animate('100ms ease-in', style({
|
|
171
|
+
height: '0px'
|
|
172
|
+
}))
|
|
173
|
+
])
|
|
174
|
+
])
|
|
175
|
+
] });
|
|
176
|
+
}
|
|
177
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpreadsheetFilterMenuItemComponent, decorators: [{
|
|
178
|
+
type: Component,
|
|
179
|
+
args: [{
|
|
180
|
+
selector: 'kendo-spreadsheet-filtermenu-item',
|
|
181
|
+
template: `
|
|
182
|
+
@if (expandable) {
|
|
183
|
+
<div class="k-expander" [ngClass]="expanderClass">
|
|
184
|
+
<ng-container [ngTemplateOutlet]="itemsTemplate"></ng-container>
|
|
185
|
+
</div>
|
|
186
|
+
} @else {
|
|
187
|
+
<ng-container [ngTemplateOutlet]="itemsTemplate"></ng-container>
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
<ng-template #itemsTemplate>
|
|
191
|
+
@for (item of innerMenuItems; track item) {
|
|
192
|
+
<div class="k-columnmenu-item" (click)="onClick($event, item)">
|
|
193
|
+
@if (item.icon || item.svgIcon) {
|
|
194
|
+
<kendo-icon-wrapper
|
|
195
|
+
[name]="item.icon"
|
|
196
|
+
[svgIcon]="item.svgIcon">
|
|
197
|
+
</kendo-icon-wrapper>
|
|
198
|
+
}
|
|
199
|
+
{{item.text}}
|
|
200
|
+
@if (expandable) {
|
|
201
|
+
<span class="k-spacer"></span>
|
|
202
|
+
<span class="k-expander-indicator">
|
|
203
|
+
<kendo-icon-wrapper
|
|
204
|
+
[name]="expandedIcon"
|
|
205
|
+
[svgIcon]="expandedSvgIcon">
|
|
206
|
+
</kendo-icon-wrapper>
|
|
207
|
+
</span>
|
|
208
|
+
}
|
|
209
|
+
</div>
|
|
210
|
+
}
|
|
211
|
+
</ng-template>
|
|
212
|
+
|
|
213
|
+
@if (contentTemplate) {
|
|
214
|
+
<div class="k-columnmenu-item-content" [attr.id]="contentId" [@state]="contentState" [style.overflow]="'hidden'">
|
|
215
|
+
<ng-template [ngTemplateOutlet]="contentTemplate.templateRef"></ng-template>
|
|
216
|
+
</div>
|
|
217
|
+
}
|
|
218
|
+
`,
|
|
219
|
+
standalone: true,
|
|
220
|
+
imports: [IconWrapperComponent, NgTemplateOutlet, NgClass],
|
|
221
|
+
animations: [
|
|
222
|
+
trigger('state', [
|
|
223
|
+
state('collapsed', style({ display: 'none' })),
|
|
224
|
+
state('expanded', style({ display: 'block' })),
|
|
225
|
+
transition('collapsed => expanded', [
|
|
226
|
+
style({
|
|
227
|
+
height: '0px',
|
|
228
|
+
display: 'block'
|
|
229
|
+
}),
|
|
230
|
+
animate('100ms ease-in', style({
|
|
231
|
+
height: '*'
|
|
232
|
+
}))
|
|
233
|
+
]),
|
|
234
|
+
transition('expanded => collapsed', [
|
|
235
|
+
style({
|
|
236
|
+
height: '*'
|
|
237
|
+
}),
|
|
238
|
+
animate('100ms ease-in', style({
|
|
239
|
+
height: '0px'
|
|
240
|
+
}))
|
|
241
|
+
])
|
|
242
|
+
])
|
|
243
|
+
]
|
|
244
|
+
}]
|
|
245
|
+
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ElementRef }], propDecorators: { contentTemplate: [{
|
|
246
|
+
type: ContentChild,
|
|
247
|
+
args: [FilterMenuItemContentTemplateDirective]
|
|
248
|
+
}], hostClass: [{
|
|
249
|
+
type: HostBinding,
|
|
250
|
+
args: ['class.k-columnmenu-item-wrapper']
|
|
251
|
+
}], text: [{
|
|
252
|
+
type: Input
|
|
253
|
+
}], innerMenuItems: [{
|
|
254
|
+
type: Input
|
|
255
|
+
}], icon: [{
|
|
256
|
+
type: Input
|
|
257
|
+
}], expanderClass: [{
|
|
258
|
+
type: Input
|
|
259
|
+
}], expandable: [{
|
|
260
|
+
type: Input
|
|
261
|
+
}], svgIcon: [{
|
|
262
|
+
type: Input
|
|
263
|
+
}], expanded: [{
|
|
264
|
+
type: Input
|
|
265
|
+
}], itemClick: [{
|
|
266
|
+
type: Output
|
|
267
|
+
}], expand: [{
|
|
268
|
+
type: Output
|
|
269
|
+
}], collapse: [{
|
|
270
|
+
type: Output
|
|
271
|
+
}] } });
|
|
@@ -464,8 +464,124 @@ export class MessagesDirective extends ComponentMessages {
|
|
|
464
464
|
* internally with the current value, and the resulting label will be rendered as **A1% is invalid**.
|
|
465
465
|
*/
|
|
466
466
|
invalidNameError;
|
|
467
|
+
/**
|
|
468
|
+
* The content of the dialog that warns about sorting range containing cells of mixed shapes.
|
|
469
|
+
*/
|
|
470
|
+
cantSortMixedCells;
|
|
471
|
+
/**
|
|
472
|
+
* The text of the **Apply** button in the filter menu.
|
|
473
|
+
*/
|
|
474
|
+
filterApply;
|
|
475
|
+
/**
|
|
476
|
+
* The text of the **Clear** button in the filter menu.
|
|
477
|
+
*/
|
|
478
|
+
filterClear;
|
|
479
|
+
/**
|
|
480
|
+
* The text of the **All** grouping item in the filter menu.
|
|
481
|
+
*/
|
|
482
|
+
filterMenuAll;
|
|
483
|
+
/**
|
|
484
|
+
* The text for the blank (empty) values.
|
|
485
|
+
*/
|
|
486
|
+
blankValues;
|
|
487
|
+
/**
|
|
488
|
+
* The text of the **contains** filter operator.
|
|
489
|
+
*/
|
|
490
|
+
filterContainsOperator;
|
|
491
|
+
/**
|
|
492
|
+
* The text of the **does not contain** filter operator.
|
|
493
|
+
*/
|
|
494
|
+
filterNotContainsOperator;
|
|
495
|
+
/**
|
|
496
|
+
* The text of the **starts with** filter operator.
|
|
497
|
+
*/
|
|
498
|
+
filterStartsWithOperator;
|
|
499
|
+
/**
|
|
500
|
+
* The text of the **ends with** filter operator.
|
|
501
|
+
*/
|
|
502
|
+
filterEndsWithOperator;
|
|
503
|
+
/**
|
|
504
|
+
* The text of the **matches** filter operator.
|
|
505
|
+
*/
|
|
506
|
+
filterMatchesOperator;
|
|
507
|
+
/**
|
|
508
|
+
* The text of the **does not match** filter operator.
|
|
509
|
+
*/
|
|
510
|
+
filterNotMatchesOperator;
|
|
511
|
+
/**
|
|
512
|
+
* The text of the **Date is** filter operator.
|
|
513
|
+
*/
|
|
514
|
+
filterDateEqOperator;
|
|
515
|
+
/**
|
|
516
|
+
* The text of the **Date is not** filter operator.
|
|
517
|
+
*/
|
|
518
|
+
filterDateNotEqOperator;
|
|
519
|
+
/**
|
|
520
|
+
* The text of the **Date is before** filter operator.
|
|
521
|
+
*/
|
|
522
|
+
filterBeforeOperator;
|
|
523
|
+
/**
|
|
524
|
+
* The text of the **Date is after** filter operator.
|
|
525
|
+
*/
|
|
526
|
+
filterAfterOperator;
|
|
527
|
+
/**
|
|
528
|
+
* Sets the text for the **Equal (Is equal to)** filter operator.
|
|
529
|
+
*/
|
|
530
|
+
filterEqOperator;
|
|
531
|
+
/**
|
|
532
|
+
* Sets the text for the **Not equal (Is not equal to)** filter operator.
|
|
533
|
+
*/
|
|
534
|
+
filterNotEqOperator;
|
|
535
|
+
/**
|
|
536
|
+
* The text of the greater than or equal filter operator.
|
|
537
|
+
*/
|
|
538
|
+
filterGteOperator;
|
|
539
|
+
/**
|
|
540
|
+
* The text of the **greater than** filter operator.
|
|
541
|
+
*/
|
|
542
|
+
filterGtOperator;
|
|
543
|
+
/**
|
|
544
|
+
* The text of the **less than or equal** filter operator.
|
|
545
|
+
*/
|
|
546
|
+
filterLteOperator;
|
|
547
|
+
/**
|
|
548
|
+
* The text of the **less than** filter operator.
|
|
549
|
+
*/
|
|
550
|
+
filterLtOperator;
|
|
551
|
+
/**
|
|
552
|
+
* The text of the **none** filter operator.
|
|
553
|
+
*/
|
|
554
|
+
filterNoneOperator;
|
|
555
|
+
/**
|
|
556
|
+
* The text of the **Filter by condition** menu item.
|
|
557
|
+
*/
|
|
558
|
+
filterMenuConditionItem;
|
|
559
|
+
/**
|
|
560
|
+
* The text of the **Filter by value** menu item.
|
|
561
|
+
*/
|
|
562
|
+
filterMenuValueItem;
|
|
563
|
+
/**
|
|
564
|
+
* The title of the Sort ToolBar tool.
|
|
565
|
+
*/
|
|
566
|
+
sort;
|
|
567
|
+
/**
|
|
568
|
+
* The text of the **Sort range A to Z** option.
|
|
569
|
+
*/
|
|
570
|
+
sortAsc;
|
|
571
|
+
/**
|
|
572
|
+
* The text of the **Sort range Z to A** option.
|
|
573
|
+
*/
|
|
574
|
+
sortDesc;
|
|
575
|
+
/**
|
|
576
|
+
* The text of the **Unsort** option.
|
|
577
|
+
*/
|
|
578
|
+
unsort;
|
|
579
|
+
/**
|
|
580
|
+
* The content of the dialog that warns about sorting incorrect (empty) range.
|
|
581
|
+
*/
|
|
582
|
+
cantSortNullRef;
|
|
467
583
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MessagesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
468
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: MessagesDirective, isStandalone: true, selector: "[kendoSpreadsheetMessages]", inputs: { home: "home", file: "file", insert: "insert", formatTab: "formatTab", dataTab: "dataTab", saveFile: "saveFile", loadFile: "loadFile", bold: "bold", dataValidation: "dataValidation", validationCellRange: "validationCellRange", validationCriteria: "validationCriteria", validationComparer: "validationComparer", validationMinValue: "validationMinValue", validationMaxValue: "validationMaxValue", validationStartValue: "validationStartValue", validationEndValue: "validationEndValue", validationValue: "validationValue", validationShowListButtonCheckbox: "validationShowListButtonCheckbox", validationShowDateButtonCheckbox: "validationShowDateButtonCheckbox", validationIgnoreBlankCheckbox: "validationIgnoreBlankCheckbox", validationOnInvalidData: "validationOnInvalidData", validationRejectInput: "validationRejectInput", validationShowWarning: "validationShowWarning", validationShowHint: "validationShowHint", anyValueValidationCriteria: "anyValueValidationCriteria", numberValidationCriteria: "numberValidationCriteria", textValidationCriteria: "textValidationCriteria", dateValidationCriteria: "dateValidationCriteria", customFormulaValidationCriteria: "customFormulaValidationCriteria", listValidationCriteria: "listValidationCriteria", greaterThanValidationComparer: "greaterThanValidationComparer", lessThanValidationComparer: "lessThanValidationComparer", betweenValidationComparer: "betweenValidationComparer", notBetweenValidationComparer: "notBetweenValidationComparer", equalToValidationComparer: "equalToValidationComparer", notEqualToValidationComparer: "notEqualToValidationComparer", greaterThanOrEqualToValidationComparer: "greaterThanOrEqualToValidationComparer", lessThanOrEqualToValidationComparer: "lessThanOrEqualToValidationComparer", validationHintMessage: "validationHintMessage", validationHintTitle: "validationHintTitle", 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", dialogRemove: "dialogRemove", 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", sheetDelete: "sheetDelete", sheetRename: "sheetRename", sheetHide: "sheetHide", sheetDuplicate: "sheetDuplicate", sheetMoveLeft: "sheetMoveLeft", sheetMoveRight: "sheetMoveRight", invalidNameError: "invalidNameError" }, usesInheritance: true, ngImport: i0 });
|
|
584
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: MessagesDirective, isStandalone: true, selector: "[kendoSpreadsheetMessages]", inputs: { home: "home", file: "file", insert: "insert", formatTab: "formatTab", dataTab: "dataTab", saveFile: "saveFile", loadFile: "loadFile", bold: "bold", dataValidation: "dataValidation", validationCellRange: "validationCellRange", validationCriteria: "validationCriteria", validationComparer: "validationComparer", validationMinValue: "validationMinValue", validationMaxValue: "validationMaxValue", validationStartValue: "validationStartValue", validationEndValue: "validationEndValue", validationValue: "validationValue", validationShowListButtonCheckbox: "validationShowListButtonCheckbox", validationShowDateButtonCheckbox: "validationShowDateButtonCheckbox", validationIgnoreBlankCheckbox: "validationIgnoreBlankCheckbox", validationOnInvalidData: "validationOnInvalidData", validationRejectInput: "validationRejectInput", validationShowWarning: "validationShowWarning", validationShowHint: "validationShowHint", anyValueValidationCriteria: "anyValueValidationCriteria", numberValidationCriteria: "numberValidationCriteria", textValidationCriteria: "textValidationCriteria", dateValidationCriteria: "dateValidationCriteria", customFormulaValidationCriteria: "customFormulaValidationCriteria", listValidationCriteria: "listValidationCriteria", greaterThanValidationComparer: "greaterThanValidationComparer", lessThanValidationComparer: "lessThanValidationComparer", betweenValidationComparer: "betweenValidationComparer", notBetweenValidationComparer: "notBetweenValidationComparer", equalToValidationComparer: "equalToValidationComparer", notEqualToValidationComparer: "notEqualToValidationComparer", greaterThanOrEqualToValidationComparer: "greaterThanOrEqualToValidationComparer", lessThanOrEqualToValidationComparer: "lessThanOrEqualToValidationComparer", validationHintMessage: "validationHintMessage", validationHintTitle: "validationHintTitle", 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", dialogRemove: "dialogRemove", 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", sheetDelete: "sheetDelete", sheetRename: "sheetRename", sheetHide: "sheetHide", sheetDuplicate: "sheetDuplicate", sheetMoveLeft: "sheetMoveLeft", sheetMoveRight: "sheetMoveRight", invalidNameError: "invalidNameError", cantSortMixedCells: "cantSortMixedCells", filterApply: "filterApply", filterClear: "filterClear", filterMenuAll: "filterMenuAll", blankValues: "blankValues", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterStartsWithOperator: "filterStartsWithOperator", filterEndsWithOperator: "filterEndsWithOperator", filterMatchesOperator: "filterMatchesOperator", filterNotMatchesOperator: "filterNotMatchesOperator", filterDateEqOperator: "filterDateEqOperator", filterDateNotEqOperator: "filterDateNotEqOperator", filterBeforeOperator: "filterBeforeOperator", filterAfterOperator: "filterAfterOperator", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterGteOperator: "filterGteOperator", filterGtOperator: "filterGtOperator", filterLteOperator: "filterLteOperator", filterLtOperator: "filterLtOperator", filterNoneOperator: "filterNoneOperator", filterMenuConditionItem: "filterMenuConditionItem", filterMenuValueItem: "filterMenuValueItem", sort: "sort", sortAsc: "sortAsc", sortDesc: "sortDesc", unsort: "unsort", cantSortNullRef: "cantSortNullRef" }, usesInheritance: true, ngImport: i0 });
|
|
469
585
|
}
|
|
470
586
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MessagesDirective, decorators: [{
|
|
471
587
|
type: Directive,
|
|
@@ -695,4 +811,62 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
695
811
|
type: Input
|
|
696
812
|
}], invalidNameError: [{
|
|
697
813
|
type: Input
|
|
814
|
+
}], cantSortMixedCells: [{
|
|
815
|
+
type: Input
|
|
816
|
+
}], filterApply: [{
|
|
817
|
+
type: Input
|
|
818
|
+
}], filterClear: [{
|
|
819
|
+
type: Input
|
|
820
|
+
}], filterMenuAll: [{
|
|
821
|
+
type: Input
|
|
822
|
+
}], blankValues: [{
|
|
823
|
+
type: Input
|
|
824
|
+
}], filterContainsOperator: [{
|
|
825
|
+
type: Input
|
|
826
|
+
}], filterNotContainsOperator: [{
|
|
827
|
+
type: Input
|
|
828
|
+
}], filterStartsWithOperator: [{
|
|
829
|
+
type: Input
|
|
830
|
+
}], filterEndsWithOperator: [{
|
|
831
|
+
type: Input
|
|
832
|
+
}], filterMatchesOperator: [{
|
|
833
|
+
type: Input
|
|
834
|
+
}], filterNotMatchesOperator: [{
|
|
835
|
+
type: Input
|
|
836
|
+
}], filterDateEqOperator: [{
|
|
837
|
+
type: Input
|
|
838
|
+
}], filterDateNotEqOperator: [{
|
|
839
|
+
type: Input
|
|
840
|
+
}], filterBeforeOperator: [{
|
|
841
|
+
type: Input
|
|
842
|
+
}], filterAfterOperator: [{
|
|
843
|
+
type: Input
|
|
844
|
+
}], filterEqOperator: [{
|
|
845
|
+
type: Input
|
|
846
|
+
}], filterNotEqOperator: [{
|
|
847
|
+
type: Input
|
|
848
|
+
}], filterGteOperator: [{
|
|
849
|
+
type: Input
|
|
850
|
+
}], filterGtOperator: [{
|
|
851
|
+
type: Input
|
|
852
|
+
}], filterLteOperator: [{
|
|
853
|
+
type: Input
|
|
854
|
+
}], filterLtOperator: [{
|
|
855
|
+
type: Input
|
|
856
|
+
}], filterNoneOperator: [{
|
|
857
|
+
type: Input
|
|
858
|
+
}], filterMenuConditionItem: [{
|
|
859
|
+
type: Input
|
|
860
|
+
}], filterMenuValueItem: [{
|
|
861
|
+
type: Input
|
|
862
|
+
}], sort: [{
|
|
863
|
+
type: Input
|
|
864
|
+
}], sortAsc: [{
|
|
865
|
+
type: Input
|
|
866
|
+
}], sortDesc: [{
|
|
867
|
+
type: Input
|
|
868
|
+
}], unsort: [{
|
|
869
|
+
type: Input
|
|
870
|
+
}], cantSortNullRef: [{
|
|
871
|
+
type: Input
|
|
698
872
|
}] } });
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
export {};
|
package/esm2022/models/index.mjs
CHANGED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
export {};
|
|
@@ -10,7 +10,7 @@ export const packageMetadata = {
|
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCode: 'KENDOUIANGULAR',
|
|
12
12
|
productCodes: ['KENDOUIANGULAR'],
|
|
13
|
-
publishDate:
|
|
14
|
-
version: '21.4.0-develop.
|
|
13
|
+
publishDate: 1766066045,
|
|
14
|
+
version: '21.4.0-develop.5',
|
|
15
15
|
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',
|
|
16
16
|
};
|