Add builds UI

This commit is contained in:
Lunny Xiao
2022-05-03 16:03:24 +08:00
committed by Jason Song
parent 7732392a96
commit 5a479bb034
23 changed files with 599 additions and 50 deletions

View File

@@ -0,0 +1,38 @@
<div class="issue list">
{{range .Tasks}}
<li class="item df py-3">
<div class="issue-item-left df">
{{if $.CanWriteIssuesOrPulls}}
<div class="ui checkbox issue-checkbox">
<input type="checkbox" data-issue-id={{.ID}}></input>
<label></label>
</div>
{{end}}
<div class="issue-item-icon">
{{if .IsPending}}
<i class="commit-status circle icon gray"></i>
{{end}}
{{if .IsRunning}}
<i class="commit-status circle icon yellow"></i>
{{end}}
{{if .IsSuccess}}
<i class="commit-status check icon green"></i>
{{end}}
{{if .IsFailed}}
<i class="commit-status warning icon red"></i>
{{end}}
</div>
</div>
<div class="issue-item-main f1 fc df">
<div class="desc issue-item-bottom-row df ac fw my-1">
<a class="index ml-0 mr-2" href="{{if .HTMLURL}}{{.HTMLURL}}{{else}}{{$.Link}}/{{.Index}}{{end}}">
#{{.Index}} {{.Title}}
</a>
{{ $timeStr := TimeSinceUnix .Updated $.i18n.Lang }}
{{$.i18n.Tr "repo.builds.opened_by" $timeStr (.TriggerUser.GetDisplayName | Escape) | Safe}}
</div>
</div>
</li>
{{end}}
</div>
{{template "base/paginate" .}}

View File

@@ -0,0 +1,35 @@
{{template "base/head" .}}
<div class="page-content repository">
{{template "repo/header" .}}
<div class="ui container">
<div id="issue-filters" class="ui stackable grid">
<div class="six wide column">
{{template "repo/builds/openclose" .}}
</div>
</div>
<div id="issue-actions" class="ui stackable grid hide">
<div class="six wide column">
{{template "repo/builds/openclose" .}}
</div>
<div class="ui divider"></div>
{{/* Ten wide does not cope well and makes the columns stack.
This seems to be related to jQuery's hide/show: in fact, switching
issue-actions and issue-filters and having this ten wide will show
this one correctly, but not the other one. */}}
<div class="nine wide right aligned right floated column">
<div class="ui secondary filter stackable menu">
{{if not .Repository.IsArchived}}
<!-- Action Button -->
{{if .IsShowClosed}}
<div class="ui green active basic button issue-action" data-action="open" data-url="{{$.RepoLink}}/issues/status" style="margin-left: auto">{{.i18n.Tr "repo.issues.action_open"}}</div>
{{else}}
<div class="ui red active basic button issue-action" data-action="close" data-url="{{$.RepoLink}}/issues/status" style="margin-left: auto">{{.i18n.Tr "repo.issues.action_close"}}</div>
{{end}}
{{end}}
</div>
</div>
</div>
{{template "repo/builds/build_list" .}}
</div>
</div>
{{template "base/footer" .}}

View File

@@ -0,0 +1,10 @@
<div class="ui compact tiny menu">
<a class="{{if not .IsShowClosed}}active{{end}} item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state=open&labels={{.SelectLabels}}&milestone={{.MilestoneID}}&assignee={{.AssigneeID}}">
{{svg "octicon-issue-opened" 16 "mr-3"}}
{{.i18n.Tr "repo.issues.open_tab" .Repository.NumOpenBuilds}}
</a>
<a class="{{if .IsShowClosed}}active{{end}} item" href="{{$.Link}}?q={{$.Keyword}}&type={{.ViewType}}&sort={{$.SortType}}&state=closed&labels={{.SelectLabels}}&milestone={{.MilestoneID}}&assignee={{.AssigneeID}}">
{{svg "octicon-issue-closed" 16 "mr-3"}}
{{.i18n.Tr "repo.issues.close_tab" .Repository.NumClosedBuilds}}
</a>
</div>

View File

@@ -0,0 +1,16 @@
{{template "base/head" .}}
<div class="page-content repository">
{{template "repo/header" .}}
<div class="ui container">
<div class="sixteen wide column title">
<div class="issue-title" id="issue-title-wrapper">
<h1>
<span id="issue-title">{{RenderIssueTitle $.Context .Build.Title $.RepoLink $.Repository.ComposeMetas}}</span>
<span class="index">#{{.Build.Index}}</span>
</h1>
</div>
</div>
{{template "repo/builds/view_content" .}}
</div>
</div>
{{template "base/footer" .}}

View File

@@ -0,0 +1,8 @@
<div class="ui stackable grid">
{{if .Flash}}
<div class="sixteen wide column">
{{template "base/alert" .}}
</div>
{{end}}
</div>

View File

@@ -183,6 +183,15 @@
</a>
{{end}}
{{ if and (not .UnitBuildsGlobalDisabled) (.Permission.CanRead $.UnitTypeBuilds)}}
<a class="{{if .PageIsBuildList}}active{{end}} item" href="{{.RepoLink}}/builds">
{{svg "octicon-git-builds"}} {{.i18n.Tr "repo.builds"}}
{{if .Repository.NumOpenBuilds}}
<span class="ui blue small label">{{CountFmt .Repository.NumOpenBuilds}}</span>
{{end}}
</a>
{{end}}
{{if .Permission.CanRead $.UnitTypePackages}}
<a href="{{.RepoLink}}/packages" class="{{if .IsPackagesPage}}active{{end}} item">
{{svg "octicon-package"}} {{.locale.Tr "packages.title"}}

View File

@@ -420,6 +420,19 @@
</div>
</div>
{{$isBuildsEnabled := .Repository.UnitEnabled $.UnitTypeBuilds}}
<div class="inline field">
<label>{{.i18n.Tr "repo.builds"}}</label>
{{if .UnitTypeBuilds.UnitGlobalDisabled}}
<div class="ui checkbox tooltip disabled" data-content="{{.i18n.Tr "repo.unit_disabled"}}">
{{else}}
<div class="ui checkbox">
{{end}}
<input class="enable-system" name="enable_builds" type="checkbox" {{if $isBuildsEnabled}}checked{{end}}>
<label>{{.i18n.Tr "repo.settings.builds_desc"}}</label>
</div>
</div>
{{if not .IsMirror}}
<div class="ui divider"></div>
{{$pullRequestEnabled := .Repository.UnitEnabled $.UnitTypePullRequests}}