F1 component kit/Forms and editing/Cron / schedule builderPhone

Cron / schedule builder

Missing · new21 · cron-builder

WeChat scheduled messages: presets plus the five cron fields, a human preview in Asia/Shanghai and the next three runs. The server validates; the client only previews.

Covers: M12. Exports: CronBuilder.

Whole page:CompactComfortableLaravel · navyDTC · midnight green
AnatomyStatesDensityEN · 中文Edge casesContract

Anatomy

The component as it sits in the product: English, compact, real data shapes.

Minute0
Hour9
Day*
Month*
Weekday1-5
Weekdays at 09:00 · Asia/ShanghaiNext: Mon 20 Oct 09:00 · Tue 21 Oct 09:00 · Wed 22 Oct 09:00
5-field cron, Asia/Shanghai, validated server-side.

States

5 states, left to right, top to bottom. A mock poll never finishes, so each state is drawn on purpose.

weekdays preset
Minute0
Hour9
Day*
Month*
Weekday1-5
Weekdays at 09:00 · Asia/ShanghaiNext: Mon 20 Oct 09:00 · Tue 21 Oct 09:00 · Wed 22 Oct 09:00
5-field cron, Asia/Shanghai, validated server-side.
custom
Minute30
Hour8,14
Day*
Month*
Weekday*
Every day at 08:30 and 14:30 · Asia/ShanghaiNext: today 14:30 · tomorrow 08:30 · tomorrow 14:30
5-field cron, Asia/Shanghai, validated server-side.
invalid hour
Minute0
Hour25
Day*
Month*
Weekday1-5
Hour must be 0–23. The server rejects it too (422).
5-field cron, Asia/Shanghai, validated server-side.
paused
Minute0
Hour9
Day*
Month*
Weekday1-5
Weekdays at 09:00 · Asia/ShanghaiPaused: no next runs
5-field cron, Asia/Shanghai, validated server-side.
preview loading
Minute0
Hour9
Day*
Month*
Weekday1-5
5-field cron, Asia/Shanghai, validated server-side.

Density

Compact (2b ultra, the default) and comfortable, side by side. Same markup, only the density tokens change.

compact · default · data-density=compact
Minute0
Hour9
Day*
Month*
Weekday1-5
Weekdays at 09:00 · Asia/ShanghaiNext: Mon 20 Oct 09:00 · Tue 21 Oct 09:00 · Wed 22 Oct 09:00
5-field cron, Asia/Shanghai, validated server-side.
comfortable · data-density=comfortable
Minute0
Hour9
Day*
Month*
Weekday1-5
Weekdays at 09:00 · Asia/ShanghaiNext: Mon 20 Oct 09:00 · Tue 21 Oct 09:00 · Wed 22 Oct 09:00
5-field cron, Asia/Shanghai, validated server-side.

English · 中文

Staff pick en or cn (T001 Q25). Labels arrive localised; CJK falls back to PingFang SC / Noto Sans SC.

en
Minute0
Hour9
Day*
Month*
Weekday1-5
Weekdays at 09:00 · Asia/ShanghaiNext: Mon 20 Oct 09:00 · Tue 21 Oct 09:00 · Wed 22 Oct 09:00
5-field cron, Asia/Shanghai, validated server-side.
中文 · lang=zh-Hans
分0
时9
日*
月*
周1-5
工作日 09:00 · Asia/Shanghai下次:10月20日周一 09:00 · 10月21日 09:00 · 10月22日 09:00
5 段 cron,Asia/Shanghai,服务器校验。

Long string · permission denied

The long-string case (PL-063) and what a role without the permission sees (the server decides; T003).

long string
Minute0,15,30,45
Hour8-11,13-17
Day1-7,15-21
Month1,4,7,10
Weekday1-5
Every 15 minutes, 08:00–11:45 and 13:00–17:45, on days 1–7 and 15–21 of January, April, July and October, Monday to Friday · Asia/ShanghaiNext: Mon 20 Oct 09:00 · Tue 21 Oct 09:00 · Wed 22 Oct 09:00
5-field cron, Asia/Shanghai, validated server-side.
permission denied
Minute0
Hour9
Day*
Month*
Weekday1-5
Weekdays at 09:00 · Asia/ShanghaiNext: Mon 20 Oct 09:00 · Tue 21 Oct 09:00 · Wed 22 Oct 09:00
Read only · needs manage wechat
5-field cron, Asia/Shanghai, validated server-side.

Both apps

One @rj/admin-kit component, two themes: the Laravel admin (navy pinned) and the DTC admin (kit v4 Midnight green), by token swap only.

Laravel admin · :root
Minute0
Hour9
Day*
Month*
Weekday1-5
Weekdays at 09:00 · Asia/ShanghaiNext: Mon 20 Oct 09:00 · Tue 21 Oct 09:00 · Wed 22 Oct 09:00
5-field cron, Asia/Shanghai, validated server-side.
DTC admin · data-theme=dtc
Minute0
Hour9
Day*
Month*
Weekday1-5
Weekdays at 09:00 · Asia/ShanghaiNext: Mon 20 Oct 09:00 · Tue 21 Oct 09:00 · Wed 22 Oct 09:00
5-field cron, Asia/Shanghai, validated server-side.

Contract

The @rj/admin-kit API for this family. Mirrored in CONTRACT.md.

Export
CronBuilder · @rj/admin-kit
Props
value (5-field) · timezone Asia/Shanghai · presets
States
preset · custom · invalid · paused · read-only
shadcn / Radix
ToggleGroup + Input (mono)
Package underneath
cronstrue · cron-parser
Accessibility
each field labelled; the human preview is a live region
API operations
admin.wechat.messages.store / .update / .toggle · admin.schedule-monitor.index
Phone variant
read + pause only