golang.org/x/build@v0.0.0-20240506185731-218518f32b70/internal/relui/templates/home.html (about)

     1  <!--
     2      Copyright 2020 The Go Authors. All rights reserved.
     3      Use of this source code is governed by a BSD-style
     4      license that can be found in the LICENSE file.
     5  -->
     6  {{template "layout" .}}
     7  
     8  {{define "content"}}
     9    {{- /* gotype: golang.org/x/build/internal/relui.homeResponse */ -}}
    10    <section class="Workflows">
    11      <div class="Workflows-header">
    12        <h2>
    13        {{if ne .SiteHeader.NameParam "all"}}
    14          {{.SiteHeader.NameParam}}
    15        {{else}}
    16          Workflows
    17        {{end}}
    18        </h2>
    19        <a href="{{baseLink (printf "/new_workflow?workflow.name=%s" .SiteHeader.NameParam)}}" class="Button">New</a>
    20      </div>
    21      <h2>Active Workflows</h2>
    22      {{template "workflow_list" .ActiveWorkflows}}
    23      <h2>Scheduled Workflows</h2>
    24      <table class="WorkflowList">
    25        <thead>
    26        <tr class="WorkflowList-itemHeader">
    27          <th class="WorkflowList-itemHeaderCol WorkflowList-itemStateHeader">State</th>
    28          <th class="WorkflowList-itemHeaderCol WorkflowList-itemName">Name</th>
    29          <th class="WorkflowList-itemHeaderCol WorkflowList-itemCreated">Next Run</th>
    30          <th class="WorkflowList-itemHeaderCol WorkflowList-itemUpdated">Last Run</th>
    31          <th class="WorkflowList-itemHeaderCol WorkflowList-itemActions">Actions</th>
    32        </tr>
    33        </thead>
    34        <tbody>
    35  
    36        </tbody>
    37        {{- /* gotype: golang.org/x/build/internal/relui.ScheduleEntry */ -}}
    38        {{range $schedule := .Schedules}}
    39          <tr class="WorkflowList-item">
    40            <td class="WorkflowList-itemState">
    41                {{if ne $schedule.LastRun.WorkflowError.String ""}}
    42                  <img
    43                          class="WorkflowList-itemStateIcon"
    44                          alt="{{$schedule.LastRun.WorkflowError.String}}"
    45                          src="{{baseLink "/static/images/error_red_24dp.svg"}}" />
    46                {{else if $schedule.LastRun.WorkflowFinished.Bool}}
    47                  <img
    48                          class="WorkflowList-itemStateIcon"
    49                          alt="finished"
    50                          src="{{baseLink "/static/images/check_circle_green_24dp.svg"}}" />
    51                {{else if not $schedule.LastRun.WorkflowCreatedAt.Time.IsZero }}
    52                  <img
    53                          class="WorkflowList-itemStateIcon"
    54                          alt="started"
    55                          src="{{baseLink "/static/images/pending_yellow_24dp.svg"}}" />
    56                {{else}}
    57                  <img
    58                          class="WorkflowList-itemStateIcon"
    59                          alt="pending"
    60                          src="{{baseLink "/static/images/pending_grey_24dp.svg"}}" />
    61                {{end}}
    62            </td>
    63            <td class="WorkflowList-itemName">
    64              {{with $schedule.WorkflowJob}}
    65                {{.Schedule.WorkflowName}}
    66              {{end}}
    67            </td>
    68            <td class="WorkflowList-itemCreated">
    69              {{if not $schedule.Next.IsZero}}
    70                {{$schedule.Next.UTC.Format "Mon, 02 Jan 2006 15:04:05 MST"}}
    71              {{end}}
    72            </td>
    73            <td class="WorkflowList-itemUpdated">
    74              {{if not $schedule.LastRun.WorkflowCreatedAt.Time.IsZero }}
    75                <a href="{{baseLink "/workflows/" $schedule.LastRun.WorkflowID.String}}">
    76                  {{$schedule.LastRun.WorkflowCreatedAt.Time.UTC.Format "Mon, 02 Jan 2006 15:04:05 MST"}}
    77                </a>
    78              {{else if not $schedule.Prev.IsZero}}
    79                {{$schedule.Prev.UTC.Format "Mon, 02 Jan 2006 15:04:05 MST"}}
    80              {{end}}
    81            </td>
    82            <td class="WorkflowList-itemAction">
    83              <div class="WorkflowList-deleteSchedule">
    84                <form action="{{baseLink (printf "/schedules/%d/delete" $schedule.WorkflowJob.Schedule.ID)}}" method="post">
    85                  <input type="hidden" name="schedule.id" value="{{$schedule.WorkflowJob.Schedule.ID}}" />
    86                  <input class="Button Button--small"
    87                         name="schedule.delete"
    88                         type="submit"
    89                         value="Delete"
    90                         onclick="return this.form.reportValidity() && confirm('This will cancel and permanently delete the schedule.\n\nReady to proceed?')" />
    91                </form>
    92              </div>
    93            </td>
    94          </tr>
    95        {{else}}
    96          <tr>
    97            <td>None</td>
    98          </tr>
    99        {{end}}
   100      </table>
   101      <h2>Completed Workflows</h2>
   102      {{template "workflow_list" .InactiveWorkflows}}
   103    </section>
   104  {{end}}
   105  
   106  {{- /* gotype: []golang.org/x/build/internal/relui/db.Workflow */ -}}
   107  {{define "workflow_list"}}
   108    <table class="WorkflowList">
   109      <thead>
   110        <tr class="WorkflowList-itemHeader">
   111          <th class="WorkflowList-itemHeaderCol WorkflowList-itemStateHeader">State</th>
   112          <th class="WorkflowList-itemHeaderCol WorkflowList-itemName">Name</th>
   113          <th class="WorkflowList-itemHeaderCol WorkflowList-itemCreated">Created</th>
   114          <th class="WorkflowList-itemHeaderCol WorkflowList-itemUpdated">Updated</th>
   115        </tr>
   116      </thead>
   117      <tbody>
   118        {{- /* gotype: golang.org/x/build/internal/relui/db.Workflow */ -}}
   119        {{range .}}
   120          <tr class="WorkflowList-item">
   121            <td class="WorkflowList-itemState">
   122              {{if .Error}}
   123                <img
   124                  class="WorkflowList-itemStateIcon"
   125                  alt="error"
   126                  src="{{baseLink "/static/images/error_red_24dp.svg"}}" />
   127              {{else if .Finished}}
   128                <img
   129                  class="WorkflowList-itemStateIcon"
   130                  alt="finished"
   131                  src="{{baseLink "/static/images/check_circle_green_24dp.svg"}}" />
   132              {{else}}
   133                <img
   134                  class="WorkflowList-itemStateIcon"
   135                  alt="started"
   136                  src="{{baseLink "/static/images/pending_yellow_24dp.svg"}}" />
   137              {{end}}
   138            </td>
   139            <td class="WorkflowList-itemName">
   140              <a href="{{baseLink "/workflows/" .ID.String}}">{{.Name.String}}</a>
   141            </td>
   142            <td class="WorkflowList-itemCreated">
   143              {{.CreatedAt.UTC.Format "Mon, 02 Jan 2006 15:04:05 MST"}}
   144            </td>
   145            <td class="WorkflowList-itemUpdated">
   146              {{.UpdatedAt.UTC.Format "Mon, 02 Jan 2006 15:04:05 MST"}}
   147            </td>
   148          </tr>
   149        {{else}}
   150          <tr>
   151            <td>None</td>
   152          </tr>
   153        {{end}}
   154      </tbody>
   155    </table>
   156  {{end}}