@progress/kendo-angular-grid 21.1.1-develop.1 → 21.2.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/esm2022/adaptiveness/adaptive-renderer.component.mjs +850 -756
  2. package/esm2022/aggregates/status-bar.component.mjs +13 -11
  3. package/esm2022/column-menu/column-chooser-content.component.mjs +133 -123
  4. package/esm2022/column-menu/column-list.component.mjs +62 -59
  5. package/esm2022/column-menu/column-menu-autosize-all.component.mjs +12 -11
  6. package/esm2022/column-menu/column-menu-autosize.component.mjs +12 -11
  7. package/esm2022/column-menu/column-menu-item.component.mjs +221 -85
  8. package/esm2022/column-menu/column-menu-position.component.mjs +46 -43
  9. package/esm2022/column-menu/column-menu.component.mjs +401 -315
  10. package/esm2022/editing/add-command.directive.mjs +27 -17
  11. package/esm2022/editing/cancel-command.directive.mjs +27 -17
  12. package/esm2022/editing/edit-command.directive.mjs +27 -17
  13. package/esm2022/editing/form/form-formfield.component.mjs +97 -70
  14. package/esm2022/editing/form/form.component.mjs +77 -61
  15. package/esm2022/editing/remove-command.directive.mjs +27 -17
  16. package/esm2022/editing/save-command.directive.mjs +27 -17
  17. package/esm2022/excel/excel-command.directive.mjs +27 -17
  18. package/esm2022/filtering/cell/filter-cell-operators.component.mjs +20 -17
  19. package/esm2022/filtering/cell/filter-cell.component.mjs +35 -33
  20. package/esm2022/filtering/filter-row.component.mjs +37 -29
  21. package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +34 -31
  22. package/esm2022/filtering/menu/date-filter-menu.component.mjs +52 -49
  23. package/esm2022/filtering/menu/filter-menu-container.component.mjs +97 -89
  24. package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +50 -47
  25. package/esm2022/filtering/menu/string-filter-menu.component.mjs +36 -33
  26. package/esm2022/filtering/multicheckbox-filter.component.mjs +54 -43
  27. package/esm2022/grid.component.mjs +1579 -1483
  28. package/esm2022/grouping/group-header.component.mjs +113 -89
  29. package/esm2022/grouping/group-panel.component.mjs +82 -75
  30. package/esm2022/package-metadata.mjs +2 -2
  31. package/esm2022/pdf/pdf-command.directive.mjs +27 -17
  32. package/esm2022/rendering/cell.component.mjs +411 -365
  33. package/esm2022/rendering/common/col-group.component.mjs +25 -15
  34. package/esm2022/rendering/common/loading.component.mjs +23 -19
  35. package/esm2022/rendering/details/detail-template.directive.mjs +6 -4
  36. package/esm2022/rendering/footer/footer.component.mjs +128 -112
  37. package/esm2022/rendering/header/header.component.mjs +412 -351
  38. package/esm2022/rendering/list.component.mjs +225 -202
  39. package/esm2022/rendering/table-body.component.mjs +553 -493
  40. package/esm2022/rendering/toolbar/toolbar.component.mjs +13 -11
  41. package/esm2022/rendering/toolbar/tools/ai-assistant/ai-assistant.component.mjs +86 -79
  42. package/esm2022/rendering/toolbar/tools/filter-toolbar-tool.component.mjs +54 -51
  43. package/esm2022/rendering/toolbar/tools/group-toolbar-tool.component.mjs +138 -115
  44. package/esm2022/rendering/toolbar/tools/sort-toolbar-tool.component.mjs +72 -65
  45. package/fesm2022/progress-kendo-angular-grid.mjs +6426 -5525
  46. package/package.json +24 -24
  47. package/rendering/details/detail-template.directive.d.ts +6 -4
  48. package/schematics/ngAdd/index.js +11 -7
@@ -8,7 +8,7 @@ import { ActionSheetComponent, ActionSheetContentTemplateDirective, ActionSheetF
8
8
  import { FilterMenuContainerComponent } from '../filtering/menu/filter-menu-container.component';
9
9
  import { FilterToolbarToolComponent } from '../rendering/toolbar/tools/filter-toolbar-tool.component';
10
10
  import { ButtonDirective } from '@progress/kendo-angular-buttons';
11
- import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
11
+ import { NgTemplateOutlet } from '@angular/common';
12
12
  import { arrowRotateCcwIcon, cancelIcon, checkIcon, chevronLeftIcon, filterClearIcon, filterIcon, saveIcon, xIcon } from '@progress/kendo-svg-icons';
13
13
  import { FilterService } from '../filtering/filter.service';
14
14
  import { ColumnMenuContainerComponent } from '../column-menu/column-menu-container.component';
@@ -287,7 +287,7 @@ export class AdaptiveRendererComponent {
287
287
  this.actionSheet.toggle(false);
288
288
  }
289
289
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdaptiveRendererComponent, deps: [{ token: i1.ColumnMenuService }, { token: i2.AdaptiveGridService }, { token: i3.FilterService }, { token: i4.ContextService }, { token: i5.AdaptiveService }, { token: i6.SortService }, { token: i7.ColumnInfoService }], target: i0.ɵɵFactoryTarget.Component });
290
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AdaptiveRendererComponent, isStandalone: true, selector: "kendo-grid-adaptive-renderer", viewQueries: [{ propertyName: "columnChooserContent", first: true, predicate: ["columnChooserContent"], descendants: true }, { propertyName: "filterToolbarToolTemplate", first: true, predicate: ["filterToolbarToolTemplate"], descendants: true, read: ViewContainerRef }, { propertyName: "filterMenuContainer", first: true, predicate: ["filterMenuContainer"], descendants: true }, { propertyName: "actionSheet", first: true, predicate: ActionSheetComponent, descendants: true }, { propertyName: "groupToolbarTool", first: true, predicate: GroupToolbarToolComponent, descendants: true }], ngImport: i0, template: `
290
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AdaptiveRendererComponent, isStandalone: true, selector: "kendo-grid-adaptive-renderer", viewQueries: [{ propertyName: "columnChooserContent", first: true, predicate: ["columnChooserContent"], descendants: true }, { propertyName: "filterToolbarToolTemplate", first: true, predicate: ["filterToolbarToolTemplate"], descendants: true, read: ViewContainerRef }, { propertyName: "filterMenuContainer", first: true, predicate: ["filterMenuContainer"], descendants: true }, { propertyName: "actionSheet", first: true, predicate: ActionSheetComponent, descendants: true }, { propertyName: "groupToolbarTool", first: true, predicate: GroupToolbarToolComponent, descendants: true }], ngImport: i0, template: `
291
291
  <kendo-actionsheet
292
292
  [cssClass]="{
293
293
  'k-adaptive-actionsheet': true,
@@ -297,413 +297,461 @@ export class AdaptiveRendererComponent {
297
297
  [cssStyle]="{
298
298
  height: adaptiveService.size === 'small' ? '100vh' : '60vh'
299
299
  }"
