| <!-- |
| Copyright 2020 The Go Authors. All rights reserved. |
| Use of this source code is governed by a BSD-style |
| license that can be found in the LICENSE file. |
| --> |
| {{template "layout" .}} |
| |
| {{define "content"}} |
| {{- /* gotype: golang.org/x/build/internal/relui.homeResponse */ -}} |
| <section class="Workflows"> |
| <div class="Workflows-header"> |
| <h2> |
| {{if ne .SiteHeader.NameParam "all"}} |
| {{.SiteHeader.NameParam}} |
| {{else}} |
| Workflows |
| {{end}} |
| </h2> |
| <a href="{{baseLink (printf "/new_workflow?workflow.name=%s" .SiteHeader.NameParam)}}" class="Button">New</a> |
| </div> |
| <h2>Active Workflows</h2> |
| {{template "workflow_list" .ActiveWorkflows}} |
| <h2>Scheduled Workflows</h2> |
| <table class="WorkflowList"> |
| <thead> |
| <tr class="WorkflowList-itemHeader"> |
| <th class="WorkflowList-itemHeaderCol WorkflowList-itemStateHeader">State</th> |
| <th class="WorkflowList-itemHeaderCol WorkflowList-itemName">Name</th> |
| <th class="WorkflowList-itemHeaderCol WorkflowList-itemCreated">Next Run</th> |
| <th class="WorkflowList-itemHeaderCol WorkflowList-itemUpdated">Last Run</th> |
| <th class="WorkflowList-itemHeaderCol WorkflowList-itemActions">Actions</th> |
| </tr> |
| </thead> |
| <tbody> |
| |
| </tbody> |
| {{- /* gotype: golang.org/x/build/internal/relui.ScheduleEntry */ -}} |
| {{range $schedule := .Schedules}} |
| <tr class="WorkflowList-item"> |
| <td class="WorkflowList-itemState"> |
| {{if ne $schedule.LastRun.WorkflowError.String ""}} |
| <img |
| class="WorkflowList-itemStateIcon" |
| alt="{{$schedule.LastRun.WorkflowError.String}}" |
| src="{{baseLink "/static/images/error_red_24dp.svg"}}" /> |
| {{else if $schedule.LastRun.WorkflowFinished.Bool}} |
| <img |
| class="WorkflowList-itemStateIcon" |
| alt="finished" |
| src="{{baseLink "/static/images/check_circle_green_24dp.svg"}}" /> |
| {{else if not $schedule.LastRun.WorkflowCreatedAt.Time.IsZero }} |
| <img |
| class="WorkflowList-itemStateIcon" |
| alt="started" |
| src="{{baseLink "/static/images/pending_yellow_24dp.svg"}}" /> |
| {{else}} |
| <img |
| class="WorkflowList-itemStateIcon" |
| alt="pending" |
| src="{{baseLink "/static/images/pending_grey_24dp.svg"}}" /> |
| {{end}} |
| </td> |
| <td class="WorkflowList-itemName"> |
| {{with $schedule.WorkflowJob}} |
| {{.Schedule.WorkflowName}} |
| {{end}} |
| </td> |
| <td class="WorkflowList-itemCreated"> |
| {{if not $schedule.Next.IsZero}} |
| {{$schedule.Next.UTC.Format "Mon, 02 Jan 2006 15:04:05 MST"}} |
| {{end}} |
| </td> |
| <td class="WorkflowList-itemUpdated"> |
| {{if not $schedule.LastRun.WorkflowCreatedAt.Time.IsZero }} |
| <a href="{{baseLink "/workflows/" $schedule.LastRun.WorkflowID.String}}"> |
| {{$schedule.LastRun.WorkflowCreatedAt.Time.UTC.Format "Mon, 02 Jan 2006 15:04:05 MST"}} |
| </a> |
| {{else if not $schedule.Prev.IsZero}} |
| {{$schedule.Prev.UTC.Format "Mon, 02 Jan 2006 15:04:05 MST"}} |
| {{end}} |
| </td> |
| <td class="WorkflowList-itemAction"> |
| <div class="WorkflowList-deleteSchedule"> |
| <form action="{{baseLink (printf "/schedules/%d/delete" $schedule.WorkflowJob.Schedule.ID)}}" method="post"> |
| <input type="hidden" name="schedule.id" value="{{$schedule.WorkflowJob.Schedule.ID}}" /> |
| <input class="Button Button--small" |
| name="schedule.delete" |
| type="submit" |
| value="Delete" |
| onclick="return this.form.reportValidity() && confirm('This will cancel and permanently delete the schedule.\n\nReady to proceed?')" /> |
| </form> |
| </div> |
| </td> |
| </tr> |
| {{else}} |
| <tr> |
| <td>None</td> |
| </tr> |
| {{end}} |
| </table> |
| <h2>Completed Workflows</h2> |
| {{template "workflow_list" .InactiveWorkflows}} |
| </section> |
| {{end}} |
| |
| {{- /* gotype: []golang.org/x/build/internal/relui/db.Workflow */ -}} |
| {{define "workflow_list"}} |
| <table class="WorkflowList"> |
| <thead> |
| <tr class="WorkflowList-itemHeader"> |
| <th class="WorkflowList-itemHeaderCol WorkflowList-itemStateHeader">State</th> |
| <th class="WorkflowList-itemHeaderCol WorkflowList-itemName">Name</th> |
| <th class="WorkflowList-itemHeaderCol WorkflowList-itemCreated">Created</th> |
| <th class="WorkflowList-itemHeaderCol WorkflowList-itemUpdated">Updated</th> |
| </tr> |
| </thead> |
| <tbody> |
| {{- /* gotype: golang.org/x/build/internal/relui/db.Workflow */ -}} |
| {{range .}} |
| <tr class="WorkflowList-item"> |
| <td class="WorkflowList-itemState"> |
| {{if .Error}} |
| <img |
| class="WorkflowList-itemStateIcon" |
| alt="error" |
| src="{{baseLink "/static/images/error_red_24dp.svg"}}" /> |
| {{else if .Finished}} |
| <img |
| class="WorkflowList-itemStateIcon" |
| alt="finished" |
| src="{{baseLink "/static/images/check_circle_green_24dp.svg"}}" /> |
| {{else}} |
| <img |
| class="WorkflowList-itemStateIcon" |
| alt="started" |
| src="{{baseLink "/static/images/pending_yellow_24dp.svg"}}" /> |
| {{end}} |
| </td> |
| <td class="WorkflowList-itemName"> |
| <a href="{{baseLink "/workflows/" .ID.String}}">{{.Name.String}}</a> |
| </td> |
| <td class="WorkflowList-itemCreated"> |
| {{.CreatedAt.UTC.Format "Mon, 02 Jan 2006 15:04:05 MST"}} |
| </td> |
| <td class="WorkflowList-itemUpdated"> |
| {{.UpdatedAt.UTC.Format "Mon, 02 Jan 2006 15:04:05 MST"}} |
| </td> |
| </tr> |
| {{else}} |
| <tr> |
| <td>None</td> |
| </tr> |
| {{end}} |
| </tbody> |
| </table> |
| {{end}} |