Skip to content

Calendar

<!-- generated:meta -->

Grupui
Planeresource
Spec structCalendarSpec

<!-- /generated:meta -->

Kapan Memakai

kind: Calendar adalah view kalender atas entity yang punya field tanggal/waktu — untuk penjadwalan (appointment, delivery planning).

Kapan memakai Calendar:

  • Penjadwalan berbasis tanggal (janji temu, pengiriman)
  • Resource scheduling (dokter/ruangan per lajur)

Kapan TIDAK pakai Calendar:

  • List tanggal biasa → kind: Table

Sumber kontrak: docs/spec/frontend/06-page-kinds.md §5.

Contoh Manifest

yaml
apiVersion: formspec.dev/v1
kind: Calendar
metadata: { name: appointment-calendar, module: clinic }
spec:
  entity: clinic.appointment
  date_field: scheduled_at
  views: [month, week, day, resource]

Atribut

<!-- generated:attributes -->

AtributTipeWajibContohDeskripsi
publicbooleantrueIf true (default), a route /module/calendar/<name> is auto-generated.
entitystringclinic.appointment
date_fieldstringscheduled_at
end_fieldstring
title_fieldstring
resource_fieldstring
color_fieldstring
views[]stringmonth, week, day, resource (default month)
realtimeboolean

<!-- /generated:attributes -->

Gotchas

  • Recurrence WAJIB berformat RRULE (RFC 5545) — bukan grammar sendiri, demi interop .ics.
  • Expansion saat baca/render (bukan materialized rows) — murni komputasi tampilan.
  • Drag reschedule = action update ubah date_field; validasi server otoritas; record submitted immutable tak bisa di-drag.
  • Recurrence BUKAN recurring job — itu domain module resmi formspec/scheduler.
  • Exception per-instance masih Open — Calendar v1 tampilkan seluruh occurrence tanpa exception.
  • Cross-ref: docs/spec/frontend/06-page-kinds.md §5 · ai_skills/formspec-kinds

Standar terbuka (CC0) dengan implementasi referensi.