300
- [overlayClickClose]="true"
301
- (collapse)="adaptiveGridService.reset()">
302
-
303
- <!-- sortToolbarTool view -->
304
- <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'sortToolbarTool'">
305
- <ng-template kendoActionSheetHeaderTemplate>
306
- <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
307
- </ng-container>
308
- </ng-template>
309
- <ng-template kendoActionSheetContentTemplate>
310
- <div class="k-column-menu k-column-menu-lg">
311
- <div class="k-columnmenu-item-wrapper">
312
- <kendo-grid-columnmenu-item *ngFor="let column of columns"
313
- [column]="getColumnComponent(column)"
314
- [text]="column.title || getColumnComponent(column).field"
315
- (itemClick)="sortBy(column)">
316
- </kendo-grid-columnmenu-item>
317
- </div>
318
- </div>
319
- </ng-template>
320
- <ng-template kendoActionSheetFooterTemplate>
321
- <button
322
- kendoButton
323
- size="large"
324
- fillMode="solid"
325
- icon="x"
326
- [svgIcon]="xIcon"
327
- (click)="clearSorting()">
328
- {{messageFor('sortClearButton')}}
329
- </button>
330
- <button
331
- kendoButton
332
- size="large"
333
- fillMode="solid"
334
- icon="check"
335
- [svgIcon]="checkIcon"
336
- themeColor="primary"
337
- (click)="actionSheet.toggle(false)">
338
- {{messageFor('sortDoneButton')}}
339
- </button>
340
- </ng-template>
300
+ [overlayClickClose]="true"
301
+ (collapse)="adaptiveGridService.reset()">
302
+
303
+ <!-- sortToolbarTool view -->
304
+ @if (adaptiveGridService.viewType === 'sortToolbarTool') {
305
+ <kendo-actionsheet-view>
306
+ <ng-template kendoActionSheetHeaderTemplate>
307
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
308
+ </ng-container>
309
+ </ng-template>
310
+ <ng-template kendoActionSheetContentTemplate>
311
+ <div class="k-column-menu k-column-menu-lg">
312
+ <div class="k-columnmenu-item-wrapper">
313
+ @for (column of columns; track column) {
314
+ <kendo-grid-columnmenu-item
315
+ [column]="getColumnComponent(column)"
316
+ [text]="column.title || getColumnComponent(column).field"
317
+ (itemClick)="sortBy(column)">
318
+ </kendo-grid-columnmenu-item>
319
+ }
320
+ </div>
321
+ </div>
322
+ </ng-template>
323
+ <ng-template kendoActionSheetFooterTemplate>
324
+ <button
325
+ kendoButton
326
+ size="large"
327
+ fillMode="solid"
328
+ icon="x"
329
+ [svgIcon]="xIcon"
330
+ (click)="clearSorting()">
331
+ {{messageFor('sortClearButton')}}
332
+ </button>
333
+ <button
334
+ kendoButton
335
+ size="large"
336
+ fillMode="solid"
337
+ icon="check"
338
+ [svgIcon]="checkIcon"
339
+ themeColor="primary"
340
+ (click)="actionSheet.toggle(false)">
341
+ {{messageFor('sortDoneButton')}}
342
+ </button>
343
+ </ng-template>
341
344
  </kendo-actionsheet-view>
342
-
343
- <!-- columnChooserToolbarTool view -->
344
- <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'columnChooserToolbarTool'">
345
- <ng-template kendoActionSheetHeaderTemplate>
346
- <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
347
- </ng-container>
348
- </ng-template>
349
- <ng-template kendoActionSheetContentTemplate>
350
- <kendo-grid-column-chooser-content
351
- #columnChooserContent
352
- [columns]="columns"
353
- [isLast]="true"
354
- [autoSync]="false"
355
- [allowHideAll]="false"
356
- >
357
- </kendo-grid-column-chooser-content>
358
- </ng-template>
359
- <ng-template kendoActionSheetFooterTemplate>
360
- <ng-container [ngTemplateOutlet]="actionSheetFooterTemplate">
361
- </ng-container>
362
- </ng-template>
345
+ }
346
+
347
+ <!-- columnChooserToolbarTool view -->
348
+ @if (adaptiveGridService.viewType === 'columnChooserToolbarTool') {
349
+ <kendo-actionsheet-view>
350
+ <ng-template kendoActionSheetHeaderTemplate>
351
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
352
+ </ng-container>
353
+ </ng-template>
354
+ <ng-template kendoActionSheetContentTemplate>
355
+ <kendo-grid-column-chooser-content
356
+ #columnChooserContent
357
+ [columns]="columns"
358
+ [isLast]="true"
359
+ [autoSync]="false"
360
+ [allowHideAll]="false"
361
+ >
362
+ </kendo-grid-column-chooser-content>
363
+ </ng-template>
364
+ <ng-template kendoActionSheetFooterTemplate>
365
+ <ng-container [ngTemplateOutlet]="actionSheetFooterTemplate">
366
+ </ng-container>
367
+ </ng-template>
363
368
  </kendo-actionsheet-view>
364
-
365
- <!-- filterToolbarTool first view -->
366
- <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'filterToolbarTool'"
367
- [kendoEventsOutsideAngular]="{transitionend: onAnimationEnd}"
368
- [scope]="this">
369
- <ng-template kendoActionSheetHeaderTemplate>
370
- <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
371
- </ng-container>
372
- </ng-template>
373
- <ng-template kendoActionSheetContentTemplate>
374
- <div class="k-column-menu k-column-menu-lg">
375
- <kendo-filter-toolbar-tool></kendo-filter-toolbar-tool>
376
- </div>
377
- </ng-template>
378
- <ng-template kendoActionSheetFooterTemplate>
379
- <button kendoButton
380
- icon="filter-clear"
381
- [svgIcon]="filterClearIcon"
382
- size="large"
383
- (click)="clearFilters()">
384
- {{messageFor('filterClearAllButton')}}
385
- </button>
386
- </ng-template>
387
- </kendo-actionsheet-view>
388
-
389
- <!-- filterToolbarTool second view -->
390
- <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'filterToolbarTool'">
391
- <ng-template kendoActionSheetHeaderTemplate>
392
- <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
393
- </ng-container>
394
- </ng-template>
395
- <ng-template kendoActionSheetContentTemplate>
396
- <ng-container #filterToolbarToolTemplate></ng-container>
397
- </ng-template>
398
- <ng-template kendoActionSheetFooterTemplate>
399
- <ng-container [ngTemplateOutlet]="filterFooterButtons">
400
- </ng-container>
401
- </ng-template>
369
+ }
370
+
371
+ <!-- filterToolbarTool first view -->
372
+ @if (adaptiveGridService.viewType === 'filterToolbarTool') {
373
+ <kendo-actionsheet-view
374
+ [kendoEventsOutsideAngular]="{transitionend: onAnimationEnd}"
375
+ [scope]="this">
376
+ <ng-template kendoActionSheetHeaderTemplate>
377
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
378
+ </ng-container>
379
+ </ng-template>
380
+ <ng-template kendoActionSheetContentTemplate>
381
+ <div class="k-column-menu k-column-menu-lg">
382
+ <kendo-filter-toolbar-tool></kendo-filter-toolbar-tool>
383
+ </div>
384
+ </ng-template>
385
+ <ng-template kendoActionSheetFooterTemplate>
386
+ <button kendoButton
387
+ icon="filter-clear"
388
+ [svgIcon]="filterClearIcon"
389
+ size="large"
390
+ (click)="clearFilters()">
391
+ {{messageFor('filterClearAllButton')}}
392
+ </button>
393
+ </ng-template>
402
394
  </kendo-actionsheet-view>
403
-
404
- <!-- filterMenu view -->
405
- <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'filterMenu'">
406
- <ng-template kendoActionSheetHeaderTemplate >
407
- <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
408
- </ng-container>
409
- </ng-template>
410
- <ng-template kendoActionSheetContentTemplate>
411
- <kendo-grid-filter-menu-container
412
- #filterMenuContainer
413
- [column]="adaptiveGridService.column"
414
- [filter]="ctx.grid.filter"
415
- (close)="close()"
416
- (keydown.enter)="$event.stopImmediatePropagation()">
417
- </kendo-grid-filter-menu-container>
418
- </ng-template>
419
- <ng-template kendoActionSheetFooterTemplate>
420
- <ng-container [ngTemplateOutlet]="filterFooterButtons">
421
- </ng-container>
422
- </ng-template>
395
+ }
396
+
397
+ <!-- filterToolbarTool second view -->
398
+ @if (adaptiveGridService.viewType === 'filterToolbarTool') {
399
+ <kendo-actionsheet-view>
400
+ <ng-template kendoActionSheetHeaderTemplate>
401
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
402
+ </ng-container>
403
+ </ng-template>
404
+ <ng-template kendoActionSheetContentTemplate>
405
+ <ng-container #filterToolbarToolTemplate></ng-container>
406
+ </ng-template>
407
+ <ng-template kendoActionSheetFooterTemplate>
408
+ <ng-container [ngTemplateOutlet]="filterFooterButtons">
409
+ </ng-container>
410
+ </ng-template>
423
411
  </kendo-actionsheet-view>
424
-
425
- <!-- columnMenu first view -->
426
- <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'columnMenu'"
427
- [kendoEventsOutsideAngular]="{transitionend: onAnimationEnd}"
428
- [scope]="this">
429
- <ng-template kendoActionSheetHeaderTemplate>
430
- <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
431
- </ng-container>
432
- </ng-template>
433
- <ng-template kendoActionSheetContentTemplate>
434
- <div class="k-column-menu k-column-menu-lg">
435
- <kendo-grid-columnmenu-container>
436
- <kendo-grid-columnmenu-sort #sortItem [kendoGridColumnMenuItem]="sortItem" *ngIf="hasSort" [service]="adaptiveGridService.columnMenuService">
437
- </kendo-grid-columnmenu-sort>
438
- <kendo-grid-columnmenu-lock #lockItem *ngIf="hasLock && !hasPosition" [kendoGridColumnMenuItem]="lockItem" [service]="adaptiveGridService.columnMenuService">
439
- </kendo-grid-columnmenu-lock>
440
- <kendo-grid-columnmenu-stick #stickItem *ngIf="hasStick && !hasPosition" [kendoGridColumnMenuItem]="stickItem" [service]="adaptiveGridService.columnMenuService">
441
- </kendo-grid-columnmenu-stick>
442
- <kendo-grid-columnmenu-position
443
- #positionItem
444
- *ngIf="hasPosition"
445
- [showLock]="hasLock"
446
- [showStick]="hasStick"
447
- [kendoGridColumnMenuItem]="positionItem"
448
- [service]="adaptiveGridService.columnMenuService"
449
- [expanded]="false"
450
- (collapse)="navigateToPositionView()">
451
- </kendo-grid-columnmenu-position>
452
- <span [style.borderColor]="'rgba(0, 0, 0, 0.08)'" *ngIf="hasLock || hasStick || adaptiveGridService.column.sortable" class="k-separator"></span>
453
- <kendo-grid-columnmenu-chooser
454
- #chooserItem
455
- *ngIf="hasColumnChooser"
456
- [kendoGridColumnMenuItem]="chooserItem"
457
- [service]="adaptiveGridService.columnMenuService"
458
- [expanded]="false"
459
- (collapse)="navigateToColumnsView()">
460
- </kendo-grid-columnmenu-chooser>
461
- <kendo-grid-columnmenu-autosize-column
462
- #autoSizeColumnItem
463
- *ngIf="hasAutoSizeColumn"
464
- [service]="adaptiveGridService.columnMenuService"
465
- [kendoGridColumnMenuItem]="autoSizeColumnItem"
466
- [column]="adaptiveGridService.column"
467
- >
468
- </kendo-grid-columnmenu-autosize-column>
469
-
470
- <kendo-grid-columnmenu-autosize-all-columns
471
- #autoSizeAllColumnsItem
472
- *ngIf="hasAutoSizeAllColumns"
473
- [service]="adaptiveGridService.columnMenuService"
474
- [kendoGridColumnMenuItem]="autoSizeAllColumnsItem"
475
- >
476
- </kendo-grid-columnmenu-autosize-all-columns>
477
- <span [style.borderColor]="'rgba(0, 0, 0, 0.08)'" *ngIf="adaptiveGridService.column.filterable" class="k-separator"></span>
478
- <kendo-grid-columnmenu-filter
479
- #filterItem
480
- *ngIf="hasFilter"
481
- [kendoGridColumnMenuItem]="filterItem"
482
- [service]="adaptiveGridService.columnMenuService"
483
- [expanded]="false"
484
- (collapse)="navigateToFilterView()">
485
- </kendo-grid-columnmenu-filter>
486
- </kendo-grid-columnmenu-container>
487
- </div>
488
- </ng-template>
412
+ }
413
+
414
+ <!-- filterMenu view -->
415
+ @if (adaptiveGridService.viewType === 'filterMenu') {
416
+ <kendo-actionsheet-view>
417
+ <ng-template kendoActionSheetHeaderTemplate >
418
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
419
+ </ng-container>
420
+ </ng-template>
421
+ <ng-template kendoActionSheetContentTemplate>
422
+ <kendo-grid-filter-menu-container
423
+ #filterMenuContainer
424
+ [column]="adaptiveGridService.column"
425
+ [filter]="ctx.grid.filter"
426
+ (close)="close()"
427
+ (keydown.enter)="$event.stopImmediatePropagation()">
428
+ </kendo-grid-filter-menu-container>
429
+ </ng-template>
430
+ <ng-template kendoActionSheetFooterTemplate>
431
+ <ng-container [ngTemplateOutlet]="filterFooterButtons">
432
+ </ng-container>
433
+ </ng-template>
489
434
  </kendo-actionsheet-view>
490
-
491
- <!-- columnMenu second view -->
492
- <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'columnMenu'">
493
- <ng-template kendoActionSheetHeaderTemplate>
494
- <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
495
- </ng-container>
496
- </ng-template>
497
-
498
- <ng-template kendoActionSheetContentTemplate>
499
- <kendo-grid-column-chooser-content
500
- *ngIf="adaptiveGridService.secondaryView === 'columnChooser'"
501
- #columnChooserContent
502
- [columns]="adaptiveGridService.columns"
503
- [isLast]="true"
504
- [autoSync]="false"
505
- [allowHideAll]="false"
506
- >
507
- </kendo-grid-column-chooser-content>
508
- <kendo-grid-filter-menu-container
509
- *ngIf="adaptiveGridService.secondaryView === 'columnFilter'"
435
+ }
436
+
437
+ <!-- columnMenu first view -->
438
+ @if (adaptiveGridService.viewType === 'columnMenu') {
439
+ <kendo-actionsheet-view
440
+ [kendoEventsOutsideAngular]="{transitionend: onAnimationEnd}"
441
+ [scope]="this">
442
+ <ng-template kendoActionSheetHeaderTemplate>
443
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
444
+ </ng-container>
445
+ </ng-template>
446
+ <ng-template kendoActionSheetContentTemplate>
447
+ <div class="k-column-menu k-column-menu-lg">
448
+ <kendo-grid-columnmenu-container>
449
+ @if (hasSort) {
450
+ <kendo-grid-columnmenu-sort #sortItem [kendoGridColumnMenuItem]="sortItem" [service]="adaptiveGridService.columnMenuService">
451
+ </kendo-grid-columnmenu-sort>
452
+ }
453
+ @if (hasLock && !hasPosition) {
454
+ <kendo-grid-columnmenu-lock #lockItem [kendoGridColumnMenuItem]="lockItem" [service]="adaptiveGridService.columnMenuService">
455
+ </kendo-grid-columnmenu-lock>
456
+ }
457
+ @if (hasStick && !hasPosition) {
458
+ <kendo-grid-columnmenu-stick #stickItem [kendoGridColumnMenuItem]="stickItem" [service]="adaptiveGridService.columnMenuService">
459
+ </kendo-grid-columnmenu-stick>
460
+ }
461
+ @if (hasPosition) {
462
+ <kendo-grid-columnmenu-position
463
+ #positionItem
464
+ [showLock]="hasLock"
465
+ [showStick]="hasStick"
466
+ [kendoGridColumnMenuItem]="positionItem"
467
+ [service]="adaptiveGridService.columnMenuService"
468
+ [expanded]="false"
469
+ (collapse)="navigateToPositionView()">
470
+ </kendo-grid-columnmenu-position>
471
+ }
472
+ @if (hasLock || hasStick || adaptiveGridService.column.sortable) {
473
+ <span [style.borderColor]="'rgba(0, 0, 0, 0.08)'" class="k-separator"></span>
474
+ }
475
+ @if (hasColumnChooser) {
476
+ <kendo-grid-columnmenu-chooser
477
+ #chooserItem
478
+ [kendoGridColumnMenuItem]="chooserItem"
479
+ [service]="adaptiveGridService.columnMenuService"
480
+ [expanded]="false"
481
+ (collapse)="navigateToColumnsView()">
482
+ </kendo-grid-columnmenu-chooser>
483
+ }
484
+ @if (hasAutoSizeColumn) {
485
+ <kendo-grid-columnmenu-autosize-column
486
+ #autoSizeColumnItem
487
+ [service]="adaptiveGridService.columnMenuService"
488
+ [kendoGridColumnMenuItem]="autoSizeColumnItem"
510
489
  [column]="adaptiveGridService.column"
511
- [filter]="ctx.grid.filter"
512
- (close)="close()"
513
- [kendoEventsOutsideAngular]="{'keydown.escape': close}"
514
- [scope]="this">
515
- </kendo-grid-filter-menu-container>
516
- <kendo-grid-columnmenu-lock
517
- *ngIf="adaptiveGridService.secondaryView === 'columnPosition' && hasLock"
518
- [service]="adaptiveGridService.columnMenuService">
519
- </kendo-grid-columnmenu-lock>
520
- <kendo-grid-columnmenu-stick
521
- *ngIf="adaptiveGridService.secondaryView === 'columnPosition' && hasStick"
522
- [service]="adaptiveGridService.columnMenuService">
523
- </kendo-grid-columnmenu-stick>
524
- </ng-template>
525
- <ng-template *ngIf="adaptiveGridService.secondaryView === 'columnChooser'" kendoActionSheetFooterTemplate>
526
- <ng-container [ngTemplateOutlet]="actionSheetFooterTemplate">
527
- </ng-container>
528
- </ng-template>
529
-
530
- <ng-template *ngIf="adaptiveGridService.secondaryView === 'columnFilter'" kendoActionSheetFooterTemplate>
531
- <ng-container [ngTemplateOutlet]="filterFooterButtons">
532
- </ng-container>
533
- </ng-template>
490
+ >
491
+ </kendo-grid-columnmenu-autosize-column>
492
+ }
493
+ @if (hasAutoSizeAllColumns) {
494
+ <kendo-grid-columnmenu-autosize-all-columns
495
+ #autoSizeAllColumnsItem
496
+ [service]="adaptiveGridService.columnMenuService"
497
+ [kendoGridColumnMenuItem]="autoSizeAllColumnsItem"
498
+ >
499
+ </kendo-grid-columnmenu-autosize-all-columns>
500
+ }
501
+ @if (adaptiveGridService.column.filterable) {
502
+ <span [style.borderColor]="'rgba(0, 0, 0, 0.08)'" class="k-separator"></span>
503
+ }
504
+ @if (hasFilter) {
505
+ <kendo-grid-columnmenu-filter
506
+ #filterItem
507
+ [kendoGridColumnMenuItem]="filterItem"
508
+ [service]="adaptiveGridService.columnMenuService"
509
+ [expanded]="false"
510
+ (collapse)="navigateToFilterView()">
511
+ </kendo-grid-columnmenu-filter>
512
+ }
513
+ </kendo-grid-columnmenu-container>
514
+ </div>
515
+ </ng-template>
534
516
  </kendo-actionsheet-view>
535
-
536
- <!-- external editing view -->
537
- <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'externalEditing'">
538
- <ng-template kendoActionSheetHeaderTemplate>
539
- <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
540
- </ng-container>
541
- </ng-template>
542
-
543
- <ng-template kendoActionSheetContentTemplate>
544
- <kendo-grid-external-form
545
- [controls]="externalEditingSettings.formControls"
546
- [formGroup]="externalEditingSettings.formGroup"
547
- [formSettings]="externalEditingSettings.formSettings"
548
- [actionButtons]="false">
549
- </kendo-grid-external-form>
550
- </ng-template>
551
-
517
+ }
518
+
519
+ <!-- columnMenu second view -->
520
+ @if (adaptiveGridService.viewType === 'columnMenu') {
521
+ <kendo-actionsheet-view>
522
+ <ng-template kendoActionSheetHeaderTemplate>
523
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
524
+ </ng-container>
525
+ </ng-template>
526
+ <ng-template kendoActionSheetContentTemplate>
527
+ @if (adaptiveGridService.secondaryView === 'columnChooser') {
528
+ <kendo-grid-column-chooser-content
529
+ #columnChooserContent
530
+ [columns]="adaptiveGridService.columns"
531
+ [isLast]="true"
532
+ [autoSync]="false"
533
+ [allowHideAll]="false"
534
+ >
535
+ </kendo-grid-column-chooser-content>
536
+ }
537
+ @if (adaptiveGridService.secondaryView === 'columnFilter') {
538
+ <kendo-grid-filter-menu-container
539
+ [column]="adaptiveGridService.column"
540
+ [filter]="ctx.grid.filter"
541
+ (close)="close()"
542
+ [kendoEventsOutsideAngular]="{'keydown.escape': close}"
543
+ [scope]="this">
544
+ </kendo-grid-filter-menu-container>
545
+ }
546
+ @if (adaptiveGridService.secondaryView === 'columnPosition' && hasLock) {
547
+ <kendo-grid-columnmenu-lock
548
+ [service]="adaptiveGridService.columnMenuService">
549
+ </kendo-grid-columnmenu-lock>
550
+ }
551
+ @if (adaptiveGridService.secondaryView === 'columnPosition' && hasStick) {
552
+ <kendo-grid-columnmenu-stick
553
+ [service]="adaptiveGridService.columnMenuService">
554
+ </kendo-grid-columnmenu-stick>
555
+ }
556
+ </ng-template>
557
+ @if (adaptiveGridService.secondaryView === 'columnChooser') {
552
558
  <ng-template kendoActionSheetFooterTemplate>
553
- <button kendoButton
554
- size="large"
555
- icon="cancel"
556
- [svgIcon]="cancelIcon"
557
- (click)="actionSheet.toggle(false)">
558
- {{messageFor('externalEditingCancelText')}}
559
- </button>
560
- <button kendoButton
561
- themeColor="primary"
562
- size="large"
563
- icon="save"
564
- [svgIcon]="saveIcon"
565
- (click)="saveEditing()"
566
- [disabled]="!externalEditingSettings.formGroup.valid">
567
- {{messageFor('externalEditingSaveText')}}
568
- </button>
569
- </ng-template>
570
- </kendo-actionsheet-view>
571
-
572
- <!-- groupToolbarTool view -->
573
- <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'groupToolbarTool'">
574
- <ng-template kendoActionSheetHeaderTemplate>
575
- <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
576
- </ng-container>
577
- </ng-template>
578
- <ng-template kendoActionSheetContentTemplate>
579
- <kendo-group-toolbar-tool [adaptive]="true"></kendo-group-toolbar-tool>
559
+ <ng-container [ngTemplateOutlet]="actionSheetFooterTemplate">
560
+ </ng-container>
580
561
  </ng-template>
562
+ }
563
+ @if (adaptiveGridService.secondaryView === 'columnFilter') {
581
564
  <ng-template kendoActionSheetFooterTemplate>
582
- <button
583
- kendoButton
584
- size="large"
585
- fillMode="solid"
586
- icon="x"
587
- [svgIcon]="xIcon"
588
- (click)="clearGrouping()">
589
- {{messageFor('groupClearButton')}}
590
- </button>
591
- <button
592
- kendoButton
593
- size="large"
594
- fillMode="solid"
595
- icon="check"
596
- [svgIcon]="checkIcon"
597
- themeColor="primary"
598
- (click)="actionSheet.toggle(false)">
599
- {{messageFor('groupDoneButton')}}
600
- </button>
565
+ <ng-container [ngTemplateOutlet]="filterFooterButtons">
566
+ </ng-container>
601
567
  </ng-template>
568
+ }
569
+ </kendo-actionsheet-view>
570
+ }
571
+
572
+ <!-- external editing view -->
573
+ @if (adaptiveGridService.viewType === 'externalEditing') {
574
+ <kendo-actionsheet-view>
575
+ <ng-template kendoActionSheetHeaderTemplate>
576
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
577
+ </ng-container>
578
+ </ng-template>
579
+ <ng-template kendoActionSheetContentTemplate>
580
+ <kendo-grid-external-form
581
+ [controls]="externalEditingSettings.formControls"
582
+ [formGroup]="externalEditingSettings.formGroup"
583
+ [formSettings]="externalEditingSettings.formSettings"
584
+ [actionButtons]="false">
585
+ </kendo-grid-external-form>
586
+ </ng-template>
587
+ <ng-template kendoActionSheetFooterTemplate>
588
+ <button kendoButton
589
+ size="large"
590
+ icon="cancel"
591
+ [svgIcon]="cancelIcon"
592
+ (click)="actionSheet.toggle(false)">
593
+ {{messageFor('externalEditingCancelText')}}
594
+ </button>
595
+ <button kendoButton
596
+ themeColor="primary"
597
+ size="large"
598
+ icon="save"
599
+ [svgIcon]="saveIcon"
600
+ (click)="saveEditing()"
601
+ [disabled]="!externalEditingSettings.formGroup.valid">
602
+ {{messageFor('externalEditingSaveText')}}
603
+ </button>
604
+ </ng-template>
602
605
  </kendo-actionsheet-view>
606
+ }
607
+
608
+ <!-- groupToolbarTool view -->
609
+ @if (adaptiveGridService.viewType === 'groupToolbarTool') {
610
+ <kendo-actionsheet-view>
611
+ <ng-template kendoActionSheetHeaderTemplate>
612
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
613
+ </ng-container>
614
+ </ng-template>
615
+ <ng-template kendoActionSheetContentTemplate>
616
+ <kendo-group-toolbar-tool [adaptive]="true"></kendo-group-toolbar-tool>
617
+ </ng-template>
618
+ <ng-template kendoActionSheetFooterTemplate>
619
+ <button
620
+ kendoButton
621
+ size="large"
622
+ fillMode="solid"
623
+ icon="x"
624
+ [svgIcon]="xIcon"
625
+ (click)="clearGrouping()">
626
+ {{messageFor('groupClearButton')}}
627
+ </button>
628
+ <button
629
+ kendoButton
630
+ size="large"
631
+ fillMode="solid"
632
+ icon="check"
633
+ [svgIcon]="checkIcon"
634
+ themeColor="primary"
635
+ (click)="actionSheet.toggle(false)">
636
+ {{messageFor('groupDoneButton')}}
637
+ </button>
638
+ </ng-template>
639
+ </kendo-actionsheet-view>
640
+ }
603
641
  </kendo-actionsheet>
