Form
Time range
Memilih jam mulai dan jam selesai dengan durasi yang dihitung otomatis
Time range digunakan untuk memilih jam mulai dan jam selesai, misalnya jam lembur atau jam shift. Durasinya dihitung otomatis dalam menit setelah dipotong waktu istirahat.
Mapping ke Engine
| Tipe Variable | Tipe Kolom Report | Format Value | Contoh |
|---|---|---|---|
| String | text | JSON berisi start, end (format HH:mm), minutes, dan overnight | {"start":"18:00","end":"21:30","minutes":180,"overnight":false} |
Keempat key selalu ada. Bila field kosong, nilainya {"start":null,"end":null,"minutes":null,"overnight":false}.
Properties
- Name: Label komponen yang ditampilkan ke pengguna. Mendukung dua bahasa (EN & ID).
- Key: Mengikat komponen ke process variable yang menyimpan nilainya saat form disubmit. Digenerate otomatis dan dapat disesuaikan.
- Time step: Jarak antarpilihan jam:
5 min,10 min,15 min(default), atau30 min. - Allow ending the next day: Bila aktif, jam selesai yang lebih awal dari jam mulai dianggap hari berikutnya, misalnya 22:00 sampai 06:00. Earliest start dan Latest end disembunyikan dan tidak berlaku.
- Earliest start: Jam paling awal yang ditawarkan, dalam kelipatan 30 menit, atau
No limit. - Latest end: Jam paling akhir yang ditawarkan, dalam kelipatan 30 menit, atau
No limit. Bila tidak lebih akhir dari Earliest start, muncul "Latest end must be after the earliest start" dan Save Changes nonaktif. - Unpaid break: Waktu istirahat dalam menit (0-120, kelipatan 5) yang dikurangkan dari durasi.
- Show the duration: Menampilkan badge durasi (misalnya "3 h") di samping jam. Menit tetap tersimpan walau badge disembunyikan.
- Tooltip: Teks bantuan singkat (maks. 255 karakter) yang muncul saat kursor diarahkan ke ikon informasi; diaktifkan lewat toggle.
- Disabled: Menonaktifkan komponen sehingga nilainya hanya bisa dibaca dan tidak dapat diisi.
- Hide If: Ekspresi FEEL untuk menyembunyikan komponen. Komponen disembunyikan ketika ekspresi bernilai
true, dievaluasi ulang saat nilai field lain berubah. - Validation:
- Required: Komponen wajib diisi sebelum form disubmit. Komponen ini tidak memiliki Required If.
- Shortest duration: Durasi minimal dalam menit, dihitung setelah istirahat. Kosong berarti tanpa batas.
- Longest duration: Durasi maksimal dalam menit, dihitung setelah istirahat. Bila lebih kecil dari Shortest duration, muncul "Longest duration is shorter than the shortest duration" dan Save Changes nonaktif.
Perilaku saat diisi
- Jam dipilih dari dua daftar, Start dan End. Daftar hanya berisi kelipatan Time step di dalam rentang Earliest start dan Latest end.
- Daftar End aktif setelah Start dipilih. Setiap pilihan End menampilkan lamanya sebelum istirahat, misalnya "21:30 · 3 h 30 m".
- Durasi tersimpan sudah dikurangi Unpaid break. Contoh: 18:00 sampai 21:30 dengan istirahat 30 menit tersimpan
180menit. - Dengan Allow ending the next day, 22:00 sampai 06:00 dan istirahat 30 menit tersimpan
450menit denganovernight: true, dan tampil badge "Ends next day". - Di bawah field tampil ringkasan aturan, misalnya "Between 06:00 and 22:00 · 30 m break · Allowed: 30 m to 4 h".
- Pesan validasi:
- "<Name> is required": Required aktif dan field kosong, misalnya "Overtime hours is required".
- "Pick a start time" dan "Pick an end time": baru salah satu jam yang dipilih.
- "End must be after start": jam selesai tidak setelah jam mulai.
- "The duration must be at least <durasi>" dan "The duration can’t be more than <durasi>": durasi di luar Shortest duration atau Longest duration.
- Nilai ikut tersimpan di draft dan tampil lagi saat task dibuka ulang.
- Bila Disabled aktif, field tampil sebagai satu kotak, misalnya "18:00 → 21:30" dengan badge durasi, dan nilainya tidak ikut dikirim saat form disubmit.
