@progress/kendo-angular-grid 21.1.1-develop.2 → 21.2.0-develop.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/adaptiveness/adaptive-renderer.component.mjs +850 -756
- package/esm2022/aggregates/status-bar.component.mjs +13 -11
- package/esm2022/column-menu/column-chooser-content.component.mjs +133 -123
- package/esm2022/column-menu/column-list.component.mjs +62 -59
- package/esm2022/column-menu/column-menu-autosize-all.component.mjs +12 -11
- package/esm2022/column-menu/column-menu-autosize.component.mjs +12 -11
- package/esm2022/column-menu/column-menu-item.component.mjs +221 -85
- package/esm2022/column-menu/column-menu-position.component.mjs +46 -43
- package/esm2022/column-menu/column-menu.component.mjs +401 -315
- package/esm2022/editing/add-command.directive.mjs +27 -17
- package/esm2022/editing/cancel-command.directive.mjs +27 -17
- package/esm2022/editing/edit-command.directive.mjs +27 -17
- package/esm2022/editing/form/form-formfield.component.mjs +97 -70
- package/esm2022/editing/form/form.component.mjs +77 -61
- package/esm2022/editing/remove-command.directive.mjs +27 -17
- package/esm2022/editing/save-command.directive.mjs +27 -17
- package/esm2022/excel/excel-command.directive.mjs +27 -17
- package/esm2022/filtering/cell/filter-cell-operators.component.mjs +20 -17
- package/esm2022/filtering/cell/filter-cell.component.mjs +35 -33
- package/esm2022/filtering/filter-row.component.mjs +37 -29
- package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +34 -31
- package/esm2022/filtering/menu/date-filter-menu.component.mjs +52 -49
- package/esm2022/filtering/menu/filter-menu-container.component.mjs +97 -89
- package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +50 -47
- package/esm2022/filtering/menu/string-filter-menu.component.mjs +36 -33
- package/esm2022/filtering/multicheckbox-filter.component.mjs +54 -43
- package/esm2022/grid.component.mjs +1579 -1483
- package/esm2022/grouping/group-header.component.mjs +113 -89
- package/esm2022/grouping/group-panel.component.mjs +82 -75
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/pdf/pdf-command.directive.mjs +27 -17
- package/esm2022/rendering/cell.component.mjs +411 -365
- package/esm2022/rendering/common/col-group.component.mjs +25 -15
- package/esm2022/rendering/common/loading.component.mjs +23 -19
- package/esm2022/rendering/details/detail-template.directive.mjs +6 -4
- package/esm2022/rendering/footer/footer.component.mjs +128 -112
- package/esm2022/rendering/header/header.component.mjs +412 -351
- package/esm2022/rendering/list.component.mjs +225 -202
- package/esm2022/rendering/table-body.component.mjs +553 -493
- package/esm2022/rendering/toolbar/toolbar.component.mjs +13 -11
- package/esm2022/rendering/toolbar/tools/ai-assistant/ai-assistant.component.mjs +86 -79
- package/esm2022/rendering/toolbar/tools/filter-toolbar-tool.component.mjs +54 -51
- package/esm2022/rendering/toolbar/tools/group-toolbar-tool.component.mjs +138 -115
- package/esm2022/rendering/toolbar/tools/sort-toolbar-tool.component.mjs +72 -65
- package/fesm2022/progress-kendo-angular-grid.mjs +6426 -5525
- package/package.json +24 -24
- package/rendering/details/detail-template.directive.d.ts +6 -4
- package/schematics/ngAdd/index.js +7 -7
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
6
6
|
import { ReactiveFormsModule, FormGroup } from '@angular/forms';
|
|
7
|
-
import {
|
|
7
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
8
8
|
import { KENDO_BUTTON } from '@progress/kendo-angular-buttons';
|
|
9
9
|
import { cancelIcon, saveIcon } from '@progress/kendo-svg-icons';
|
|
10
10
|
import { FormFormFieldComponent } from './form-formfield.component';
|
|
@@ -64,40 +64,48 @@ export class FormComponent {
|
|
|
64
64
|
this._actionButtons = value ? this.defaultActionButtons : [];
|
|
65
65
|
}
|
|
66
66
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
67
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
67
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FormComponent, isStandalone: true, selector: "kendo-grid-external-form", inputs: { controls: "controls", formSettings: "formSettings", formGroup: "formGroup", actionButtons: "actionButtons" }, outputs: { formSubmit: "formSubmit" }, ngImport: i0, template: `
|
|
68
68
|
<div role="form"
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
69
|
+
class="k-form k-form-md"
|
|
70
|
+
[class.k-form-horizontal]="formSettings.orientation === 'horizontal'"
|
|
71
|
+
[formGroup]="formGroup"
|
|
72
|
+
(ngSubmit)="formSubmit.next({originalEvent: $event, formGroup})"
|
|
73
|
+
(reset)="$event.preventDefault()">
|
|
74
|
+
@for (control of controls; track control; let idx = $index) {
|
|
75
|
+
@if (!control.template) {
|
|
76
|
+
<kendo-form-formfield
|
|
77
|
+
[control]="control"
|
|
78
|
+
[showError]="formSettings.showErrors"
|
|
79
|
+
[floatingLabel]="formSettings.floatingLabels"></kendo-form-formfield>
|
|
80
|
+
} @else {
|
|
81
|
+
<ng-container
|
|
82
|
+
[ngTemplateOutlet]="control.template"
|
|
83
|
+
[ngTemplateOutletContext]="control.templateContext"></ng-container>
|
|
84
|
+
}
|
|
85
|
+
<ng-template #template>
|
|
86
|
+
<ng-container
|
|
87
|
+
[ngTemplateOutlet]="control.template"
|
|
88
|
+
[ngTemplateOutletContext]="control.templateContext"></ng-container>
|
|
89
|
+
</ng-template>
|
|
90
|
+
}
|
|
91
|
+
@if ($any(actionButtons).length) {
|
|
92
|
+
<div class="k-form-buttons">
|
|
93
|
+
@for (button of $any(actionButtons); track button) {
|
|
94
|
+
<button kendoButton
|
|
95
|
+
[class.k-form-submit]="button.actionType === 'submit'"
|
|
96
|
+
[size]="button.size"
|
|
97
|
+
[themeColor]="button.themeColor || button.actionType === 'submit' ? 'primary' : undefined"
|
|
98
|
+
[rounded]="button.rounded"
|
|
99
|
+
[attr.type]="button.actionType"
|
|
100
|
+
[svgIcon]="button.svgIcon"
|
|
101
|
+
[icon]="button.icon">
|
|
102
|
+
{{button.text}}
|
|
97
103
|
</button>
|
|
104
|
+
}
|
|
98
105
|
</div>
|
|
106
|
+
}
|
|
99
107
|
</div>
|
|
100
|
-
|
|
108
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FormFormFieldComponent, selector: "kendo-form-formfield", inputs: ["control", "floatingLabel", "showError"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
|
|
101
109
|
}
|
|
102
110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormComponent, decorators: [{
|
|
103
111
|
type: Component,
|
|
@@ -106,39 +114,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
106
114
|
standalone: true,
|
|
107
115
|
template: `
|
|
108
116
|
<div role="form"
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
117
|
+
class="k-form k-form-md"
|
|
118
|
+
[class.k-form-horizontal]="formSettings.orientation === 'horizontal'"
|
|
119
|
+
[formGroup]="formGroup"
|
|
120
|
+
(ngSubmit)="formSubmit.next({originalEvent: $event, formGroup})"
|
|
121
|
+
(reset)="$event.preventDefault()">
|
|
122
|
+
@for (control of controls; track control; let idx = $index) {
|
|
123
|
+
@if (!control.template) {
|
|
124
|
+
<kendo-form-formfield
|
|
125
|
+
[control]="control"
|
|
126
|
+
[showError]="formSettings.showErrors"
|
|
127
|
+
[floatingLabel]="formSettings.floatingLabels"></kendo-form-formfield>
|
|
128
|
+
} @else {
|
|
129
|
+
<ng-container
|
|
130
|
+
[ngTemplateOutlet]="control.template"
|
|
131
|
+
[ngTemplateOutletContext]="control.templateContext"></ng-container>
|
|
132
|
+
}
|
|
133
|
+
<ng-template #template>
|
|
134
|
+
<ng-container
|
|
135
|
+
[ngTemplateOutlet]="control.template"
|
|
136
|
+
[ngTemplateOutletContext]="control.templateContext"></ng-container>
|
|
137
|
+
</ng-template>
|
|
138
|
+
}
|
|
139
|
+
@if ($any(actionButtons).length) {
|
|
140
|
+
<div class="k-form-buttons">
|
|
141
|
+
@for (button of $any(actionButtons); track button) {
|
|
142
|
+
<button kendoButton
|
|
143
|
+
[class.k-form-submit]="button.actionType === 'submit'"
|
|
144
|
+
[size]="button.size"
|
|
145
|
+
[themeColor]="button.themeColor || button.actionType === 'submit' ? 'primary' : undefined"
|
|
146
|
+
[rounded]="button.rounded"
|
|
147
|
+
[attr.type]="button.actionType"
|
|
148
|
+
[svgIcon]="button.svgIcon"
|
|
149
|
+
[icon]="button.icon">
|
|
150
|
+
{{button.text}}
|
|
137
151
|
</button>
|
|
152
|
+
}
|
|
138
153
|
</div>
|
|
154
|
+
}
|
|
139
155
|
</div>
|
|
140
|
-
|
|
141
|
-
imports: [
|
|
156
|
+
`,
|
|
157
|
+
imports: [NgTemplateOutlet, ReactiveFormsModule, FormFormFieldComponent, KENDO_BUTTON],
|
|
142
158
|
}]
|
|
143
159
|
}], propDecorators: { controls: [{
|
|
144
160
|
type: Input
|
|
@@ -7,7 +7,7 @@ import { Button } from '@progress/kendo-angular-buttons';
|
|
|
7
7
|
import { EditService } from './edit.service';
|
|
8
8
|
import { CELL_CONTEXT } from '../rendering/common/cell-context';
|
|
9
9
|
import { ContextService } from '../common/provider.service';
|
|
10
|
-
import {
|
|
10
|
+
import { NgClass } from '@angular/common';
|
|
11
11
|
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
import * as i1 from "./edit.service";
|
|
@@ -66,37 +66,47 @@ export class RemoveCommandDirective extends Button {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RemoveCommandDirective, deps: [{ token: i1.EditService }, { token: CELL_CONTEXT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.ContextService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RemoveCommandDirective, isStandalone: true, selector: "[kendoGridRemoveCommand]", host: { listeners: { "click": "onClick($event)" }, properties: { "style.display": "this.visible", "class.k-grid-remove-command": "this.commandClass" } }, usesInheritance: true, ngImport: i0, template: `
|
|
70
|
+
@if (icon || svgIcon) {
|
|
71
|
+
<kendo-icon-wrapper
|
|
72
72
|
innerCssClass="k-button-icon"
|
|
73
73
|
[name]="icon"
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
75
|
+
}
|
|
76
|
+
@if (imageUrl) {
|
|
77
|
+
<span class="k-button-icon k-icon">
|
|
76
78
|
<img [src]="imageUrl" class="k-image" role="presentation" />
|
|
77
|
-
|
|
78
|
-
|
|
79
|
+
</span>
|
|
80
|
+
}
|
|
81
|
+
@if (iconClass) {
|
|
82
|
+
<span class="k-button-icon" [ngClass]="iconClass"></span>
|
|
83
|
+
}
|
|
79
84
|
<span class="k-button-text"><ng-content></ng-content></span>
|
|
80
|
-
|
|
85
|
+
`, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
81
86
|
}
|
|
82
87
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RemoveCommandDirective, decorators: [{
|
|
83
88
|
type: Component,
|
|
84
89
|
args: [{
|
|
85
90
|
selector: '[kendoGridRemoveCommand]',
|
|
86
91
|
template: `
|
|
87
|
-
|
|
88
|
-
|
|
92
|
+
@if (icon || svgIcon) {
|
|
93
|
+
<kendo-icon-wrapper
|
|
89
94
|
innerCssClass="k-button-icon"
|
|
90
95
|
[name]="icon"
|
|
91
|
-
|
|
92
|
-
|
|
96
|
+
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
97
|
+
}
|
|
98
|
+
@if (imageUrl) {
|
|
99
|
+
<span class="k-button-icon k-icon">
|
|
93
100
|
<img [src]="imageUrl" class="k-image" role="presentation" />
|
|
94
|
-
|
|
95
|
-
|
|
101
|
+
</span>
|
|
102
|
+
}
|
|
103
|
+
@if (iconClass) {
|
|
104
|
+
<span class="k-button-icon" [ngClass]="iconClass"></span>
|
|
105
|
+
}
|
|
96
106
|
<span class="k-button-text"><ng-content></ng-content></span>
|
|
97
|
-
|
|
107
|
+
`,
|
|
98
108
|
standalone: true,
|
|
99
|
-
imports: [
|
|
109
|
+
imports: [IconWrapperComponent, NgClass]
|
|
100
110
|
}]
|
|
101
111
|
}], ctorParameters: () => [{ type: i1.EditService }, { type: undefined, decorators: [{
|
|
102
112
|
type: Inject,
|
|
@@ -7,7 +7,7 @@ import { Button } from '@progress/kendo-angular-buttons';
|
|
|
7
7
|
import { EditService } from './edit.service';
|
|
8
8
|
import { CELL_CONTEXT } from '../rendering/common/cell-context';
|
|
9
9
|
import { ContextService } from '../common/provider.service';
|
|
10
|
-
import {
|
|
10
|
+
import { NgClass } from '@angular/common';
|
|
11
11
|
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
import * as i1 from "./edit.service";
|
|
@@ -69,37 +69,47 @@ export class SaveCommandDirective extends Button {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SaveCommandDirective, deps: [{ token: i1.EditService }, { token: CELL_CONTEXT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.ContextService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SaveCommandDirective, isStandalone: true, selector: "[kendoGridSaveCommand]", host: { listeners: { "click": "onClick($event)" }, properties: { "style.display": "this.visible", "class.k-grid-save-command": "this.commandClass" } }, usesInheritance: true, ngImport: i0, template: `
|
|
73
|
+
@if (icon || svgIcon) {
|
|
74
|
+
<kendo-icon-wrapper
|
|
75
75
|
innerCssClass="k-button-icon"
|
|
76
76
|
[name]="icon"
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
78
|
+
}
|
|
79
|
+
@if (imageUrl) {
|
|
80
|
+
<span class="k-button-icon k-icon">
|
|
79
81
|
<img [src]="imageUrl" class="k-image" role="presentation" />
|
|
80
|
-
|
|
81
|
-
|
|
82
|
+
</span>
|
|
83
|
+
}
|
|
84
|
+
@if (iconClass) {
|
|
85
|
+
<span class="k-button-icon" [ngClass]="iconClass"></span>
|
|
86
|
+
}
|
|
82
87
|
<span class="k-button-text"><ng-content></ng-content></span>
|
|
83
|
-
|
|
88
|
+
`, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
84
89
|
}
|
|
85
90
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SaveCommandDirective, decorators: [{
|
|
86
91
|
type: Component,
|
|
87
92
|
args: [{
|
|
88
93
|
selector: '[kendoGridSaveCommand]',
|
|
89
94
|
template: `
|
|
90
|
-
|
|
91
|
-
|
|
95
|
+
@if (icon || svgIcon) {
|
|
96
|
+
<kendo-icon-wrapper
|
|
92
97
|
innerCssClass="k-button-icon"
|
|
93
98
|
[name]="icon"
|
|
94
|
-
|
|
95
|
-
|
|
99
|
+
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
100
|
+
}
|
|
101
|
+
@if (imageUrl) {
|
|
102
|
+
<span class="k-button-icon k-icon">
|
|
96
103
|
<img [src]="imageUrl" class="k-image" role="presentation" />
|
|
97
|
-
|
|
98
|
-
|
|
104
|
+
</span>
|
|
105
|
+
}
|
|
106
|
+
@if (iconClass) {
|
|
107
|
+
<span class="k-button-icon" [ngClass]="iconClass"></span>
|
|
108
|
+
}
|
|
99
109
|
<span class="k-button-text"><ng-content></ng-content></span>
|
|
100
|
-
|
|
110
|
+
`,
|
|
101
111
|
standalone: true,
|
|
102
|
-
imports: [
|
|
112
|
+
imports: [IconWrapperComponent, NgClass]
|
|
103
113
|
}]
|
|
104
114
|
}], ctorParameters: () => [{ type: i1.EditService }, { type: undefined, decorators: [{
|
|
105
115
|
type: Inject,
|
|
@@ -7,7 +7,7 @@ import { Button } from '@progress/kendo-angular-buttons';
|
|
|
7
7
|
import { ContextService } from '../common/provider.service';
|
|
8
8
|
import { ExcelService } from './excel.service';
|
|
9
9
|
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
10
|
-
import {
|
|
10
|
+
import { NgClass } from '@angular/common';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "./excel.service";
|
|
13
13
|
import * as i2 from "../common/provider.service";
|
|
@@ -47,37 +47,47 @@ export class ExcelCommandDirective extends Button {
|
|
|
47
47
|
this.ngZone = ngZone;
|
|
48
48
|
}
|
|
49
49
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelCommandDirective, deps: [{ token: i1.ExcelService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.ContextService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ExcelCommandDirective, isStandalone: true, selector: "[kendoGridExcelCommand]", host: { listeners: { "click": "onClick($event)" }, properties: { "class.k-grid-excel": "this.excelClass" } }, usesInheritance: true, ngImport: i0, template: `
|
|
51
|
+
@if (icon || svgIcon) {
|
|
52
|
+
<kendo-icon-wrapper
|
|
53
53
|
innerCssClass="k-button-icon"
|
|
54
54
|
[name]="icon"
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
56
|
+
}
|
|
57
|
+
@if (imageUrl) {
|
|
58
|
+
<span class="k-button-icon k-icon">
|
|
57
59
|
<img [src]="imageUrl" class="k-image" role="presentation" />
|
|
58
|
-
|
|
59
|
-
|
|
60
|
+
</span>
|
|
61
|
+
}
|
|
62
|
+
@if (iconClass) {
|
|
63
|
+
<span class="k-button-icon" [ngClass]="iconClass"></span>
|
|
64
|
+
}
|
|
60
65
|
<span class="k-button-text"><ng-content></ng-content></span>
|
|
61
|
-
|
|
66
|
+
`, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
62
67
|
}
|
|
63
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelCommandDirective, decorators: [{
|
|
64
69
|
type: Component,
|
|
65
70
|
args: [{
|
|
66
71
|
selector: '[kendoGridExcelCommand]',
|
|
67
72
|
template: `
|
|
68
|
-
|
|
69
|
-
|
|
73
|
+
@if (icon || svgIcon) {
|
|
74
|
+
<kendo-icon-wrapper
|
|
70
75
|
innerCssClass="k-button-icon"
|
|
71
76
|
[name]="icon"
|
|
72
|
-
|
|
73
|
-
|
|
77
|
+
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
78
|
+
}
|
|
79
|
+
@if (imageUrl) {
|
|
80
|
+
<span class="k-button-icon k-icon">
|
|
74
81
|
<img [src]="imageUrl" class="k-image" role="presentation" />
|
|
75
|
-
|
|
76
|
-
|
|
82
|
+
</span>
|
|
83
|
+
}
|
|
84
|
+
@if (iconClass) {
|
|
85
|
+
<span class="k-button-icon" [ngClass]="iconClass"></span>
|
|
86
|
+
}
|
|
77
87
|
<span class="k-button-text"><ng-content></ng-content></span>
|
|
78
|
-
|
|
88
|
+
`,
|
|
79
89
|
standalone: true,
|
|
80
|
-
imports: [
|
|
90
|
+
imports: [IconWrapperComponent, NgClass]
|
|
81
91
|
}]
|
|
82
92
|
}], ctorParameters: () => [{ type: i1.ExcelService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i2.ContextService }, { type: i0.NgZone }], propDecorators: { onClick: [{
|
|
83
93
|
type: HostListener,
|
|
@@ -10,7 +10,6 @@ import { filterClearIcon, filterIcon } from '@progress/kendo-svg-icons';
|
|
|
10
10
|
import { ContextService } from '../../common/provider.service';
|
|
11
11
|
import { ColumnComponent } from '../../columns/column.component';
|
|
12
12
|
import { FocusableDirective } from '../../navigation/focusable.directive';
|
|
13
|
-
import { NgIf } from '@angular/common';
|
|
14
13
|
import { ButtonComponent } from '@progress/kendo-angular-buttons';
|
|
15
14
|
import * as i0 from "@angular/core";
|
|
16
15
|
import * as i1 from "../../common/provider.service";
|
|
@@ -148,10 +147,10 @@ export class FilterCellOperatorsComponent {
|
|
|
148
147
|
return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
|
|
149
148
|
}
|
|
150
149
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellOperatorsComponent, deps: [{ token: i1.ContextService }, { token: i2.SizingOptionsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
151
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
152
|
-
|
|
150
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FilterCellOperatorsComponent, isStandalone: true, selector: "kendo-grid-filter-cell-operators", inputs: { operators: "operators", showButton: "showButton", showOperators: "showOperators", value: "value", column: "column" }, outputs: { valueChange: "valueChange", clear: "clear" }, host: { properties: { "class.k-filtercell-operator": "this.hostClasses" } }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: `
|
|
151
|
+
@if (showOperators) {
|
|
152
|
+
<kendo-dropdownlist
|
|
153
153
|
#dropdown
|
|
154
|
-
*ngIf="showOperators"
|
|
155
154
|
kendoGridFocusable
|
|
156
155
|
[attr.aria-label]="column && columnLabel"
|
|
157
156
|
[data]="operators"
|
|
@@ -166,27 +165,29 @@ export class FilterCellOperatorsComponent {
|
|
|
166
165
|
valueField="value"
|
|
167
166
|
[size]="size"
|
|
168
167
|
(keydown)="dropdownKeydown($event)">
|
|
169
|
-
|
|
170
|
-
|
|
168
|
+
</kendo-dropdownlist>
|
|
169
|
+
}
|
|
170
|
+
@if (showButton) {
|
|
171
|
+
<button type="button"
|
|
171
172
|
kendoButton
|
|
172
173
|
kendoGridFocusable
|
|
173
|
-
*ngIf="showButton"
|
|
174
174
|
icon="filter-clear"
|
|
175
175
|
[svgIcon]="filterClearIcon"
|
|
176
176
|
[title]="clearText"
|
|
177
177
|
[size]="size"
|
|
178
178
|
(click)="clearClick()"
|
|
179
|
-
|
|
180
|
-
|
|
179
|
+
(keydown)="clearKeydown($event)"></button>
|
|
180
|
+
}
|
|
181
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
|
|
181
182
|
}
|
|
182
183
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellOperatorsComponent, decorators: [{
|
|
183
184
|
type: Component,
|
|
184
185
|
args: [{
|
|
185
186
|
selector: 'kendo-grid-filter-cell-operators',
|
|
186
187
|
template: `
|
|
187
|
-
|
|
188
|
+
@if (showOperators) {
|
|
189
|
+
<kendo-dropdownlist
|
|
188
190
|
#dropdown
|
|
189
|
-
*ngIf="showOperators"
|
|
190
191
|
kendoGridFocusable
|
|
191
192
|
[attr.aria-label]="column && columnLabel"
|
|
192
193
|
[data]="operators"
|
|
@@ -201,20 +202,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
201
202
|
valueField="value"
|
|
202
203
|
[size]="size"
|
|
203
204
|
(keydown)="dropdownKeydown($event)">
|
|
204
|
-
|
|
205
|
-
|
|
205
|
+
</kendo-dropdownlist>
|
|
206
|
+
}
|
|
207
|
+
@if (showButton) {
|
|
208
|
+
<button type="button"
|
|
206
209
|
kendoButton
|
|
207
210
|
kendoGridFocusable
|
|
208
|
-
*ngIf="showButton"
|
|
209
211
|
icon="filter-clear"
|
|
210
212
|
[svgIcon]="filterClearIcon"
|
|
211
213
|
[title]="clearText"
|
|
212
214
|
[size]="size"
|
|
213
215
|
(click)="clearClick()"
|
|
214
|
-
|
|
215
|
-
|
|
216
|
+
(keydown)="clearKeydown($event)"></button>
|
|
217
|
+
}
|
|
218
|
+
`,
|
|
216
219
|
standalone: true,
|
|
217
|
-
imports: [
|
|
220
|
+
imports: [DropDownListComponent, FocusableDirective, ButtonComponent]
|
|
218
221
|
}]
|
|
219
222
|
}], ctorParameters: () => [{ type: i1.ContextService }, { type: i2.SizingOptionsService }], propDecorators: { hostClasses: [{
|
|
220
223
|
type: HostBinding,
|
|
@@ -7,7 +7,7 @@ import { ColumnComponent } from '../../columns/column.component';
|
|
|
7
7
|
import { isPresent, isNullOrEmptyString } from '../../utils';
|
|
8
8
|
import { cloneFilters } from '../../common/filter-descriptor-differ';
|
|
9
9
|
import { FilterCellHostDirective } from './filter-cell-host.directive';
|
|
10
|
-
import {
|
|
10
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
/**
|
|
13
13
|
* @hidden
|
|
@@ -37,45 +37,47 @@ export class FilterCellComponent {
|
|
|
37
37
|
return isPresent(this.column) && !isNullOrEmptyString(this.column.field) && this.column.filterable;
|
|
38
38
|
}
|
|
39
39
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
40
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FilterCellComponent, isStandalone: true, selector: "[kendoGridFilterCell]", inputs: { column: "column", filter: "filter", size: "size" }, host: { properties: { "attr.role": "this.hostRole" } }, ngImport: i0, template: `
|
|
41
|
+
@if (isFilterable) {
|
|
42
|
+
@switch (hasTemplate) {
|
|
43
|
+
@case (false) {
|
|
44
|
+
<ng-container kendoFilterCellHost [column]="column" [filter]="filter"></ng-container>
|
|
45
|
+
}
|
|
46
|
+
@case (true) {
|
|
47
|
+
@if (column.filterCellTemplateRef) {
|
|
48
|
+
<ng-template
|
|
49
|
+
[ngTemplateOutlet]="column.filterCellTemplateRef"
|
|
50
|
+
[ngTemplateOutletContext]="templateContext">
|
|
51
|
+
</ng-template>
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: FilterCellHostDirective, selector: "[kendoFilterCellHost]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
56
57
|
}
|
|
57
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellComponent, decorators: [{
|
|
58
59
|
type: Component,
|
|
59
60
|
args: [{
|
|
60
61
|
selector: '[kendoGridFilterCell]',
|
|
61
62
|
template: `
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
63
|
+
@if (isFilterable) {
|
|
64
|
+
@switch (hasTemplate) {
|
|
65
|
+
@case (false) {
|
|
66
|
+
<ng-container kendoFilterCellHost [column]="column" [filter]="filter"></ng-container>
|
|
67
|
+
}
|
|
68
|
+
@case (true) {
|
|
69
|
+
@if (column.filterCellTemplateRef) {
|
|
70
|
+
<ng-template
|
|
71
|
+
[ngTemplateOutlet]="column.filterCellTemplateRef"
|
|
72
|
+
[ngTemplateOutletContext]="templateContext">
|
|
73
|
+
</ng-template>
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
`,
|
|
77
79
|
standalone: true,
|
|
78
|
-
imports: [
|
|
80
|
+
imports: [FilterCellHostDirective, NgTemplateOutlet]
|
|
79
81
|
}]
|
|
80
82
|
}], propDecorators: { hostRole: [{
|
|
81
83
|
type: HostBinding,
|