604
-
642
+
605
643
  <ng-template #actionSheetHeaderTemplate>
606
- <div class="k-actionsheet-titlebar-group">
607
- <div *ngIf="adaptiveGridService.secondaryView" class="k-actionsheet-actions">
608
- <button
609
- kendoButton
610
- icon="chevron-left"
611
- [svgIcon]="chevronLeft"
612
- fillMode="flat"
613
- size="large"
614
- [title]="messageFor('adaptiveBackButtonTitle')"
615
- (click)="prevView()">
616
- </button>
617
- </div>
618
- <div class="k-actionsheet-title">
619
- <div *ngIf="hasTitle" class="k-text-center">
620
- {{actionSheetTitle}}
621
- </div>
622
- <div *ngIf="hasSubtitle"
623
- class="k-actionsheet-subtitle k-text-center">
624
- {{messageFor('columnsSubtitle')}}
625
- </div>
626
- </div>
627
- <div *ngIf="hasXCloseIcon" class="k-actionsheet-actions">
628
- <button
629
- kendoButton
630
- icon="x"
631
- [svgIcon]="xIcon"
632
- fillMode="flat"
633
- size="large"
634
- [title]="messageFor('adaptiveCloseButtonTitle')"
635
- (click)="close()">
636
- </button>
644
+ <div class="k-actionsheet-titlebar-group">
645
+ @if (adaptiveGridService.secondaryView) {
646
+ <div class="k-actionsheet-actions">
647
+ <button
648
+ kendoButton
649
+ icon="chevron-left"
650
+ [svgIcon]="chevronLeft"
651
+ fillMode="flat"
652
+ size="large"
653
+ [title]="messageFor('adaptiveBackButtonTitle')"
654
+ (click)="prevView()">
655
+ </button>
656
+ </div>
657
+ }
658
+ <div class="k-actionsheet-title">
659
+ @if (hasTitle) {
660
+ <div class="k-text-center">
661
+ {{actionSheetTitle}}
637
662
  </div>
638
- <div *ngIf="hasCheckCloseIcon" class="k-actionsheet-actions">
639
- <button
640
- kendoButton
641
- icon="check"
642
- [svgIcon]="checkIcon"
643
- fillMode="flat"
644
- size="large"
645
- themeColor="primary"
646
- [title]="messageFor('adaptiveCloseButtonTitle')"
647
- (click)="actionSheet.toggle(false)">
648
- </button>
663
+ }
664
+ @if (hasSubtitle) {
665
+ <div
666
+ class="k-actionsheet-subtitle k-text-center">
667
+ {{messageFor('columnsSubtitle')}}
649
668
  </div>
669
+ }
650
670
  </div>
