Estoy implementando el programador de kendo para Angular en nuestra aplicación. Mi problema es que quiero tener un botón en la barra de herramientas que permita al usuario agregar un nuevo evento, normalmente, de manera predeterminada, el usuario debe hacer clic dos veces en la celda del calendario y luego se muestra el formulario. ¿Cómo lograrlo? Estaba tratando de agregar un nuevo evento enviando el evento keydown al hacer clic en el botón "agregar", pero no funciona (normalmente cuando tengo el foco en kendo-scheduler y presiono "c" en el formulario del teclado). Mi segunda idea fue llama al componente "addEvent", que es un emisor de eventos en la biblioteca de kendo, pero solo captura valores de formulario no reales, sino valores asignados durante la creación del evento. ¿Alguna idea?
Mi código para agregar un nuevo evento:
addNewEvent(component: SchedulerComponent) { const scheduler = document.getElementsByTagName('kendo-scheduler')[0]; scheduler.dispatchEvent( new KeyboardEvent( 'keydown', {key: 'c'} //first solution ) ); component.addEvent({//second solution start: new Date(), //when saving only start and end fields are filled, but only with those values, not with those selected on form end: new Date(), }); }la respuesta fue la segunda solución actualizada, es necesario crear y asignar un nuevo formGroup:
this.form = this.formBuilder.group({ taskId: 0, title: '', description: '', start: new Date(), end: new Date(), startTimezone: null, endTimezone: null, isAllDay: false, recurrenceRule: null, recurrenceException: null }); component.addEvent(this.form);