{{define "legend"}} {{end}} {{/* One task segment. */}} {{define "seg"}}
  • {{.ID}} {{.Title}}: {{statusLabel .Status}}
  • {{end}} {{/* Segments of one epic. */}} {{define "epicsegs"}}{{if .Tasks}}
      {{range .Tasks}}{{template "seg" .}}{{end}}
    {{end}}{{end}} {{/* One milestone as a lane: lane number, one bar grouped by epic, and a row per epic. */}} {{define "lane"}}{{$mid := .ID}}
    {{.No}}

    {{.Title}}

    {{.Counts.Complete}}/{{.Counts.Total}} task เสร็จ ใน {{len .Epics}} epic{{if .Target}} เป้าหมาย {{thaiDate .Target}}{{end}}
    {{if .Counts.Total}}
    {{range .Epics}}{{template "epicsegs" .}}{{end}}
    {{else}}

    ยังไม่มีงานใน milestone นี้

    {{end}} {{if .Epics}} {{end}}
    {{.Counts.Percent}}%
    {{end}} {{/* Breadcrumb for a task: Milestone, epic, task id. */}} {{define "where"}}Milestone {{.MilestoneNo}} › {{.EpicCode}} {{.EpicTitle}}{{end}} {{/* Breadcrumb trail for the milestone, epic and task pages. */}} {{define "crumbs"}}{{if .}}{{end}}{{end}} {{/* Status mix of a milestone or epic, as text. */}} {{define "countline"}}Reviewed {{.Reviewed}}Done {{.Done}}In Progress {{.InProgress}}Wait for review {{.Review}}Todo {{.Todo}}{{end}} {{define "chip"}}{{statusLabel .}}{{end}} {{/* Attached files: repo paths open in the file viewer in a new tab. */}} {{define "refs"}}{{if .}}{{end}}{{end}} {{/* Review details: state, reviewer, what to check, numbered checklist, decision. Used by the review page and the task page. */}} {{define "reviewbody"}}{{with .Review}}{{$st := .StateOrTodo}}
    สถานะรีวิว
    {{reviewState $st}}
    {{if .Reviewer}}
    ผู้รีวิว
    {{.Reviewer}}
    {{end}} {{if .RequestedAt}}
    ส่งรีวิวเมื่อ
    {{thaiDate .RequestedAt}}
    {{end}} {{if .DecidedAt}}
    ตัดสินเมื่อ
    {{thaiDate .DecidedAt}}{{if .DecidedBy}} โดย {{.DecidedBy}}{{end}}
    {{end}} {{if $.Owner}}
    ผู้ทำ
    {{$.Owner}}
    {{end}}
    {{if .Decision}}

    ผลการรีวิว

    {{md .Decision}}
    {{end}} {{if .Focus}}

    สิ่งที่ต้องตรวจ

    {{md .Focus}}
    {{end}} {{if .History}}
    ประวัติการรีวิว ({{len .History}})
      {{range .History}}
    1. {{reviewState .State}}{{if .By}} โดย {{.By}}{{end}}{{if .At}} {{end}}

      {{if .Decision}}
      {{md .Decision}}
      {{end}}
    2. {{end}}
    {{end}} {{end}} {{end}} {{/* Review form: checklist ticks, Approve / Reject / Hold, result text (Markdown), reviewer name, Save. */}} {{define "reviewform"}}
    {{if .Error}}{{end}} {{if .Items}}
    Checklist สำหรับผู้รีวิว ติ๊กขั้นที่ทำแล้ว
      {{range .Items}}
    1. {{end}}
    {{end}}
    ผลการรีวิว
    {{end}}