671
+ @if (hasXCloseIcon) {
672
+ <div class="k-actionsheet-actions">
673
+ <button
674
+ kendoButton
675
+ icon="x"
676
+ [svgIcon]="xIcon"
677
+ fillMode="flat"
678
+ size="large"
679
+ [title]="messageFor('adaptiveCloseButtonTitle')"
680
+ (click)="close()">
681
+ </button>
682
+ </div>
683
+ }
684
+ @if (hasCheckCloseIcon) {
685
+ <div class="k-actionsheet-actions">
686
+ <button
687
+ kendoButton
688
+ icon="check"
689
+ [svgIcon]="checkIcon"
690
+ fillMode="flat"
691
+ size="large"
692
+ themeColor="primary"
693
+ [title]="messageFor('adaptiveCloseButtonTitle')"
694
+ (click)="actionSheet.toggle(false)">
695
+ </button>
696
+ </div>
697
+ }
698
+ </div>
651
699
  </ng-template>
652
-
700
+
653
701
  <ng-template #actionSheetFooterTemplate>
654
- <button
655
- #resetButton
656
- kendoButton
657
- size="large"
658
- fillMode="solid"
659
- [svgIcon]="arrowRotateCcwIcon"
660
- icon="arrow-rotate-ccw"
661
- type="button"
702
+ <button
703
+ #resetButton
704
+ kendoButton
705
+ size="large"
706
+ fillMode="solid"
707
+ [svgIcon]="arrowRotateCcwIcon"
708
+ icon="arrow-rotate-ccw"
709
+ type="button"
662
710
  [kendoEventsOutsideAngular]="{click: cancelChanges,
663
711
  'keydown.enter': cancelChanges,
664
712
  'keydown.space': cancelChanges,
665
713
  'keydown.tab': onTab
666
714
  }"
667
- [scope]="this">
668
- {{ messageFor('columnsReset') }}
669
- </button>
670
- <button
671
- #applyButton
672
- kendoButton
673
- type="button"
674
- [svgIcon]="checkIcon"
675
- icon="check"
676
- size="large"
677
- fillMode="solid"
678
- themeColor="primary"
715
+ [scope]="this">
716
+ {{ messageFor('columnsReset') }}
717
+ </button>
718
+ <button
719
+ #applyButton
720
+ kendoButton
721
+ type="button"
722
+ [svgIcon]="checkIcon"
723
+ icon="check"
724
+ size="large"
725
+ fillMode="solid"
726
+ themeColor="primary"
679
727
  [kendoEventsOutsideAngular]="{click: applyChanges,
680
728
  'keydown.enter': applyChanges,
681
729
  'keydown.space': applyChanges
682
730
  }"
683
- [scope]="this">
684
- {{ messageFor('columnsApply') }}
685
- </button>
731
+ [scope]="this">
732
+ {{ messageFor('columnsApply') }}
733
+ </button>
686
734
  </ng-template>
687
-
735
+
688
736
  <ng-template #filterFooterButtons>
689
- <button
690
- kendoButton
691
- size="large"
692
- fillMode="solid"
693
- (click)="adaptiveGridService.resetFilter()">
694
- {{messageFor('filterClearButton')}}
695
- </button>
696
- <button
697
- kendoButton
698
- size="large"
699
- fillMode="solid"
700
- themeColor="primary"
701
- [disabled]="adaptiveGridService.filterMenuContainer.disabled"
702
- (click)="adaptiveGridService.submitFilter()">
703
- {{messageFor('filterFilterButton')}}
704
- </button>
737
+ <button
738
+ kendoButton
739
+ size="large"
740
+ fillMode="solid"
741
+ (click)="adaptiveGridService.resetFilter()">
742
+ {{messageFor('filterClearButton')}}
743
+ </button>
744
+ <button
745
+ kendoButton
746
+ size="large"
747
+ fillMode="solid"
748
+ themeColor="primary"
749
+ [disabled]="adaptiveGridService.filterMenuContainer.disabled"
750
+ (click)="adaptiveGridService.submitFilter()">
751
+ {{messageFor('filterFilterButton')}}
752
+ </button>
705
753
  </ng-template>
