Как установить настройки по умолчанию для KendoGrid [columnMenu], используя директиву? - PullRequest
0 голосов
/ 02 июля 2019

Я создал угловую директиву, чтобы установить настройки по умолчанию для моей KendoGrid. Я установил сортируемые, изменяемые размеры, фильтруемые и переупорядочиваемые свойства, и это прекрасно работает. У меня проблема, когда я пытаюсь установить настройки по умолчанию для [columnMenu]. Настройки полностью игнорируются.

Ссылка на StackBlitz

// -----------------------------
// default-settings.directive.ts
// -----------------------------
import { Directive, OnInit } from '@angular/core';
import { GridComponent, ColumnMenuSettings } from '@progress/kendo-angular-grid';

@Directive({
  selector: '[appDefaultSettings]'
})
export class DefaultSettingsDirective implements OnInit {

  defaultColumnMenu: ColumnMenuSettings = {
    sort: false,
    filter: false,
    lock: false,
    columnChooser: true
  }
  sortable: boolean = true;
  resizable: boolean = true;
  filterable: boolean = true;
  reorderable: boolean = true;

  constructor(
    private grid: GridComponent,
  ) { }

  private initializeDefaults() {
    this.grid.sortable = this.sortable;
    this.grid.resizable = this.resizable;
    this.grid.filterable = this.filterable;
    this.grid.reorderable = this.reorderable;
    this.grid.columnMenu = this.defaultColumnMenu;    
  }

  ngOnInit(): void {
    this.initializeDefaults();
  }
}
// -----------------------------
// app.component.ts
// -----------------------------
import { Component } from '@angular/core';
import { customers } from './customers';

@Component({
    selector: 'my-app',
    template: `
        <kendo-grid appDefaultSettings
          [kendoGridBinding]="data"
          [height]="410">
        </kendo-grid>
    `
})
export class AppComponent {
    public data: any[] = customers;
    constructor() {
    }
}

Вот ссылка StackBlitz для полного примера.
Спасибо за вашу помощь.

...