Telerik Forums
Kendo UI for Angular Forum
1 answer
267 views
There is a kendo grid with 8 columns. The width param is set to all columns. 
I would like to have one column always be mentioned value. and never receive distributed portion.

More Details:

From Official documentation at https://www.telerik.com/kendo-angular-ui/components/grid/columns/width we know that

When all column widths are explicitly set and the cumulative column width is less than the available Grid width, the remaining width is distributed evenly between all columns

At my use case, in about 50 grids, there are same "Date" columns (YYYY-MM-DD formatted). So when it will be "perfect" that the columns be always same value and do not become "wider" for case when cumulative column width is less than the available Grid width.

Is it possible?
Martin Bechev
Telerik team
 answered on 15 Nov 2024
0 answers
105 views

I use a kendo-grid component that has a dynamic list,. When I press Add it adds a new row and each row can be removed from the list. My problem is when I remove an item, it always removes the last row from UI. I saw that the values are correct, only the UI is the problem because it removes the last element from the list and it keeps visible the one I selected to remove.

After some debugging, I saw that it is because of the filteredPermission list that updates at every changes but I do not know how to fix th problem.

Thank you!

  <kendo-grid [data]="rowsPermissionsArray.controls">
        <kendo-grid-column field="id" title="{{ resourceCodes.permissions | translate }}">
          <ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex">
            <kendo-formfield>
              <app-crm-single-dropdown
                class="dl-with-remove-btn"
                [data]="filteredPermissions"
                [formControl]="dataItem.get('id')"></app-crm-single-dropdown>
            </kendo-formfield>
            <ng-container
              *ngFor="let error of form.get('rowsPermissions')?.get(rowIndex.toString())?.get('id')?.errors | keyvalue">
              <kendo-formerror
                *ngIf="
                  error.key === 'required' || error.key === 'duplicatePermission'
                    ? form.get('rowsPermissions')?.get(rowIndex.toString())?.get('id')?.touched
                    : true
                "
                >{{ error.value }}</kendo-formerror
              >
            </ng-container>
          </ng-template>
        </kendo-grid-column>
        <kendo-grid-column [width]="130" title="{{ resourceCodes.actions | translate }}" class="column-action-buttons">
          <ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex">
            <button class="button-grid-action" (click)="showDeleteConfirmationPermissionModal(rowIndex)">
              <icon-delete class="icon"></icon-delete>
            </button>
          </ng-template>
       

</kendo-grid-column>

 get rowsPermissionsArray() {
    return this.form.get('rowsPermissions') as FormArray;

  }

 

  confirmPermissionDeletion = (): void => {
    this.rowsPermissionsArray.removeAt(this.selectedPermissionId);
    this.showConfirmationPermissionModal = false;
  };
  showDeleteConfirmationPermissionModal(id: number) {
    this.selectedPermissionId = id;
    this.showConfirmationPermissionModal = true;
  }
  onCloseConfirmationPermissionModal(): void {
    this.showConfirmationPermissionModal = false;

  }

 

  setupPermissions() {
    this.form.get('rowsPermissions')?.valueChanges.subscribe((selectedValues: any[]) => {
      this.filteredPermissions = this.platformPermissions.filter(
        permission => !selectedValues.some(selected => selected.id === permission.id)
      );
    });
  }

</kendo-grid>

Andreea
Top achievements
Rank 1
Iron
 updated question on 13 Nov 2024
2 answers
156 views

hi,

can you please tell me how to apply bootstrap table style,i.e table-primary,table-secondary...,please see the below:

<table class="table-primary">...</table>

<table class="table-secondary">...</table> <table class="table-success">...</table> <table class="table-danger">...</table> <table class="table-warning">...</table> <table class="table-info">...</table> <table class="table-light">...</table> <table class="table-dark">...</table>

 

the grid i am using is descripted as below web page:

https://www.telerik.com/kendo-angular-ui/components/grid

 

thank you.

david

David
Top achievements
Rank 1
Iron
Iron
 answered on 13 Nov 2024
1 answer
63 views

