@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
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { Component, Input, ElementRef, HostBinding, HostListener } from '@angular/core';
|
|
6
6
|
import { closestInScope, isDocumentAvailable, isFocusable } from '@progress/kendo-angular-common';
|
|
7
7
|
import { ContextService } from './../../common/provider.service';
|
|
8
|
-
import {
|
|
8
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "./../../common/provider.service";
|
|
11
11
|
/**
|
|
@@ -95,25 +95,27 @@ export class ToolbarComponent {
|
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
97
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToolbarComponent, deps: [{ token: i1.ContextService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
98
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
99
|
-
|
|
100
|
-
|
|
98
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ToolbarComponent, isStandalone: true, selector: "kendo-grid-toolbar", inputs: { position: "position", size: "size", navigable: "navigable" }, host: { listeners: { "click": "clickHandler($event)", "keydown.arrowleft": "arrowLeftListener($event)", "keydown.arrowright": "arrowRightListener($event)", "keydown.home": "homeKeyListener($event)", "keydown.end": "endKeyListener($event)" }, properties: { "attr.role": "this.role", "class.k-toolbar": "this.hostClasses", "class.k-grid-toolbar": "this.hostClasses", "class.k-toolbar-solid": "this.hostClasses", "class.k-toolbar-sm": "this.sizeSmallClass", "class.k-toolbar-md": "this.sizeMediumClass" } }, ngImport: i0, template: `
|
|
99
|
+
@if (toolbarTemplateRef) {
|
|
100
|
+
<ng-template
|
|
101
101
|
[ngTemplateOutlet]="toolbarTemplateRef"
|
|
102
|
-
|
|
103
|
-
|
|
102
|
+
[ngTemplateOutletContext]="context"></ng-template>
|
|
103
|
+
}
|
|
104
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
104
105
|
}
|
|
105
106
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToolbarComponent, decorators: [{
|
|
106
107
|
type: Component,
|
|
107
108
|
args: [{
|
|
108
109
|
selector: 'kendo-grid-toolbar',
|
|
109
110
|
template: `
|
|
110
|
-
|
|
111
|
-
|
|
111
|
+
@if (toolbarTemplateRef) {
|
|
112
|
+
<ng-template
|
|
112
113
|
[ngTemplateOutlet]="toolbarTemplateRef"
|
|
113
|
-
|
|
114
|
-
|
|
114
|
+
[ngTemplateOutletContext]="context"></ng-template>
|
|
115
|
+
}
|
|
116
|
+
`,
|
|
115
117
|
standalone: true,
|
|
116
|
-
imports: [
|
|
118
|
+
imports: [NgTemplateOutlet]
|
|
117
119
|
}]
|
|
118
120
|
}], ctorParameters: () => [{ type: i1.ContextService }, { type: i0.ElementRef }], propDecorators: { role: [{
|
|
119
121
|
type: HostBinding,
|
|
@@ -8,7 +8,6 @@ import { HttpClient, HttpRequest } from '@angular/common/http';
|
|
|
8
8
|
import { ContextService } from './../../../../common/provider.service';
|
|
9
9
|
import { ColumnInfoService } from './../../../../common/column-info.service';
|
|
10
10
|
import { GridAIAssistantResponseSuccessEvent, GridAIAssistantResponseErrorEvent } from './models';
|
|
11
|
-
import { NgIf } from '@angular/common';
|
|
12
11
|
import { convertDateStringsInFilter, highlightBy } from './utils';
|
|
13
12
|
import { isCheckboxColumn } from '../../../../columns/column-base';
|
|
14
13
|
import { CommandColumnComponent } from '../../../../columns/command-column.component';
|
|
@@ -741,100 +740,108 @@ export class AiAssistantComponent {
|
|
|
741
740
|
});
|
|
742
741
|
}
|
|
743
742
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AiAssistantComponent, deps: [{ token: i1.HttpClient }, { token: i2.ContextService }, { token: i3.ColumnInfoService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
744
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
743
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AiAssistantComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "aiPrompt", first: true, predicate: AIPromptComponent, descendants: true }], ngImport: i0, template: `
|
|
745
744
|
<kendo-aiprompt
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
<div class="k-card-body">
|
|
773
|
-
<span class="k-skeleton k-skeleton-rect k-skeleton-pulse" style="height: 80px;"></span>
|
|
774
|
-
</div>
|
|
775
|
-
<div class="k-card-actions">
|
|
776
|
-
<span class="k-skeleton k-skeleton-text k-skeleton-pulse" style="width: 100%;"></span>
|
|
777
|
-
</div>
|
|
745
|
+
#aiPrompt
|
|
746
|
+
[promptSuggestions]="aiPromptSettings?.promptSuggestions"
|
|
747
|
+
[showOutputRating]="aiPromptSettings?.showOutputRating"
|
|
748
|
+
[streaming]="streaming"
|
|
749
|
+
[speechToTextButton]="aiPromptSettings?.speechToTextButton"
|
|
750
|
+
[(activeView)]="activeView"
|
|
751
|
+
[generateButtonSVGIcon]="aiPromptSettings?.generateButtonSVGIcon"
|
|
752
|
+
[generateButtonIcon]="aiPromptSettings?.generateButtonIcon"
|
|
753
|
+
[disabledGenerateButton]="disabledGenerateButton || promptView.textAreaValue?.length === 0"
|
|
754
|
+
[promptOutputs]="aiPromptSettings?.promptOutputs"
|
|
755
|
+
[textAreaSettings]="aiPromptSettings?.textAreaSettings"
|
|
756
|
+
(promptRequest)="onPromptRequest($event)"
|
|
757
|
+
(promptRequestCancel)="cancelRequest()"
|
|
758
|
+
>
|
|
759
|
+
<kendo-aiprompt-prompt-view #promptView></kendo-aiprompt-prompt-view>
|
|
760
|
+
<kendo-aiprompt-output-view></kendo-aiprompt-output-view>
|
|
761
|
+
@if (streaming && aiPrompt.streaming; as output) {
|
|
762
|
+
<ng-template kendoAIPromptOutputTemplate let-output>
|
|
763
|
+
<div class="k-card">
|
|
764
|
+
<div class="k-card-header">
|
|
765
|
+
<div class="k-card-title">
|
|
766
|
+
<span class="k-skeleton k-skeleton-text k-skeleton-pulse" [style.width.px]="200"></span>
|
|
767
|
+
</div>
|
|
768
|
+
<div class="k-card-subtitle">
|
|
769
|
+
<span class="k-skeleton k-skeleton-text k-skeleton-pulse" style="width: 100%;"></span>
|
|
770
|
+
</div>
|
|
778
771
|
</div>
|
|
772
|
+
<div class="k-card-body">
|
|
773
|
+
<span class="k-skeleton k-skeleton-rect k-skeleton-pulse" style="height: 80px;"></span>
|
|
774
|
+
</div>
|
|
775
|
+
<div class="k-card-actions">
|
|
776
|
+
<span class="k-skeleton k-skeleton-text k-skeleton-pulse" style="width: 100%;"></span>
|
|
777
|
+
</div>
|
|
778
|
+
</div>
|
|
779
779
|
</ng-template>
|
|
780
|
-
|
|
781
|
-
|
|
780
|
+
}
|
|
781
|
+
@if (!(streaming && aiPrompt.streaming); as output) {
|
|
782
|
+
<ng-template kendoAIPromptOutputBodyTemplate let-output>
|
|
783
|
+
<p>{{output.output}}</p>
|
|
782
784
|
</ng-template>
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
785
|
+
}
|
|
786
|
+
<kendo-aiprompt-messages
|
|
787
|
+
[generateOutput]="message('aiAssistantApplyButtonText')"
|
|
788
|
+
></kendo-aiprompt-messages>
|
|
786
789
|
</kendo-aiprompt>
|
|
787
|
-
|
|
790
|
+
`, isInline: true, dependencies: [{ kind: "component", type: AIPromptComponent, selector: "kendo-aiprompt", inputs: ["activeView", "promptCommands", "promptSuggestions", "promptOutputs", "showOutputRating", "streaming", "speechToTextButton", "textAreaSettings", "generateButtonSVGIcon", "generateButtonIcon", "disabledGenerateButton"], outputs: ["activeViewChange", "promptRequest", "commandExecute", "outputCopy", "outputRatingChange", "promptRequestCancel"], exportAs: ["kendoAIPrompt"] }, { kind: "component", type: AIPromptCustomMessagesComponent, selector: "kendo-aiprompt-messages" }, { kind: "component", type: PromptViewComponent, selector: "kendo-aiprompt-prompt-view" }, { kind: "component", type: OutputViewComponent, selector: "kendo-aiprompt-output-view" }, { kind: "directive", type: AIPromptOutputTemplateDirective, selector: "[kendoAIPromptOutputTemplate]" }, { kind: "directive", type: AIPromptOutputBodyTemplateDirective, selector: "[kendoAIPromptOutputBodyTemplate]" }] });
|
|
788
791
|
}
|
|
789
792
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AiAssistantComponent, decorators: [{
|
|
790
793
|
type: Component,
|
|
791
794
|
args: [{
|
|
792
795
|
standalone: true,
|
|
793
|
-
imports: [
|
|
796
|
+
imports: [AIPromptComponent, AIPromptCustomMessagesComponent, PromptViewComponent, OutputViewComponent, AIPromptOutputTemplateDirective, AIPromptOutputBodyTemplateDirective],
|
|
794
797
|
template: `
|
|
795
798
|
<kendo-aiprompt
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
799
|
+
#aiPrompt
|
|
800
|
+
[promptSuggestions]="aiPromptSettings?.promptSuggestions"
|
|
801
|
+
[showOutputRating]="aiPromptSettings?.showOutputRating"
|
|
802
|
+
[streaming]="streaming"
|
|
803
|
+
[speechToTextButton]="aiPromptSettings?.speechToTextButton"
|
|
804
|
+
[(activeView)]="activeView"
|
|
805
|
+
[generateButtonSVGIcon]="aiPromptSettings?.generateButtonSVGIcon"
|
|
806
|
+
[generateButtonIcon]="aiPromptSettings?.generateButtonIcon"
|
|
807
|
+
[disabledGenerateButton]="disabledGenerateButton || promptView.textAreaValue?.length === 0"
|
|
808
|
+
[promptOutputs]="aiPromptSettings?.promptOutputs"
|
|
809
|
+
[textAreaSettings]="aiPromptSettings?.textAreaSettings"
|
|
810
|
+
(promptRequest)="onPromptRequest($event)"
|
|
811
|
+
(promptRequestCancel)="cancelRequest()"
|
|
812
|
+
>
|
|
813
|
+
<kendo-aiprompt-prompt-view #promptView></kendo-aiprompt-prompt-view>
|
|
814
|
+
<kendo-aiprompt-output-view></kendo-aiprompt-output-view>
|
|
815
|
+
@if (streaming && aiPrompt.streaming; as output) {
|
|
816
|
+
<ng-template kendoAIPromptOutputTemplate let-output>
|
|
817
|
+
<div class="k-card">
|
|
818
|
+
<div class="k-card-header">
|
|
819
|
+
<div class="k-card-title">
|
|
820
|
+
<span class="k-skeleton k-skeleton-text k-skeleton-pulse" [style.width.px]="200"></span>
|
|
821
|
+
</div>
|
|
822
|
+
<div class="k-card-subtitle">
|
|
823
|
+
<span class="k-skeleton k-skeleton-text k-skeleton-pulse" style="width: 100%;"></span>
|
|
824
|
+
</div>
|
|
825
|
+
</div>
|
|
826
|
+
<div class="k-card-body">
|
|
827
|
+
<span class="k-skeleton k-skeleton-rect k-skeleton-pulse" style="height: 80px;"></span>
|
|
828
|
+
</div>
|
|
829
|
+
<div class="k-card-actions">
|
|
830
|
+
<span class="k-skeleton k-skeleton-text k-skeleton-pulse" style="width: 100%;"></span>
|
|
828
831
|
</div>
|
|
832
|
+
</div>
|
|
829
833
|
</ng-template>
|
|
830
|
-
|
|
831
|
-
|
|
834
|
+
}
|
|
835
|
+
@if (!(streaming && aiPrompt.streaming); as output) {
|
|
836
|
+
<ng-template kendoAIPromptOutputBodyTemplate let-output>
|
|
837
|
+
<p>{{output.output}}</p>
|
|
832
838
|
</ng-template>
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
839
|
+
}
|
|
840
|
+
<kendo-aiprompt-messages
|
|
841
|
+
[generateOutput]="message('aiAssistantApplyButtonText')"
|
|
842
|
+
></kendo-aiprompt-messages>
|
|
836
843
|
</kendo-aiprompt>
|
|
837
|
-
|
|
844
|
+
`
|
|
838
845
|
}]
|
|
839
846
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ContextService }, { type: i3.ColumnInfoService }, { type: i0.NgZone }], propDecorators: { aiPrompt: [{
|
|
840
847
|
type: ViewChild,
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Component, ElementRef, EventEmitter, NgZone, Output, QueryList, ViewChildren } from '@angular/core';
|
|
6
6
|
import { ContextService } from '../../../common/provider.service';
|
|
7
|
-
import { NgFor } from '@angular/common';
|
|
8
7
|
import { KENDO_BUTTON } from '@progress/kendo-angular-buttons';
|
|
9
8
|
import { FilterMenuContainerComponent } from '../../../filtering/menu/filter-menu-container.component';
|
|
10
9
|
import { FilterService } from '../../../filtering/filter.service';
|
|
@@ -142,34 +141,36 @@ export class FilterToolbarToolComponent {
|
|
|
142
141
|
}
|
|
143
142
|
}
|
|
144
143
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterToolbarToolComponent, deps: [{ token: i0.ElementRef }, { token: i1.FilterService }, { token: i2.ContextService }, { token: i3.ColumnInfoService }, { token: i0.NgZone }, { token: i4.AdaptiveGridService }], target: i0.ɵɵFactoryTarget.Component });
|
|
145
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
144
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FilterToolbarToolComponent, isStandalone: true, selector: "kendo-filter-toolbar-tool", outputs: { close: "close" }, viewQueries: [{ propertyName: "filterItems", predicate: ["filterItem"], descendants: true, read: ElementRef }, { propertyName: "menuItems", predicate: ["filterItem"], descendants: true }, { propertyName: "filterContainers", predicate: ["filterContainer"], descendants: true }], ngImport: i0, template: `
|
|
146
145
|
<div [style]="hostStyles">
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
</
|
|
146
|
+
@for (column of columns; track column; let i = $index) {
|
|
147
|
+
<kendo-grid-columnmenu-item
|
|
148
|
+
class="k-columnmenu-item-wrapper" #filterItem
|
|
149
|
+
role="button"
|
|
150
|
+
tabindex="0"
|
|
151
|
+
[column]="getColumnComponent(column)"
|
|
152
|
+
[text]="column.title || getColumnComponent(column).field"
|
|
153
|
+
(focus)="onItemFocus(filterItem)"
|
|
154
|
+
(focusout)="onItemFocusOut()"
|
|
155
|
+
(keydown.enter)="toggleItem($event, i)"
|
|
156
|
+
[indicatorIcon]="isFilterApplied(column)"
|
|
157
|
+
(itemClick)="navigateView(getColumnComponent(column))"
|
|
158
|
+
[expanded]="false"
|
|
159
|
+
[focused]="isItemFocused(filterItem)">
|
|
160
|
+
<ng-template kendoGridColumnMenuItemContentTemplate>
|
|
161
|
+
<kendo-grid-filter-menu-container
|
|
162
|
+
#filterContainer
|
|
163
|
+
(keydown.shift.tab)="$event.stopImmediatePropagation()"
|
|
164
|
+
[column]="getColumnComponent(column)"
|
|
165
|
+
[filter]="filter"
|
|
166
|
+
[isExpanded]="false"
|
|
167
|
+
(close)="handleClose(filterItem)">
|
|
168
|
+
</kendo-grid-filter-menu-container>
|
|
169
|
+
</ng-template>
|
|
170
170
|
</kendo-grid-columnmenu-item>
|
|
171
|
+
}
|
|
171
172
|
</div>
|
|
172
|
-
|
|
173
|
+
`, isInline: true, dependencies: [{ kind: "component", type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }, { kind: "component", type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "indicatorIcon", "text", "selected", "disabled", "expanded", "focused", "service", "column"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }] });
|
|
173
174
|
}
|
|
174
175
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterToolbarToolComponent, decorators: [{
|
|
175
176
|
type: Component,
|
|
@@ -177,34 +178,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
177
178
|
selector: 'kendo-filter-toolbar-tool',
|
|
178
179
|
template: `
|
|
179
180
|
<div [style]="hostStyles">
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
</
|
|
181
|
+
@for (column of columns; track column; let i = $index) {
|
|
182
|
+
<kendo-grid-columnmenu-item
|
|
183
|
+
class="k-columnmenu-item-wrapper" #filterItem
|
|
184
|
+
role="button"
|
|
185
|
+
tabindex="0"
|
|
186
|
+
[column]="getColumnComponent(column)"
|
|
187
|
+
[text]="column.title || getColumnComponent(column).field"
|
|
188
|
+
(focus)="onItemFocus(filterItem)"
|
|
189
|
+
(focusout)="onItemFocusOut()"
|
|
190
|
+
(keydown.enter)="toggleItem($event, i)"
|
|
191
|
+
[indicatorIcon]="isFilterApplied(column)"
|
|
192
|
+
(itemClick)="navigateView(getColumnComponent(column))"
|
|
193
|
+
[expanded]="false"
|
|
194
|
+
[focused]="isItemFocused(filterItem)">
|
|
195
|
+
<ng-template kendoGridColumnMenuItemContentTemplate>
|
|
196
|
+
<kendo-grid-filter-menu-container
|
|
197
|
+
#filterContainer
|
|
198
|
+
(keydown.shift.tab)="$event.stopImmediatePropagation()"
|
|
199
|
+
[column]="getColumnComponent(column)"
|
|
200
|
+
[filter]="filter"
|
|
201
|
+
[isExpanded]="false"
|
|
202
|
+
(close)="handleClose(filterItem)">
|
|
203
|
+
</kendo-grid-filter-menu-container>
|
|
204
|
+
</ng-template>
|
|
203
205
|
</kendo-grid-columnmenu-item>
|
|
206
|
+
}
|
|
204
207
|
</div>
|
|
205
|
-
|
|
208
|
+
`,
|
|
206
209
|
standalone: true,
|
|
207
|
-
imports: [
|
|
210
|
+
imports: [KENDO_BUTTON, FilterMenuContainerComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective]
|
|
208
211
|
}]
|
|
209
212
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FilterService }, { type: i2.ContextService }, { type: i3.ColumnInfoService }, { type: i0.NgZone }, { type: i4.AdaptiveGridService }], propDecorators: { filterItems: [{
|
|
210
213
|
type: ViewChildren,
|