Telerik Forums
Kendo UI for Angular Forum
1 answer
912 views

Hi there,

I'm using a Kendo Window for a form and when a vertical scrollbar is necessary, the action buttons (save, cancel) are not visible because you have to scroll to the bottom to see them. How could I get them to stay fixed?

Thank you

Hetali
Telerik team
 answered on 08 Aug 2023
1 answer
138 views

min' since it isn't a known property of 'kendo-chart-value-axis-item-labels

 


<kendo-chart-value-axis>
	<kendo-chart-value-axis-item >
		<kendo-chart-value-axis-item-labels [content]="utilsService.label" [min]="minVal">
		</kendo-chart-value-axis-item-labels>
	</kendo-chart-value-axis-item>
</kendo-chart-value-axis>

 

Hetali
Telerik team
 answered on 08 Aug 2023
1 answer
443 views
Is it possible to add a textbox into a toolbar component?
Hetali
Telerik team
 answered on 07 Aug 2023
1 answer
343 views

Adding different way but not able to see in browser.

Let me know If I miss anything. 

 

Martin Bechev
Telerik team
 answered on 07 Aug 2023
0 answers
233 views

Howdy, I am trying to make a right click context menu when you right click on an scheduled event in the scheduler.  I have gotten it mostly working however when I right click on an event the context menu appears about 25 pixels or so below the mouse cursor(see screenshot).  I would prefer it to work like every other context menu which is aligned with the mouse cursor.  The code below seems pretty basic.  In testing I also removed all CSS to ensure there wasn't something causing issues there.  Due to the nature of the context menu I can't inspect the element properly in Chrome's console.  The target element is the scheduled event which I can confirm through console.

 

So how do I make the right click menu actually show up along the mouse when clicking an appt?

 

I have spent the past two days of stripping code and adding it back so in my code below there will be some things that aren't necessary but it shouldn't bog down any troubleshooting.
import { Component, ViewChild, ElementRef, ViewChildren, QueryList } from '@angular/core';
import { ApptDetail } from '../../interfaces/apptdetail.interface';
import { SchedulerEvent, } from '@progress/kendo-angular-scheduler';
import valueHelpers from '../../shared/value-helpers';
import { ApptService } from '../../interfaces/services/appt.service';
import { GenericPagedResponse } from '../../interfaces/pagedresponse.interface';
import { Client } from '../../interfaces/client.interface';
import { ClientService } from '../../interfaces/services/client.service';
import { ContextMenuComponent, ContextMenuSelectEvent, ContextMenuPopupEvent } from '@progress/kendo-angular-menu';

@Component({
  selector: 'app-appointments',
  templateUrl: './appointments.component.html',
  styleUrls: ['./appointments.component.css']
})
export class AppointmentsComponent {
  public appointments: ApptDetail[] = [];
  selectedDate: Date = new Date();
  public contextMenuEvent!: SchedulerEvent;
  @ViewChild(ContextMenuComponent, { static: true }) apptContextMenu!: ContextMenuComponent;
  @ViewChild('apptScheduler', { read: ElementRef }) apptScheduler!: ElementRef;
  @ViewChildren('apptEvent', { read: ElementRef }) apptEventElements!: QueryList<ElementRef>;

  apptContextMenuItems: any[] = [
    {
      text: "Cashout Appointment",
      value: "cashout"
    },
    {
      text: "Edit",
      value: "edit",
    },
    {
      text: "Delete",
      value: "delete"
    },
    {
      text: "Send SMS Reminder",
      value: "sendSMS"
    },
    {
      text: "Send Email Reminder",
      value: "sendEmailReminder"
    },
  ];


  ngOnInit() {
    this.loadApptData();
  }

  constructor(private apptService: ApptService) { }

  loadApptData() {
    console.log("Load appt data");

    const fromDate = valueHelpers.getStartOfWeek(this.selectedDate);
    const toDate = valueHelpers.getEndOfWeek(this.selectedDate);


    this.apptService.getApptsForCalendar(fromDate, toDate).subscribe((data: GenericPagedResponse<ApptDetail>) => {
      this.appointments = data.data;


      // Update the schedulerEvents array with the new data
      this.updateSchedulerEvents();
    });
  }

