Schedule

El componente ESchedule organiza eventos temporales en vistas de calendario y recursos. Combina navegación por fecha, espacios seleccionables, intervalos interactivos y renderizado extensible de eventos para flujos de planificación.

Uso y diseño

Empieza con una fecha mediante v-model y proporciona los espacios y eventos que se mostrarán. Cada evento se vincula a un espacio mediante entityId; el schedule se encarga de la navegación y la distribución temporal.

Week
Estudio A
mon
tue
Wed
thu
fri
sat
son
09:00
10:00
11:00
12:00
13:00
14:00

Sin barra de herramientas

Usa la prop hide-toolbar cuando la navegación y los controles del schedule se proporcionen desde otra parte de la interfaz.

mon
tue
Wed
thu
fri
sat
son
09:00
10:00
11:00
12:00
13:00
14:00

Slots

Personaliza regiones específicas sin reemplazar el layout del schedule. #toolbar controla la navegación, #event controla el contenido de eventos y #empty-slot controla los intervalos disponibles.

Slot toolbar

Crea navegación de periodos personalizada con las etiquetas localizadas y los callbacks expuestos por el scope del slot.

Monday, Aug 3
mon3
09:00
10:00
11:00
12:00
13:00
14:00

Slot event

Cambia la jerarquía de información dentro de los eventos y conserva un control interactivo real con texto de apoyo legible.

Day
mon3
09:00
10:00
11:00
12:00
13:00
14:00

Slot empty-slot

Convierte los intervalos disponibles en acciones explícitas de creación. Mantén cada reemplazo accesible por teclado y proporciona un nombre accesible significativo.

Elige un intervalo disponible para crear un evento.

Day
mon3
09:00
10:00
11:00
12:00
13:00
14:00

Integración

Combina ESchedule con EDialog para crear y editar eventos en contexto. Los intervalos vacíos proporcionan la fecha y hora iniciales; los eventos existentes proporcionan el modelo que se actualizará.

Day
mon3
09:00
10:00
11:00
12:00
13:00
14:00

Accesibilidad

El schedule expone una región con nombre y renderiza los eventos e intervalos vacíos predeterminados como botones nativos. Conserva esa semántica de teclado en slots personalizados, anuncia los resultados del flujo y permite que los dialogs restauren el foco al control de origen.

Usa Tab para alcanzar eventos e intervalos disponibles; después pulsa Enter o Espacio para activarlos.

Day
mon3
09:00
10:00
11:00
12:00
13:00
14:00

Referencia API

Consulta las props, los slots y los eventos emitidos públicos verificados de ESchedule.

Props de ESchedule

PropiedadTipoPor defecto
modelValueDaterequired

Define la fecha base de la vista activa.

viewScheduleViewScheduleView.Calendar

Selecciona el modo calendario o recursos.

scaleCalendarScaleCalendarScale.Day

Selecciona la escala diaria o semanal mientras el modo calendario está activo.

spacesScheduleSpace[][]

Proporciona los recursos o espacios disponibles en el schedule.

selectedSpaceScheduleSpace | undefinedundefined

Define el espacio activo utilizado para filtrar eventos del calendario.

eventsScheduleEvent[][]

Proporciona los eventos renderizados en el rango visible de fechas y espacios.

resourceColumnsstring | numberundefined

Limita las columnas de recursos visibles por página.

loadingbooleanfalse

Marca el schedule como ocupado, desactiva la interacción y muestra progreso lineal.

colorstring'primary'

Define el color semántico de los controles del schedule.

lngsuportedLngglobal locale

Define el locale utilizado por las etiquetas y los formatters del schedule.

rowHeightstring | number'97'

Define la altura visual de cada intervalo temporal.

stickyTopHeaderstring | number0

Define el offset superior del encabezado sticky del schedule.

stepnumber3600

Define la duración de cada intervalo en segundos.

startnumber0

Define la hora inicial visible en segundos desde medianoche.

endnumber86400

Define la hora final visible en segundos desde medianoche.

elevationElevationLevelundefined

Aplica un preset de elevación del framework al contenedor del schedule.

eventElevationElevationLevel | 'none''md'

Aplica un preset de elevación del framework a los wrappers de eventos o lo elimina explícitamente.

Slots

PropiedadTipoPor defecto
toolbarScheduleToolbarSlotProps-

Reemplaza la toolbar superior y expone estado localizado junto con callbacks de navegación.

event{ event: ScheduleEvent }-

Reemplaza el contenido del evento y expone el evento actual.

empty-slot{ data: ScheduleSlotEvent }-

Reemplaza un intervalo disponible y expone sus datos resueltos de tiempo y espacio.

Eventos

PropiedadTipoPor defecto
update:modelValueDate-

Se emite cuando la navegación del schedule cambia la fecha base.

update:viewScheduleView-

Se emite al cambiar entre los modos calendario y recursos.

update:scaleCalendarScale-

Se emite al cambiar entre las escalas diaria y semanal.

update:selected-spaceScheduleSpace | undefined-

Se emite cuando cambia el espacio activo.

click:header{ view, scale?, date, entityId? }-

Se emite al activar un encabezado de día o recurso.

click:event{ data: ScheduleEvent, nativeEvent: MouseEvent }-

Emite el evento seleccionado y el evento click nativo.

click:empty-slot{ data: ScheduleSlotEvent, nativeEvent: MouseEvent }-

Emite el intervalo vacío seleccionado y el evento click nativo.

Navegacion

Continua con el tema anterior o siguiente.