Once Kendo loader is shown and hidden, it resets the textbox type from password to text.
Can I get a solution to it. 

As I need the kendoTextBoxPrefixTemplate and cant use the kendoTextBox API inside <input/> to use a [type] variable and 
control the textBox type 

Here is the sample code: 

import { Component, AfterViewInit, OnInit, ViewChild } from'@angular/core';

import {
  LoaderType,
  LoaderThemeColor,
  LoaderSize,
} from '@progress/kendo-angular-indicators';
import { FormControl, FormGroup, Validators } from '@angular/forms';
import { TextBoxComponent } from '@progress/kendo-angular-inputs';
@Component({
  selector: 'my-app',
  template: `
<div class="login-page--main-container">
  <kendo-card class="login-page--kendo-card" *ngIf="!showLoader">
    <div class="login-page--form-container">
      <form [formGroup]="loginForm" class="login-page--login-form" (ngSubmit)="onSubmit()">
        <div class="login-page--formfield">
          <div class="login-page--formfield-user">
            <kendo-formfield>
              <kendo-textbox
                class="login-page--textbox"
                formControlName="username"
                #username
                required
                placeholder="Username">
                <ng-template kendoTextBoxPrefixTemplate>
                  <img src="assets/content/images/login-images/profile.svg" alt="new" class="login-page--user-img" />
                </ng-template>
              </kendo-textbox>
              <kendo-formerror class="login-page-kendo-form-error">
                Username is required
              </kendo-formerror>
            </kendo-formfield>
          </div>
          <kendo-formfield>
            <kendo-textbox
              #textbox
              placeholder="Password"
              [clearButton]="true"
              class="login-page--textbox"
              formControlName="password">
              <ng-template kendoTextBoxSuffixTemplate>
                <button kendoButton look="clear" (click)="togglePasswordVisibility()"> Eye </button>
              </ng-template>
              <ng-template kendoTextBoxPrefixTemplate>
                <img src="assets/content/images/login-images/password.svg" alt="new" class="login-page--profile-img" />
              </ng-template>
            </kendo-textbox>
            <kendo-formerror class="login-page-kendo-form-error">
              Password is required
            </kendo-formerror>
          </kendo-formfield>
          <div class="login-page--forgot-div">
            <!-- Optional forgot password link -->
          </div>
        </div>
        <div>
          <button kendoButton class="login-page--signin-button" [disabled]="loginForm.invalid">
            Sign In
          </button>
        </div>
      </form>
    </div>
  </kendo-card>
  <div class="app-screen--loader" *ngIf="showLoader">
  <div class="example-item" *ngFor="let loader of loaders">
          <div class="example-item-title">{{ loader.type | titlecase }}</div>
          <div class="k-block">
            <kendo-loader
              [type]="loader.type"
              [themeColor]="loader.themeColor"
              [size]="loader.size"
            >
            </kendo-loader>
          </div>
        </div>
    <div>Signing in....</div>
  </div>
</div>
  `,
})
export class AppComponent implements AfterViewInit {
  public loginForm: FormGroup;
  public showLoader = false;
  public loaders = [
    {
      type: <LoaderType>'pulsing',
      themeColor: <LoaderThemeColor>'primary',
      size: <LoaderSize>'medium',
    },
    {
      type: <LoaderType>'infinite-spinner',
      themeColor: <LoaderThemeColor>'secondary',
      size: <LoaderSize>'medium',
    },
    {
      type: <LoaderType>'converging-spinner',
      themeColor: <LoaderThemeColor>'info',
      size: <LoaderSize>'medium',
    },
  ];
  @ViewChild('textbox') public textbox!: TextBoxComponent;
  constructor() {
    this.loginForm = new FormGroup({
      username: new FormControl('', Validators.required),
      password: new FormControl('', Validators.required),
    });
  }
  public ngAfterViewInit(): void {
    this.textbox.input.nativeElement.type = 'password';
  }
  public togglePasswordVisibility(): void {
    const inputEl = this.textbox.input.nativeElement;
    inputEl.type = inputEl.type === 'password' ? 'text' : 'password';
  }
  public async onSubmit() {
    if (this.loginForm.valid) {
      this.showLoader = true;
      await new Promise((resolve) => setTimeout(resolve, 1000));
      this.showLoader = false;
    }
  }
}