  private updateSchedulerEvents() {
    this.schedulerEvents = this.appointments.map(appointment => {

      const startDateTime = new Date(appointment.startDateTime); // Convert to Date object
      const endDateTime = new Date(appointment.endDateTime); // Convert to Date object


      return {
        id: appointment.apptDetailId.toString(),
        start: startDateTime,
        end: endDateTime,
        title: appointment.clientName + ' <br> ' + appointment.itemName,
        description: appointment.apptNote,       
        resourceId: appointment.employeeId
      };
    });
  }

  public schedulerEvents: SchedulerEvent[] = [];

  onDateChange(event: any) {
    console.log(event);
    if (this.selectedDate != event.selectedDate)
      this.selectedDate = event.selectedDate;
    console.log('Selected Date:', this.selectedDate);
    this.loadApptData();
  }


  public onApptContextMenuSelect(e: ContextMenuSelectEvent): void {
    if (e.item.value == "edit") {

    }
    else if (e.item.value == "delete") {

    }
    else if (e.item.value == "cashout") {

    }
    else if (e.item.value == "sendSMS") {

    }
    else if (e.item.value == "sendEmailReminder") {

    }

  }
  public onEventContextMenu(event: any): void {
    this.contextMenuEvent = event; // Save the event for later use

    const targetElement = event.target;

    // Get the unique identifier from the custom attribute
   // const apptId = targetElement.getAttribute('data-appt-id');

    // Find the corresponding 'apptEvent' element based on the 'data-appt-id' attribute

   // console.log(apptId)
    
    if (targetElement) {

      
      this.apptContextMenu.show(targetElement);
    }

    event.preventDefault();
  }

}

<kendo-scheduler [events]="schedulerEvents" (dateChange)="onDateChange($event)" [selectedDate]="selectedDate"
                 (contextmenu)="onEventContextMenu($event)" #apptScheduler>

  <kendo-scheduler-week-view> </kendo-scheduler-week-view>

</kendo-scheduler>


<kendo-contextmenu #apptContextMenu [items]="apptContextMenuItems"  (select)="onApptContextMenuSelect($event)">

</kendo-contextmenu>


Sean
Top achievements
Rank 1
 asked on 06 Aug 2023
0 answers
119 views

I would like to disable the popup when hovering over the graph point.

 

how to remove 1 in photo

Tera
Top achievements
Rank 1
Iron
Iron
 asked on 04 Aug 2023
2 answers
373 views

how to focus on first element of list at open click?

the focus is on bottom

i want to set focus on top of the list when is opened


		#projectmultiselect
		(open)="open(e)"
		(opened)="opened(e)"

 

Tera
Top achievements
Rank 1
Iron
Iron
 answered on 04 Aug 2023
1 answer
389 views

Hi!

I'm using the dropdowntreecomponent with value primitive binding to ngmodel but I get an error when opening the dropdown.

Here is a sandbox showing the error:
https://codesandbox.io/s/empty-field-s3vtcr

ERROR Error: Expected dataItem of type Object to be set. See https://www.telerik.com/kendo-angular-ui/components/dropdowns/api/DropDownTreeComponent/#toc-dataitem

Basically the dataItem is received here as a primitive value and not the complete dataItem.

Thanks

 

Tsvetelina
Telerik team
 answered on 04 Aug 2023
0 answers
186 views
I have a column in the kendo grid that contains years.
are numeric values without decimals.
but when I use filter=numeric and look for a year I get 2 decimal digits.
how can i set the filter without decimals?
Tera
Top achievements
Rank 1
Iron
Iron
 asked on 03 Aug 2023
0 answers
188 views
How do I start the graph of the minimum value among those available. I would like that if the minimum value among those available is -10,000 then the graph starts not from 0 but from -10,000
Tera
Top achievements
Rank 1
Iron
Iron
 asked on 03 Aug 2023
Narrow your results
Selected tags
Tags
+? more
Top users last month
Shiori
Top achievements
Rank 2
Iron
Tien
Top achievements
Rank 1
Iron
Robert
Top achievements
Rank 1
Rob
Top achievements
Rank 4
Bronze
Bronze
Iron
Geoff
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Shiori
Top achievements
Rank 2
Iron
Tien
Top achievements
Rank 1
Iron
Robert
Top achievements
Rank 1
Rob
Top achievements
Rank 4
Bronze
Bronze
Iron
Geoff
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?