706
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["actions", "actionsLayout", "overlayClickClose", "title", "subtitle", "items", "cssClass", "cssStyle", "animation", "expanded", "titleId", "initialFocus"], outputs: ["expandedChange", "action", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "component", type: ActionSheetViewComponent, selector: "kendo-actionsheet-view", inputs: ["title", "subtitle", "titleId"] }, { kind: "component", type: FilterToolbarToolComponent, selector: "kendo-filter-toolbar-tool", outputs: ["close"] }, { kind: "component", type: GroupToolbarToolComponent, selector: "kendo-group-toolbar-tool", inputs: ["adaptive"], outputs: ["close", "groupClear"] }, { kind: "component", type: ButtonDirective, 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"] }, { kind: "directive", type: ActionSheetHeaderTemplateDirective, selector: "[kendoActionSheetHeaderTemplate]" }, { kind: "directive", type: ActionSheetContentTemplateDirective, selector: "[kendoActionSheetContentTemplate]" }, { kind: "directive", type: ActionSheetFooterTemplateDirective, selector: "[kendoActionSheetFooterTemplate]" }, { kind: "component", type: ColumnMenuContainerComponent, selector: "kendo-grid-columnmenu-container" }, { kind: "component", type: ColumnMenuFilterComponent, selector: "kendo-grid-columnmenu-filter", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuSortComponent, selector: "kendo-grid-columnmenu-sort" }, { kind: "component", type: ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock" }, { kind: "component", type: ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick" }, { kind: "component", type: ColumnMenuPositionComponent, selector: "kendo-grid-columnmenu-position", inputs: ["expanded", "showLock", "showStick", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuChooserComponent, selector: "kendo-grid-columnmenu-chooser", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuAutoSizeColumnComponent, selector: "kendo-grid-columnmenu-autosize-column", inputs: ["column"] }, { kind: "component", type: ColumnMenuAutoSizeAllColumnsComponent, selector: "kendo-grid-columnmenu-autosize-all-columns" }, { 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: ColumnMenuItemDirective, selector: "[kendoGridColumnMenuItem]", inputs: ["kendoGridColumnMenuItem"] }, { kind: "component", type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: FormComponent, selector: "kendo-grid-external-form", inputs: ["controls", "formSettings", "formGroup", "actionButtons"], outputs: ["formSubmit"] }, { kind: "component", type: ColumnChooserContentComponent, selector: "kendo-grid-column-chooser-content", inputs: ["filterable", "showSelectAll", "showCheckedCount", "allowHideAll", "autoSync", "actionsClass", "closeOnReset", "columns", "isLast", "isExpanded", "service"], outputs: ["close"] }] });
754
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["actions", "actionsLayout", "overlayClickClose", "title", "subtitle", "items", "cssClass", "cssStyle", "animation", "expanded", "titleId", "initialFocus"], outputs: ["expandedChange", "action", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "component", type: ActionSheetViewComponent, selector: "kendo-actionsheet-view", inputs: ["title", "subtitle", "titleId"] }, { kind: "component", type: FilterToolbarToolComponent, selector: "kendo-filter-toolbar-tool", outputs: ["close"] }, { kind: "component", type: GroupToolbarToolComponent, selector: "kendo-group-toolbar-tool", inputs: ["adaptive"], outputs: ["close", "groupClear"] }, { kind: "component", type: ButtonDirective, 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"] }, { kind: "directive", type: ActionSheetHeaderTemplateDirective, selector: "[kendoActionSheetHeaderTemplate]" }, { kind: "directive", type: ActionSheetContentTemplateDirective, selector: "[kendoActionSheetContentTemplate]" }, { kind: "directive", type: ActionSheetFooterTemplateDirective, selector: "[kendoActionSheetFooterTemplate]" }, { kind: "component", type: ColumnMenuContainerComponent, selector: "kendo-grid-columnmenu-container" }, { kind: "component", type: ColumnMenuFilterComponent, selector: "kendo-grid-columnmenu-filter", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuSortComponent, selector: "kendo-grid-columnmenu-sort" }, { kind: "component", type: ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock" }, { kind: "component", type: ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick" }, { kind: "component", type: ColumnMenuPositionComponent, selector: "kendo-grid-columnmenu-position", inputs: ["expanded", "showLock", "showStick", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuChooserComponent, selector: "kendo-grid-columnmenu-chooser", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ColumnMenuAutoSizeColumnComponent, selector: "kendo-grid-columnmenu-autosize-column", inputs: ["column"] }, { kind: "component", type: ColumnMenuAutoSizeAllColumnsComponent, selector: "kendo-grid-columnmenu-autosize-all-columns" }, { 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: ColumnMenuItemDirective, selector: "[kendoGridColumnMenuItem]", inputs: ["kendoGridColumnMenuItem"] }, { kind: "component", type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: FormComponent, selector: "kendo-grid-external-form", inputs: ["controls", "formSettings", "formGroup", "actionButtons"], outputs: ["formSubmit"] }, { kind: "component", type: ColumnChooserContentComponent, selector: "kendo-grid-column-chooser-content", inputs: ["filterable", "showSelectAll", "showCheckedCount", "allowHideAll", "autoSync", "actionsClass", "closeOnReset", "columns", "isLast", "isExpanded", "service"], outputs: ["close"] }] });
707
755
  }
708
756
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdaptiveRendererComponent, decorators: [{
709
757
  type: Component,
@@ -719,417 +767,463 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
719
767
  [cssStyle]="{
720
768
  height: adaptiveService.size === 'small' ? '100vh' : '60vh'
721
769
  }"
722
- [overlayClickClose]="true"
723
- (collapse)="adaptiveGridService.reset()">
724
-
725
- <!-- sortToolbarTool view -->
726
- <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'sortToolbarTool'">
727
- <ng-template kendoActionSheetHeaderTemplate>
728
- <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
729
- </ng-container>
730
- </ng-template>
731
- <ng-template kendoActionSheetContentTemplate>
732
- <div class="k-column-menu k-column-menu-lg">
733
- <div class="k-columnmenu-item-wrapper">
734
- <kendo-grid-columnmenu-item *ngFor="let column of columns"
735
- [column]="getColumnComponent(column)"
736
- [text]="column.title || getColumnComponent(column).field"
737
- (itemClick)="sortBy(column)">
738
- </kendo-grid-columnmenu-item>
739
- </div>
740
- </div>
741
- </ng-template>
742
- <ng-template kendoActionSheetFooterTemplate>
743
- <button
744
- kendoButton
745
- size="large"
746
- fillMode="solid"
747
- icon="x"
748
- [svgIcon]="xIcon"
749
- (click)="clearSorting()">
750
- {{messageFor('sortClearButton')}}
751
- </button>
752
- <button
753
- kendoButton
754
- size="large"
755
- fillMode="solid"
756
- icon="check"
757
- [svgIcon]="checkIcon"
758
- themeColor="primary"
759
- (click)="actionSheet.toggle(false)">
760
- {{messageFor('sortDoneButton')}}
761
- </button>
762
- </ng-template>
770
+ [overlayClickClose]="true"
771
+ (collapse)="adaptiveGridService.reset()">
772
+
773
+ <!-- sortToolbarTool view -->
774
+ @if (adaptiveGridService.viewType === 'sortToolbarTool') {
775
+ <kendo-actionsheet-view>
776
+ <ng-template kendoActionSheetHeaderTemplate>
777
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
778
+ </ng-container>
779
+ </ng-template>
780
+ <ng-template kendoActionSheetContentTemplate>
781
+ <div class="k-column-menu k-column-menu-lg">
782
+ <div class="k-columnmenu-item-wrapper">
783
+ @for (column of columns; track column) {
784
+ <kendo-grid-columnmenu-item
785
+ [column]="getColumnComponent(column)"
786
+ [text]="column.title || getColumnComponent(column).field"
787
+ (itemClick)="sortBy(column)">
788
+ </kendo-grid-columnmenu-item>
789
+ }
790
+ </div>
791
+ </div>
792
+ </ng-template>
793
+ <ng-template kendoActionSheetFooterTemplate>
794
+ <button
795
+ kendoButton
796
+ size="large"
797
+ fillMode="solid"
798
+ icon="x"
799
+ [svgIcon]="xIcon"
800
+ (click)="clearSorting()">
801
+ {{messageFor('sortClearButton')}}
802
+ </button>
803
+ <button
804
+ kendoButton
805
+ size="large"
806
+ fillMode="solid"
807
+ icon="check"
808
+ [svgIcon]="checkIcon"
809
+ themeColor="primary"
810
+ (click)="actionSheet.toggle(false)">
811
+ {{messageFor('sortDoneButton')}}
812
+ </button>
813
+ </ng-template>
763
814
  </kendo-actionsheet-view>
764
-
765
- <!-- columnChooserToolbarTool view -->
766
- <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'columnChooserToolbarTool'">
767
- <ng-template kendoActionSheetHeaderTemplate>
768
- <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
769
- </ng-container>
770
- </ng-template>
771
- <ng-template kendoActionSheetContentTemplate>
772
- <kendo-grid-column-chooser-content
773
- #columnChooserContent
774
- [columns]="columns"
775
- [isLast]="true"
776
- [autoSync]="false"
777
- [allowHideAll]="false"
778
- >
779
- </kendo-grid-column-chooser-content>
780
- </ng-template>
781
- <ng-template kendoActionSheetFooterTemplate>
782
- <ng-container [ngTemplateOutlet]="actionSheetFooterTemplate">
783
- </ng-container>
784
- </ng-template>
815
+ }
816
+
817
+ <!-- columnChooserToolbarTool view -->
818
+ @if (adaptiveGridService.viewType === 'columnChooserToolbarTool') {
819
+ <kendo-actionsheet-view>
820
+ <ng-template kendoActionSheetHeaderTemplate>
821
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
822
+ </ng-container>
823
+ </ng-template>
824
+ <ng-template kendoActionSheetContentTemplate>
825
+ <kendo-grid-column-chooser-content
826
+ #columnChooserContent
827
+ [columns]="columns"
828
+ [isLast]="true"
829
+ [autoSync]="false"
830
+ [allowHideAll]="false"
831
+ >
832
+ </kendo-grid-column-chooser-content>
833
+ </ng-template>
834
+ <ng-template kendoActionSheetFooterTemplate>
835
+ <ng-container [ngTemplateOutlet]="actionSheetFooterTemplate">
836
+ </ng-container>
837
+ </ng-template>
785
838
  </kendo-actionsheet-view>
786
-
787
- <!-- filterToolbarTool first view -->
788
- <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'filterToolbarTool'"
789
- [kendoEventsOutsideAngular]="{transitionend: onAnimationEnd}"
790
- [scope]="this">
791
- <ng-template kendoActionSheetHeaderTemplate>
792
- <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
793
- </ng-container>
794
- </ng-template>
795
- <ng-template kendoActionSheetContentTemplate>
796
- <div class="k-column-menu k-column-menu-lg">
797
- <kendo-filter-toolbar-tool></kendo-filter-toolbar-tool>
798
- </div>
799
- </ng-template>
800
- <ng-template kendoActionSheetFooterTemplate>
801
- <button kendoButton
802
- icon="filter-clear"
803
- [svgIcon]="filterClearIcon"
804
- size="large"
805
- (click)="clearFilters()">
806
- {{messageFor('filterClearAllButton')}}
807
- </button>
808
- </ng-template>
809
- </kendo-actionsheet-view>
810
-
811
- <!-- filterToolbarTool second view -->
812
- <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'filterToolbarTool'">
813
- <ng-template kendoActionSheetHeaderTemplate>
814
- <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
815
- </ng-container>
816
- </ng-template>
817
- <ng-template kendoActionSheetContentTemplate>
818
- <ng-container #filterToolbarToolTemplate></ng-container>
819
- </ng-template>
820
- <ng-template kendoActionSheetFooterTemplate>
821
- <ng-container [ngTemplateOutlet]="filterFooterButtons">
822
- </ng-container>
823
- </ng-template>
839
+ }
840
+
841
+ <!-- filterToolbarTool first view -->
842
+ @if (adaptiveGridService.viewType === 'filterToolbarTool') {
843
+ <kendo-actionsheet-view
844
+ [kendoEventsOutsideAngular]="{transitionend: onAnimationEnd}"
845
+ [scope]="this">
846
+ <ng-template kendoActionSheetHeaderTemplate>
847
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
848
+ </ng-container>
849
+ </ng-template>
850
+ <ng-template kendoActionSheetContentTemplate>
851
+ <div class="k-column-menu k-column-menu-lg">
852
+ <kendo-filter-toolbar-tool></kendo-filter-toolbar-tool>
853
+ </div>
854
+ </ng-template>
855
+ <ng-template kendoActionSheetFooterTemplate>
856
+ <button kendoButton
857
+ icon="filter-clear"
858
+ [svgIcon]="filterClearIcon"
859
+ size="large"
860
+ (click)="clearFilters()">
861
+ {{messageFor('filterClearAllButton')}}
862
+ </button>
863
+ </ng-template>
824
864
  </kendo-actionsheet-view>
825
-
826
- <!-- filterMenu view -->
827
- <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'filterMenu'">
828
- <ng-template kendoActionSheetHeaderTemplate >
829
- <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
830
- </ng-container>
831
- </ng-template>
832
- <ng-template kendoActionSheetContentTemplate>
833
- <kendo-grid-filter-menu-container
834
- #filterMenuContainer
835
- [column]="adaptiveGridService.column"
836
- [filter]="ctx.grid.filter"
837
- (close)="close()"
838
- (keydown.enter)="$event.stopImmediatePropagation()">
839
- </kendo-grid-filter-menu-container>
840
- </ng-template>
841
- <ng-template kendoActionSheetFooterTemplate>
842
- <ng-container [ngTemplateOutlet]="filterFooterButtons">
843
- </ng-container>
844
- </ng-template>
865
+ }
866
+
867
+ <!-- filterToolbarTool second view -->
868
+ @if (adaptiveGridService.viewType === 'filterToolbarTool') {
869
+ <kendo-actionsheet-view>
870
+ <ng-template kendoActionSheetHeaderTemplate>
871
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
872
+ </ng-container>
873
+ </ng-template>
874
+ <ng-template kendoActionSheetContentTemplate>
875
+ <ng-container #filterToolbarToolTemplate></ng-container>
876
+ </ng-template>
877
+ <ng-template kendoActionSheetFooterTemplate>
878
+ <ng-container [ngTemplateOutlet]="filterFooterButtons">
879
+ </ng-container>
880
+ </ng-template>
845
881
  </kendo-actionsheet-view>
846
-
847
- <!-- columnMenu first view -->
848
- <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'columnMenu'"
849
- [kendoEventsOutsideAngular]="{transitionend: onAnimationEnd}"
850
- [scope]="this">
851
- <ng-template kendoActionSheetHeaderTemplate>
852
- <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
853
- </ng-container>
854
- </ng-template>
855
- <ng-template kendoActionSheetContentTemplate>
856
- <div class="k-column-menu k-column-menu-lg">
857
- <kendo-grid-columnmenu-container>
858
- <kendo-grid-columnmenu-sort #sortItem [kendoGridColumnMenuItem]="sortItem" *ngIf="hasSort" [service]="adaptiveGridService.columnMenuService">
859
- </kendo-grid-columnmenu-sort>
860
- <kendo-grid-columnmenu-lock #lockItem *ngIf="hasLock && !hasPosition" [kendoGridColumnMenuItem]="lockItem" [service]="adaptiveGridService.columnMenuService">
861
- </kendo-grid-columnmenu-lock>
862
- <kendo-grid-columnmenu-stick #stickItem *ngIf="hasStick && !hasPosition" [kendoGridColumnMenuItem]="stickItem" [service]="adaptiveGridService.columnMenuService">
863
- </kendo-grid-columnmenu-stick>
864
- <kendo-grid-columnmenu-position
865
- #positionItem
866
- *ngIf="hasPosition"
867
- [showLock]="hasLock"
868
- [showStick]="hasStick"
869
- [kendoGridColumnMenuItem]="positionItem"
870
- [service]="adaptiveGridService.columnMenuService"
871
- [expanded]="false"
872
- (collapse)="navigateToPositionView()">
873
- </kendo-grid-columnmenu-position>
874
- <span [style.borderColor]="'rgba(0, 0, 0, 0.08)'" *ngIf="hasLock || hasStick || adaptiveGridService.column.sortable" class="k-separator"></span>
875
- <kendo-grid-columnmenu-chooser
876
- #chooserItem
877
- *ngIf="hasColumnChooser"
878
- [kendoGridColumnMenuItem]="chooserItem"
879
- [service]="adaptiveGridService.columnMenuService"
880
- [expanded]="false"
881
- (collapse)="navigateToColumnsView()">
882
- </kendo-grid-columnmenu-chooser>
883
- <kendo-grid-columnmenu-autosize-column
884
- #autoSizeColumnItem
885
- *ngIf="hasAutoSizeColumn"
886
- [service]="adaptiveGridService.columnMenuService"
887
- [kendoGridColumnMenuItem]="autoSizeColumnItem"
888
- [column]="adaptiveGridService.column"
889
- >
890
- </kendo-grid-columnmenu-autosize-column>
891
-
892
- <kendo-grid-columnmenu-autosize-all-columns
893
- #autoSizeAllColumnsItem
894
- *ngIf="hasAutoSizeAllColumns"
895
- [service]="adaptiveGridService.columnMenuService"
896
- [kendoGridColumnMenuItem]="autoSizeAllColumnsItem"
897
- >
898
- </kendo-grid-columnmenu-autosize-all-columns>
899
- <span [style.borderColor]="'rgba(0, 0, 0, 0.08)'" *ngIf="adaptiveGridService.column.filterable" class="k-separator"></span>
900
- <kendo-grid-columnmenu-filter
901
- #filterItem
902
- *ngIf="hasFilter"
903
- [kendoGridColumnMenuItem]="filterItem"
904
- [service]="adaptiveGridService.columnMenuService"
905
- [expanded]="false"
906
- (collapse)="navigateToFilterView()">
907
- </kendo-grid-columnmenu-filter>
908
- </kendo-grid-columnmenu-container>
909
- </div>
910
- </ng-template>
882
+ }
883
+
884
+ <!-- filterMenu view -->
885
+ @if (adaptiveGridService.viewType === 'filterMenu') {
886
+ <kendo-actionsheet-view>
887
+ <ng-template kendoActionSheetHeaderTemplate >
888
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
889
+ </ng-container>
890
+ </ng-template>
891
+ <ng-template kendoActionSheetContentTemplate>
892
+ <kendo-grid-filter-menu-container
893
+ #filterMenuContainer
894
+ [column]="adaptiveGridService.column"
895
+ [filter]="ctx.grid.filter"
896
+ (close)="close()"
897
+ (keydown.enter)="$event.stopImmediatePropagation()">
898
+ </kendo-grid-filter-menu-container>
899
+ </ng-template>
900
+ <ng-template kendoActionSheetFooterTemplate>
901
+ <ng-container [ngTemplateOutlet]="filterFooterButtons">
902
+ </ng-container>
903
+ </ng-template>
911
904
  </kendo-actionsheet-view>
912
-
913
- <!-- columnMenu second view -->
914
- <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'columnMenu'">
915
- <ng-template kendoActionSheetHeaderTemplate>
916
- <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
917
- </ng-container>
918
- </ng-template>
919
-
920
- <ng-template kendoActionSheetContentTemplate>
921
- <kendo-grid-column-chooser-content
922
- *ngIf="adaptiveGridService.secondaryView === 'columnChooser'"
923
- #columnChooserContent
924
- [columns]="adaptiveGridService.columns"
925
- [isLast]="true"
926
- [autoSync]="false"
927
- [allowHideAll]="false"
928
- >
929
- </kendo-grid-column-chooser-content>
930
- <kendo-grid-filter-menu-container
931
- *ngIf="adaptiveGridService.secondaryView === 'columnFilter'"
905
+ }
906
+
907
+ <!-- columnMenu first view -->
908
+ @if (adaptiveGridService.viewType === 'columnMenu') {
909
+ <kendo-actionsheet-view
910
+ [kendoEventsOutsideAngular]="{transitionend: onAnimationEnd}"
911
+ [scope]="this">
912
+ <ng-template kendoActionSheetHeaderTemplate>
913
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
914
+ </ng-container>
915
+ </ng-template>
916
+ <ng-template kendoActionSheetContentTemplate>
917
+ <div class="k-column-menu k-column-menu-lg">
918
+ <kendo-grid-columnmenu-container>
919
+ @if (hasSort) {
920
+ <kendo-grid-columnmenu-sort #sortItem [kendoGridColumnMenuItem]="sortItem" [service]="adaptiveGridService.columnMenuService">
921
+ </kendo-grid-columnmenu-sort>
922
+ }
923
+ @if (hasLock && !hasPosition) {
924
+ <kendo-grid-columnmenu-lock #lockItem [kendoGridColumnMenuItem]="lockItem" [service]="adaptiveGridService.columnMenuService">
925
+ </kendo-grid-columnmenu-lock>
926
+ }
927
+ @if (hasStick && !hasPosition) {
928
+ <kendo-grid-columnmenu-stick #stickItem [kendoGridColumnMenuItem]="stickItem" [service]="adaptiveGridService.columnMenuService">
929
+ </kendo-grid-columnmenu-stick>
930
+ }
931
+ @if (hasPosition) {
932
+ <kendo-grid-columnmenu-position
933
+ #positionItem
934
+ [showLock]="hasLock"
935
+ [showStick]="hasStick"
936
+ [kendoGridColumnMenuItem]="positionItem"
937
+ [service]="adaptiveGridService.columnMenuService"
938
+ [expanded]="false"
939
+ (collapse)="navigateToPositionView()">
940
+ </kendo-grid-columnmenu-position>
941
+ }
942
+ @if (hasLock || hasStick || adaptiveGridService.column.sortable) {
943
+ <span [style.borderColor]="'rgba(0, 0, 0, 0.08)'" class="k-separator"></span>
944
+ }
945
+ @if (hasColumnChooser) {
946
+ <kendo-grid-columnmenu-chooser
947
+ #chooserItem
948
+ [kendoGridColumnMenuItem]="chooserItem"
949
+ [service]="adaptiveGridService.columnMenuService"
950
+ [expanded]="false"
951
+ (collapse)="navigateToColumnsView()">
952
+ </kendo-grid-columnmenu-chooser>
953
+ }
954
+ @if (hasAutoSizeColumn) {
955
+ <kendo-grid-columnmenu-autosize-column
956
+ #autoSizeColumnItem
957
+ [service]="adaptiveGridService.columnMenuService"
958
+ [kendoGridColumnMenuItem]="autoSizeColumnItem"
932
959
  [column]="adaptiveGridService.column"
933
- [filter]="ctx.grid.filter"
934
- (close)="close()"
935
- [kendoEventsOutsideAngular]="{'keydown.escape': close}"
936
- [scope]="this">
937
- </kendo-grid-filter-menu-container>
938
- <kendo-grid-columnmenu-lock
939
- *ngIf="adaptiveGridService.secondaryView === 'columnPosition' && hasLock"
940
- [service]="adaptiveGridService.columnMenuService">
941
- </kendo-grid-columnmenu-lock>
942
- <kendo-grid-columnmenu-stick
943
- *ngIf="adaptiveGridService.secondaryView === 'columnPosition' && hasStick"
944
- [service]="adaptiveGridService.columnMenuService">
945
- </kendo-grid-columnmenu-stick>
946
- </ng-template>
947
- <ng-template *ngIf="adaptiveGridService.secondaryView === 'columnChooser'" kendoActionSheetFooterTemplate>
948
- <ng-container [ngTemplateOutlet]="actionSheetFooterTemplate">
949
- </ng-container>
950
- </ng-template>
951
-
952
- <ng-template *ngIf="adaptiveGridService.secondaryView === 'columnFilter'" kendoActionSheetFooterTemplate>
953
- <ng-container [ngTemplateOutlet]="filterFooterButtons">
954
- </ng-container>
955
- </ng-template>
960
+ >
961
+ </kendo-grid-columnmenu-autosize-column>
962
+ }
963
+ @if (hasAutoSizeAllColumns) {
964
+ <kendo-grid-columnmenu-autosize-all-columns
965
+ #autoSizeAllColumnsItem
966
+ [service]="adaptiveGridService.columnMenuService"
967
+ [kendoGridColumnMenuItem]="autoSizeAllColumnsItem"
968
+ >
969
+ </kendo-grid-columnmenu-autosize-all-columns>
970
+ }
971
+ @if (adaptiveGridService.column.filterable) {
972
+ <span [style.borderColor]="'rgba(0, 0, 0, 0.08)'" class="k-separator"></span>
973
+ }
974
+ @if (hasFilter) {
975
+ <kendo-grid-columnmenu-filter
976
+ #filterItem
977
+ [kendoGridColumnMenuItem]="filterItem"
978
+ [service]="adaptiveGridService.columnMenuService"
979
+ [expanded]="false"
980
+ (collapse)="navigateToFilterView()">
981
+ </kendo-grid-columnmenu-filter>
982
+ }
983
+ </kendo-grid-columnmenu-container>
984
+ </div>
985
+ </ng-template>
956
986
  </kendo-actionsheet-view>
957
-
958
- <!-- external editing view -->
959
- <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'externalEditing'">
960
- <ng-template kendoActionSheetHeaderTemplate>
961
- <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
962
- </ng-container>
963
- </ng-template>
964
-
965
- <ng-template kendoActionSheetContentTemplate>
966
- <kendo-grid-external-form
967
- [controls]="externalEditingSettings.formControls"
968
- [formGroup]="externalEditingSettings.formGroup"
969
- [formSettings]="externalEditingSettings.formSettings"
970
- [actionButtons]="false">
971
- </kendo-grid-external-form>
972
- </ng-template>
973
-
987
+ }
988
+
989
+ <!-- columnMenu second view -->
990
+ @if (adaptiveGridService.viewType === 'columnMenu') {
991
+ <kendo-actionsheet-view>
992
+ <ng-template kendoActionSheetHeaderTemplate>
993
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
994
+ </ng-container>
995
+ </ng-template>
996
+ <ng-template kendoActionSheetContentTemplate>
997
+ @if (adaptiveGridService.secondaryView === 'columnChooser') {
998
+ <kendo-grid-column-chooser-content
999
+ #columnChooserContent
1000
+ [columns]="adaptiveGridService.columns"
1001
+ [isLast]="true"
1002
+ [autoSync]="false"
1003
+ [allowHideAll]="false"
1004
+ >
1005
+ </kendo-grid-column-chooser-content>
1006
+ }
1007
+ @if (adaptiveGridService.secondaryView === 'columnFilter') {
1008
+ <kendo-grid-filter-menu-container
1009
+ [column]="adaptiveGridService.column"
1010
+ [filter]="ctx.grid.filter"
1011
+ (close)="close()"
1012
+ [kendoEventsOutsideAngular]="{'keydown.escape': close}"
1013
+ [scope]="this">
1014
+ </kendo-grid-filter-menu-container>
1015
+ }
1016
+ @if (adaptiveGridService.secondaryView === 'columnPosition' && hasLock) {
1017
+ <kendo-grid-columnmenu-lock
1018
+ [service]="adaptiveGridService.columnMenuService">
1019
+ </kendo-grid-columnmenu-lock>
1020
+ }
1021
+ @if (adaptiveGridService.secondaryView === 'columnPosition' && hasStick) {
1022
+ <kendo-grid-columnmenu-stick
1023
+ [service]="adaptiveGridService.columnMenuService">
1024
+ </kendo-grid-columnmenu-stick>
1025
+ }
1026
+ </ng-template>
1027
+ @if (adaptiveGridService.secondaryView === 'columnChooser') {
974
1028
  <ng-template kendoActionSheetFooterTemplate>
975
- <button kendoButton
976
- size="large"
977
- icon="cancel"
978
- [svgIcon]="cancelIcon"
979
- (click)="actionSheet.toggle(false)">
980
- {{messageFor('externalEditingCancelText')}}
981
- </button>
982
- <button kendoButton
983
- themeColor="primary"
984
- size="large"
985
- icon="save"
986
- [svgIcon]="saveIcon"
987
- (click)="saveEditing()"
988
- [disabled]="!externalEditingSettings.formGroup.valid">
989
- {{messageFor('externalEditingSaveText')}}
990
- </button>
991
- </ng-template>
992
- </kendo-actionsheet-view>
993
-
994
- <!-- groupToolbarTool view -->
995
- <kendo-actionsheet-view *ngIf="adaptiveGridService.viewType === 'groupToolbarTool'">
996
- <ng-template kendoActionSheetHeaderTemplate>
997
- <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
998
- </ng-container>
999
- </ng-template>
1000
- <ng-template kendoActionSheetContentTemplate>
1001
- <kendo-group-toolbar-tool [adaptive]="true"></kendo-group-toolbar-tool>
1029
+ <ng-container [ngTemplateOutlet]="actionSheetFooterTemplate">
1030
+ </ng-container>
1002
1031
  </ng-template>
1032
+ }
1033
+ @if (adaptiveGridService.secondaryView === 'columnFilter') {
1003
1034
  <ng-template kendoActionSheetFooterTemplate>
1004
- <button
1005
- kendoButton
1006
- size="large"
1007
- fillMode="solid"
1008
- icon="x"
1009
- [svgIcon]="xIcon"
1010
- (click)="clearGrouping()">
1011
- {{messageFor('groupClearButton')}}
1012
- </button>
1013
- <button
1014
- kendoButton
1015
- size="large"
1016
- fillMode="solid"
1017
- icon="check"
1018
- [svgIcon]="checkIcon"
1019
- themeColor="primary"
1020
- (click)="actionSheet.toggle(false)">
1021
- {{messageFor('groupDoneButton')}}
1022
- </button>
1035
+ <ng-container [ngTemplateOutlet]="filterFooterButtons">
1036
+ </ng-container>
1023
1037
  </ng-template>
1038
+ }
1039
+ </kendo-actionsheet-view>
1040
+ }
1041
+
1042
+ <!-- external editing view -->
1043
+ @if (adaptiveGridService.viewType === 'externalEditing') {
1044
+ <kendo-actionsheet-view>
1045
+ <ng-template kendoActionSheetHeaderTemplate>
1046
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
1047
+ </ng-container>
1048
+ </ng-template>
1049
+ <ng-template kendoActionSheetContentTemplate>
1050
+ <kendo-grid-external-form
1051
+ [controls]="externalEditingSettings.formControls"
1052
+ [formGroup]="externalEditingSettings.formGroup"
1053
+ [formSettings]="externalEditingSettings.formSettings"
1054
+ [actionButtons]="false">
1055
+ </kendo-grid-external-form>
1056
+ </ng-template>
1057
+ <ng-template kendoActionSheetFooterTemplate>
1058
+ <button kendoButton
1059
+ size="large"
1060
+ icon="cancel"
1061
+ [svgIcon]="cancelIcon"
1062
+ (click)="actionSheet.toggle(false)">
1063
+ {{messageFor('externalEditingCancelText')}}
1064
+ </button>
1065
+ <button kendoButton
1066
+ themeColor="primary"
1067
+ size="large"
1068
+ icon="save"
1069
+ [svgIcon]="saveIcon"
1070
+ (click)="saveEditing()"
1071
+ [disabled]="!externalEditingSettings.formGroup.valid">
1072
+ {{messageFor('externalEditingSaveText')}}
1073
+ </button>
1074
+ </ng-template>
1024
1075
  </kendo-actionsheet-view>
1076
+ }
1077
+
1078
+ <!-- groupToolbarTool view -->
1079
+ @if (adaptiveGridService.viewType === 'groupToolbarTool') {
1080
+ <kendo-actionsheet-view>
1081
+ <ng-template kendoActionSheetHeaderTemplate>
1082
+ <ng-container [ngTemplateOutlet]="actionSheetHeaderTemplate">
1083
+ </ng-container>
1084
+ </ng-template>
1085
+ <ng-template kendoActionSheetContentTemplate>
1086
+ <kendo-group-toolbar-tool [adaptive]="true"></kendo-group-toolbar-tool>
1087
+ </ng-template>
1088
+ <ng-template kendoActionSheetFooterTemplate>
1089
+ <button
1090
+ kendoButton
1091
+ size="large"
1092
+ fillMode="solid"
1093
+ icon="x"
1094
+ [svgIcon]="xIcon"
1095
+ (click)="clearGrouping()">
1096
+ {{messageFor('groupClearButton')}}
1097
+ </button>
1098
+ <button
1099
+ kendoButton
1100
+ size="large"
1101
+ fillMode="solid"
1102
+ icon="check"
1103
+ [svgIcon]="checkIcon"
1104
+ themeColor="primary"
1105
+ (click)="actionSheet.toggle(false)">
1106
+ {{messageFor('groupDoneButton')}}
1107
+ </button>
1108
+ </ng-template>
1109
+ </kendo-actionsheet-view>
1110
+ }
1025
1111
  </kendo-actionsheet>
1026
-
1112
+
1027
1113
  <ng-template #actionSheetHeaderTemplate>
1028
- <div class="k-actionsheet-titlebar-group">
1029
- <div *ngIf="adaptiveGridService.secondaryView" class="k-actionsheet-actions">
1030
- <button
1031
- kendoButton
1032
- icon="chevron-left"
1033
- [svgIcon]="chevronLeft"
1034
- fillMode="flat"
1035
- size="large"
1036
- [title]="messageFor('adaptiveBackButtonTitle')"
1037
- (click)="prevView()">
1038
- </button>
1039
- </div>
1040
- <div class="k-actionsheet-title">
1041
- <div *ngIf="hasTitle" class="k-text-center">
1042
- {{actionSheetTitle}}
1043
- </div>
1044
- <div *ngIf="hasSubtitle"
1045
- class="k-actionsheet-subtitle k-text-center">
1046
- {{messageFor('columnsSubtitle')}}
1047
- </div>
1048
- </div>
1049
- <div *ngIf="hasXCloseIcon" class="k-actionsheet-actions">
1050
- <button
1051
- kendoButton
1052
- icon="x"
1053
- [svgIcon]="xIcon"
1054
- fillMode="flat"
1055
- size="large"
1056
- [title]="messageFor('adaptiveCloseButtonTitle')"
1057
- (click)="close()">
1058
- </button>
1114
+ <div class="k-actionsheet-titlebar-group">
1115
+ @if (adaptiveGridService.secondaryView) {
1116
+ <div class="k-actionsheet-actions">
1117
+ <button
1118
+ kendoButton
1119
+ icon="chevron-left"
1120
+ [svgIcon]="chevronLeft"
1121
+ fillMode="flat"
1122
+ size="large"
1123
+ [title]="messageFor('adaptiveBackButtonTitle')"
1124
+ (click)="prevView()">
1125
+ </button>
1126
+ </div>
1127
+ }
1128
+ <div class="k-actionsheet-title">
1129
+ @if (hasTitle) {
1130
+ <div class="k-text-center">
1131
+ {{actionSheetTitle}}
1059
1132
  </div>
1060
- <div *ngIf="hasCheckCloseIcon" class="k-actionsheet-actions">
1061
- <button
1062
- kendoButton
1063
- icon="check"
1064
- [svgIcon]="checkIcon"
1065
- fillMode="flat"
1066
- size="large"
1067
- themeColor="primary"
1068
- [title]="messageFor('adaptiveCloseButtonTitle')"
1069
- (click)="actionSheet.toggle(false)">
1070
- </button>
1133
+ }
1134
+ @if (hasSubtitle) {
1135
+ <div
1136
+ class="k-actionsheet-subtitle k-text-center">
1137
+ {{messageFor('columnsSubtitle')}}
1071
1138
  </div>
1139
+ }
1072
1140
  </div>
1141
+ @if (hasXCloseIcon) {
1142
+ <div class="k-actionsheet-actions">
1143
+ <button
1144
+ kendoButton
1145
+ icon="x"
1146
+ [svgIcon]="xIcon"
1147
+ fillMode="flat"
1148
+ size="large"
1149
+ [title]="messageFor('adaptiveCloseButtonTitle')"
1150
+ (click)="close()">
1151
+ </button>
1152
+ </div>
1153
+ }
1154
+ @if (hasCheckCloseIcon) {
1155
+ <div class="k-actionsheet-actions">
1156
+ <button
1157
+ kendoButton
1158
+ icon="check"
1159
+ [svgIcon]="checkIcon"
1160
+ fillMode="flat"
1161
+ size="large"
1162
+ themeColor="primary"
1163
+ [title]="messageFor('adaptiveCloseButtonTitle')"
1164
+ (click)="actionSheet.toggle(false)">
1165
+ </button>
1166
+ </div>
1167
+ }
1168
+ </div>
1073
1169
  </ng-template>
1074
-
1170
+
1075
1171
  <ng-template #actionSheetFooterTemplate>
1076
- <button
1077
- #resetButton
1078
- kendoButton
1079
- size="large"
1080
- fillMode="solid"
1081
- [svgIcon]="arrowRotateCcwIcon"
1082
- icon="arrow-rotate-ccw"
1083
- type="button"
1172
+ <button
1173
+ #resetButton
1174
+ kendoButton
1175
+ size="large"
1176
+ fillMode="solid"
1177
+ [svgIcon]="arrowRotateCcwIcon"
1178
+ icon="arrow-rotate-ccw"
1179
+ type="button"
1084
1180
  [kendoEventsOutsideAngular]="{click: cancelChanges,
1085
1181
  'keydown.enter': cancelChanges,
1086
1182
  'keydown.space': cancelChanges,
1087
1183
  'keydown.tab': onTab
1088
1184
  }"
1089
- [scope]="this">
1090
- {{ messageFor('columnsReset') }}
1091
- </button>
1092
- <button
1093
- #applyButton
1094
- kendoButton
1095
- type="button"
1096
- [svgIcon]="checkIcon"
1097
- icon="check"
1098
- size="large"
1099
- fillMode="solid"
1100
- themeColor="primary"
1185
+ [scope]="this">
1186
+ {{ messageFor('columnsReset') }}
1187
+ </button>
1188
+ <button
1189
+ #applyButton
1190
+ kendoButton
1191
+ type="button"
1192
+ [svgIcon]="checkIcon"
1193
+ icon="check"
1194
+ size="large"
1195
+ fillMode="solid"
1196
+ themeColor="primary"
1101
1197
  [kendoEventsOutsideAngular]="{click: applyChanges,
1102
1198
  'keydown.enter': applyChanges,
1103
1199
  'keydown.space': applyChanges
1104
1200
  }"
