Plugin de servicio de eventos
El plugin de servicio de eventos aporta capacidades avanzadas de gestión de eventos, como validación, filtrado y consultas complejas.
Instalación
Actualmente, el plugin de servicio de eventos forma parte del paquete @dayflow/core.
import { createEventsPlugin } from '@dayflow/core';Uso
import {
useCalendarApp,
DayFlowCalendar,
createEventsPlugin,
} from '@dayflow/react';
function MyCalendar() {
const eventsPlugin = createEventsPlugin({
enableValidation: true,
maxEventsPerDay: 50,
});
const calendar = useCalendarApp({
views: [
/* your views */
],
plugins: [eventsPlugin],
});
return <DayFlowCalendar calendar={calendar} />;
}<template>
<DayFlowCalendar :calendar="calendar" />
</template>
<script setup>
import { DayFlowCalendar, useCalendarApp } from '@dayflow/vue';
import { createEventsPlugin } from '@dayflow/core';
const eventsPlugin = createEventsPlugin({
enableValidation: true,
maxEventsPerDay: 50,
});
const calendar = useCalendarApp({
views: [
/* your views */
],
plugins: [eventsPlugin],
});
</script>import { Component } from '@angular/core';
import { DayFlowCalendarModule } from '@dayflow/angular';
import { createEventsPlugin } from '@dayflow/core';
@Component({
selector: 'app-root',
standalone: true,
imports: [DayFlowCalendarModule],
template: `<dayflow-calendar [calendar]="calendar"></dayflow-calendar>`
})
export class AppComponent {
eventsPlugin = createEventsPlugin({
enableValidation: true,
maxEventsPerDay: 50,
});
calendar = {
views: [
/* your views */
],
plugins: [this.eventsPlugin]
};
}<script>
import { DayFlowCalendar, useCalendarApp } from '@dayflow/svelte';
import { createEventsPlugin } from '@dayflow/core';
const eventsPlugin = createEventsPlugin({
enableValidation: true,
maxEventsPerDay: 50,
});
const calendar = useCalendarApp({
views: [
/* your views */
],
plugins: [eventsPlugin],
});
</script>
<DayFlowCalendar {calendar} />Configuración
| Propiedad | Tipo | Valor por defecto | Descripción |
|---|---|---|---|
enableAutoRecalculate | boolean | true | Recalcula automáticamente los segmentos de los eventos cuando cambian las fechas. |
enableValidation | boolean | true | Valida los objetos de evento antes de añadirlos o actualizarlos. |
maxEventsPerDay | number | 50 | Número máximo de eventos permitidos por dÃa. |
API del plugin
Accede a EventsService para realizar consultas avanzadas:
const eventsService = calendar.app.getPlugin<EventsService>('events');
// Get events for a specific day
const events = eventsService.getByDate(new Date());
// Filter events
const workEvents = eventsService.filterEvents(
allEvents,
e => e.calendarId === 'work'
);Métodos disponibles
getAll(): obtiene todos los eventos.getById(id): busca un evento concreto.getByDate(date): obtiene los eventos de una fecha concreta.getByDateRange(start, end): obtiene los eventos dentro de un rango.validateEvent(event): devuelve un array con los errores de validación.