Martin Bechev
Telerik team
 answered on 12 Nov 2024
1 answer
55 views

Hi, can we use directives or something similar to change the appearance of the Kendo-Grid like

<kendo-grid  NewApparenceDirective [kendoGridBinding]="data()">

I need to create a reusable, very lightweight grid.

Removing the background (set it transparent), removing some borders, changing text size, and so on.

What is the way to accomplish and reuse it on a lot of our components

 

Thanks

Martin Bechev
Telerik team
 answered on 08 Nov 2024
1 answer
65 views


how to change the click function of the ellipsis in kendo ui kendo-scheduler-month-view?

i need to change the click function of the ellipsis on the shown screenshot below:

 




<kendo-scheduler
    [resources]="[]"
    [kendoSchedulerBinding]="events"
    [(selectedViewIndex)]="schedulerView"
    [slotClass]="getSlotClass"
    [selectedDate]="selectedDate"
    [slotDivisions]="1"
    [selectable]="true"
    [isSlotSelected]="isSlotSelected"
    (slotDragStart)="onSlotDragStart($event)"
    (slotDrag)="onSlotDrag($event)">

    <kendo-scheduler-month-view [eventHeight]="18" [eventClass]="getEventClass">
      <ng-template kendoSchedulerEventTemplate let-event="event" let-resources="resources">
        <ng-template *ngTemplateOutlet="eventTemplate; context: { $implicit: event.dataItem }"></ng-template>
      </ng-template>
    </kendo-scheduler-month-view>

</kendo-scheduler>
<kendo-scheduler
    [resources]="[]"
    [kendoSchedulerBinding]="events"
    [(selectedViewIndex)]="schedulerView"
    [slotClass]="getSlotClass"
    [selectedDate]="selectedDate"
    [slotDivisions]="1"
    [selectable]="true"
    [isSlotSelected]="isSlotSelected"
    (slotDragStart)="onSlotDragStart($event)"
    (slotDrag)="onSlotDrag($event)">

    <kendo-scheduler-month-view [eventHeight]="18" [eventClass]="getEventClass">
      <ng-template kendoSchedulerEventTemplate let-event="event" let-resources="resources">
        <ng-template *ngTemplateOutlet="eventTemplate; context: { $implicit: event.dataItem }"></ng-template>
      </ng-template>
    </kendo-scheduler-month-view>

</kendo-scheduler>

Yanmario
Telerik team
 answered on 08 Nov 2024
1 answer
97 views

Is there a built-in Kendo form class for a grid-type layout? I know that the GridLayout component is available, was hoping that there was something built-in already that would be more straightforward to implement.

Thanks

Martin Bechev
Telerik team
 answered on 01 Nov 2024
0 answers
73 views

Hello,

I'm working on a project where we have about 100 columns and rows can exceed 1000 rows.

 

The users want to enable CTL and shift selection but it doesn't work and I have 2 behaviors:

1- If I click quickly and simultaneously CTL and Select row it's works.

2 - If I start holding the CTL button and try to select row nothing happen and it takes long time to be selected.

can you tell me what the problem is exactly and if there is a bypass for it

Best regards

aziz
Top achievements
Rank 1
Iron
 asked on 01 Nov 2024
1 answer
114 views
How can I display the timeline component in reverse order? I can't find any parameter from the guide that could reverse it. https://www.telerik.com/kendo-angular-ui/components/layout/api/timelinecomponent#selector
Martin Bechev
Telerik team
 answered on 31 Oct 2024
1 answer
74 views
Does the kendoDragHandle have to be a direct child of the kendoDragTarget or can it be a grandchild, grand-grandchild, ect. of the kendoDragTarget?
Martin Bechev
Telerik team
 answered on 29 Oct 2024
Narrow your results
Selected tags
Tags
+? more
Top users last month
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Iron
Iron
Andrey
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Iron
Iron
Andrey
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?