1105
- [scope]="this">
1106
- {{ messageFor('columnsApply') }}
1107
- </button>
1201
+ [scope]="this">
1202
+ {{ messageFor('columnsApply') }}
1203
+ </button>
1108
1204
  </ng-template>
1109
-
1205
+
1110
1206
  <ng-template #filterFooterButtons>
1111
- <button
1112
- kendoButton
1113
- size="large"
1114
- fillMode="solid"
1115
- (click)="adaptiveGridService.resetFilter()">
1116
- {{messageFor('filterClearButton')}}
1117
- </button>
1118
- <button
1119
- kendoButton
1120
- size="large"
1121
- fillMode="solid"
1122
- themeColor="primary"
1123
- [disabled]="adaptiveGridService.filterMenuContainer.disabled"
1124
- (click)="adaptiveGridService.submitFilter()">
1125
- {{messageFor('filterFilterButton')}}
1126
- </button>
1207
+ <button
1208
+ kendoButton
1209
+ size="large"
1210
+ fillMode="solid"
1211
+ (click)="adaptiveGridService.resetFilter()">
1212
+ {{messageFor('filterClearButton')}}
1213
+ </button>
1214
+ <button
1215
+ kendoButton
1216
+ size="large"
1217
+ fillMode="solid"
1218
+ themeColor="primary"
1219
+ [disabled]="adaptiveGridService.filterMenuContainer.disabled"
1220
+ (click)="adaptiveGridService.submitFilter()">
1221
+ {{messageFor('filterFilterButton')}}
1222
+ </button>
1127
1223
  </ng-template>
1128
- `,
1224
+ `,
1129
1225
  standalone: true,
1130
1226
  imports: [
1131
- NgIf,
1132
- NgFor,
1133
1227
  NgTemplateOutlet,
1134
1228
  ActionSheetComponent,
1135
1229
  ActionSheetViewComponent,