mirror of
https://github.com/go-gitea/gitea.git
synced 2026-08-04 00:14:29 +00:00
5b9251150c
Follow https://github.com/go-gitea/gitea/pull/38196#discussion_r3487219492 --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: bircni <bircni@icloud.com>
215 lines
10 KiB
Handlebars
215 lines
10 KiB
Handlebars
{{template "base/head" .}}
|
|
|
|
{{$showCreateWorkflowBadge := Iif .WorkflowBadge true false}}
|
|
{{$showEnableDisableWorkflow := and .AllowDisableOrEnableWorkflow .CurWorkflowIsListed $.CurWorkflow}}
|
|
|
|
<div class="page-content repository actions">
|
|
{{template "repo/header" .}}
|
|
<div class="ui container">
|
|
{{template "base/alert" .}}
|
|
|
|
{{if .HasWorkflowsOrRuns}}
|
|
<div class="flex-container">
|
|
<div class="flex-container-nav">
|
|
<div class="ui fluid vertical menu">
|
|
<a class="item {{if not $.CurWorkflow}}active{{end}}" href="?actor={{$.CurActor}}&status={{$.CurStatus}}&branch={{$.CurBranch}}">{{ctx.Locale.Tr "actions.runs.all_workflows"}}</a>
|
|
{{range .workflows}}
|
|
<a class="item flex-text-block {{if and (eq .Entry.Name $.CurWorkflow) (not $.CurWorkflowScopedRepoID)}}active{{end}}" href="?workflow={{.Entry.Name}}&actor={{$.CurActor}}&status={{$.CurStatus}}&branch={{$.CurBranch}}">
|
|
<span class="gt-ellipsis" data-tooltip-content="{{.DisplayName}}">{{.DisplayName}}</span>
|
|
|
|
{{if .ErrMsg}}
|
|
<span class="flex-text-inline tw-shrink-0" data-tooltip-content="{{.ErrMsg}}">{{svg "octicon-alert" 16 "tw-text-red"}}</span>
|
|
{{end}}
|
|
|
|
{{if $.ActionsConfig.IsWorkflowDisabled .Entry.Name}}
|
|
<div class="ui red label tw-shrink-0">{{ctx.Locale.Tr "disabled"}}</div>
|
|
{{end}}
|
|
</a>
|
|
{{end}}
|
|
{{range .ScopedWorkflowGroups}}
|
|
<details class="item scoped-workflow-group"{{if .IsActive}} open{{end}}>
|
|
<summary>
|
|
<span class="gt-ellipsis tw-min-w-0" data-tooltip-content="{{.SourceRepoName}}">{{if .FromInstance}}{{.SourceRepoName}}{{else}}{{.SourceRepoShortName}}{{end}}</span>
|
|
<span class="ui label">{{if .FromInstance}}{{ctx.Locale.Tr "actions.workflow.scope_global"}}{{else}}{{ctx.Locale.Tr "actions.workflow.scope_owner"}}{{end}}</span>
|
|
</summary>
|
|
{{range .Workflows}}
|
|
<a class="item flex-text-block {{if and (eq .EntryName $.CurWorkflow) (eq .SourceRepoID $.CurWorkflowScopedRepoID)}}active{{end}}" href="?workflow={{.EntryName}}&scoped_workflow_source_repo_id={{.SourceRepoID}}&actor={{$.CurActor}}&status={{$.CurStatus}}&branch={{$.CurBranch}}">
|
|
<span class="gt-ellipsis tw-min-w-0" data-tooltip-content="{{.EntryName}}">{{.DisplayName}}</span>
|
|
{{if .Required}}
|
|
<span class="ui label">{{ctx.Locale.Tr "actions.workflow.required"}}</span>
|
|
{{else if .Disabled}}
|
|
<span class="ui red label">{{ctx.Locale.Tr "disabled"}}</span>
|
|
{{end}}
|
|
</a>
|
|
{{end}}
|
|
</details>
|
|
{{end}}
|
|
{{if .OtherWorkflows}}
|
|
<details class="item"{{if not $.CurWorkflowIsListed}} open{{end}}>
|
|
<summary data-tooltip-content="{{ctx.Locale.Tr "actions.runs.other_workflows_tooltip"}}">
|
|
<span class="flex-text-block">
|
|
{{ctx.Locale.Tr "actions.runs.other_workflows"}}
|
|
<span class="ui label">{{len .OtherWorkflows}}</span>
|
|
</span>
|
|
</summary>
|
|
<div class="menu items-full-width">
|
|
{{range .OtherWorkflows}}
|
|
<a class="item {{if eq . $.CurWorkflow}}active{{end}}" href="?workflow={{.}}&actor={{$.CurActor}}&status={{$.CurStatus}}">
|
|
<span class="gt-ellipsis" data-tooltip-content="{{.}}">{{.}}</span>
|
|
</a>
|
|
{{end}}
|
|
</div>
|
|
</details>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
<div class="flex-container-main">
|
|
<div class="ui top attached header flex-left-right">
|
|
<strong>{{ctx.Locale.TrN .Page.Paginater.Total "actions.runs.workflow_run_count_1" "actions.runs.workflow_run_count_n" .Page.Paginater.Total}}</strong>
|
|
<div class="ui secondary filter menu flex-text-block tw-m-0">
|
|
<!-- Actor -->
|
|
<div class="ui{{if not .Actors}} disabled{{end}} dropdown jump item">
|
|
<span class="text">{{ctx.Locale.Tr "actions.runs.actor"}}</span>
|
|
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
|
|
<div class="menu">
|
|
<div class="ui icon search input">
|
|
<i class="icon">{{svg "octicon-search"}}</i>
|
|
<input type="text" placeholder="{{ctx.Locale.Tr "actions.runs.actor"}}">
|
|
</div>
|
|
<a class="item{{if not $.CurActor}} selected{{end}}" href="?workflow={{$.CurWorkflow}}&scoped_workflow_source_repo_id={{$.CurWorkflowRepoID}}&status={{$.CurStatus}}&branch={{$.CurBranch}}&actor=0">
|
|
{{ctx.Locale.Tr "actions.runs.actors_no_select"}}
|
|
</a>
|
|
{{range .Actors}}
|
|
<a class="item{{if eq .ID $.CurActor}} selected{{end}}" href="?workflow={{$.CurWorkflow}}&scoped_workflow_source_repo_id={{$.CurWorkflowRepoID}}&actor={{.ID}}&status={{$.CurStatus}}&branch={{$.CurBranch}}">
|
|
{{ctx.AvatarUtils.Avatar . 20}} {{.GetDisplayName}}
|
|
</a>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
<!-- Status -->
|
|
<div class="ui dropdown jump item">
|
|
<span class="text">{{ctx.Locale.Tr "actions.runs.status"}}</span>
|
|
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
|
|
<div class="menu">
|
|
<div class="ui icon search input">
|
|
<i class="icon">{{svg "octicon-search"}}</i>
|
|
<input type="text" placeholder="{{ctx.Locale.Tr "actions.runs.status"}}">
|
|
</div>
|
|
<a class="item{{if not $.CurStatus}} selected{{end}}" href="?workflow={{$.CurWorkflow}}&scoped_workflow_source_repo_id={{$.CurWorkflowRepoID}}&actor={{$.CurActor}}&branch={{$.CurBranch}}&status=0">
|
|
{{ctx.Locale.Tr "actions.runs.status_no_select"}}
|
|
</a>
|
|
{{range .StatusInfoList}}
|
|
<a class="item{{if eq .Status $.CurStatus}} selected{{end}}" href="?workflow={{$.CurWorkflow}}&scoped_workflow_source_repo_id={{$.CurWorkflowRepoID}}&actor={{$.CurActor}}&status={{.Status}}&branch={{$.CurBranch}}">
|
|
<span class="flex-text-inline tw-gap-2">
|
|
{{template "repo/icons/action_status" (dict "Status" .StatusName)}}
|
|
{{.DisplayedStatus}}
|
|
</span>
|
|
</a>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
<!-- Branch -->
|
|
<div class="ui{{if not .RunBranches}} disabled{{end}} dropdown jump item" data-test-id="filter-branch">
|
|
<span class="text">{{ctx.Locale.Tr "actions.runs.branch"}}</span>
|
|
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
|
|
<div class="menu">
|
|
<div class="ui icon search input">
|
|
<i class="icon">{{svg "octicon-search"}}</i>
|
|
<input type="text" placeholder="{{ctx.Locale.Tr "actions.runs.branch"}}">
|
|
</div>
|
|
<a class="item{{if not $.CurBranch}} selected{{end}}" href="?workflow={{$.CurWorkflow}}&scoped_workflow_source_repo_id={{$.CurWorkflowRepoID}}&actor={{$.CurActor}}&status={{$.CurStatus}}">
|
|
{{ctx.Locale.Tr "actions.runs.branches_no_select"}}
|
|
</a>
|
|
{{range .RunBranches}}
|
|
<a class="item{{if eq . $.CurBranch}} selected{{end}}" href="?workflow={{$.CurWorkflow}}&scoped_workflow_source_repo_id={{$.CurWorkflowRepoID}}&actor={{$.CurActor}}&status={{$.CurStatus}}&branch={{.}}">
|
|
{{.}}
|
|
</a>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
|
|
{{if or $showCreateWorkflowBadge $showEnableDisableWorkflow}}
|
|
<button class="ui jump dropdown btn interact-bg tw-p-2">
|
|
{{svg "octicon-kebab-horizontal"}}
|
|
<div class="menu">
|
|
{{if $showCreateWorkflowBadge}}
|
|
<div class="item show-modal" data-modal="#workflow-status-badge-modal">
|
|
{{ctx.Locale.Tr "actions.workflow.create_status_badge"}}
|
|
</div>
|
|
{{end}}
|
|
{{if $showEnableDisableWorkflow}}
|
|
<a class="item {{if .CurWorkflowRequired}}disabled{{else}}link-action{{end}}"{{if not .CurWorkflowRequired}} data-url="{{$.Link}}/{{if .CurWorkflowDisabled}}enable{{else}}disable{{end}}?workflow={{$.CurWorkflow}}&scoped_workflow_source_repo_id={{$.CurWorkflowRepoID}}&actor={{.CurActor}}&status={{$.CurStatus}}&branch={{$.CurBranch}}"{{end}}>
|
|
{{if .CurWorkflowRequired}}{{ctx.Locale.Tr "actions.workflow.disable"}}{{else if .CurWorkflowDisabled}}{{ctx.Locale.Tr "actions.workflow.enable"}}{{else}}{{ctx.Locale.Tr "actions.workflow.disable"}}{{end}}
|
|
</a>
|
|
{{end}}
|
|
</div>
|
|
</button>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
|
|
{{if .WorkflowDispatchConfig}}
|
|
{{template "repo/actions/workflow_dispatch" .}}
|
|
{{end}}
|
|
|
|
<div class="ui attached segment">
|
|
{{template "repo/actions/runs_list" .}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{else}}
|
|
{{template "repo/actions/no_workflows" .}}
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
|
|
{{if $showCreateWorkflowBadge}}
|
|
<div id="workflow-status-badge-modal" class="ui tiny modal">
|
|
<div class="header">{{ctx.Locale.Tr "actions.workflow.status_badge"}}</div>
|
|
<div class="content">
|
|
<div class="ui form" data-global-init="initWorkflowBadgeForm"
|
|
data-badge-url="{{.WorkflowBadge.BadgeURL}}"
|
|
data-workflow-url="{{.WorkflowBadge.WorkflowURL}}"
|
|
data-workflow-display-name="{{.WorkflowBadge.DisplayName}}"
|
|
>
|
|
<div class="field">
|
|
<img data-workflow-badge-image src="{{.WorkflowBadge.BadgeURL}}" alt="{{.CurWorkflow}}">
|
|
</div>
|
|
<div class="field">
|
|
<label>{{ctx.Locale.Tr "actions.runs.branch"}}</label>
|
|
<div class="ui selection dropdown">
|
|
<input type="hidden" data-workflow-badge-branch value="{{.Repository.DefaultBranch}}">
|
|
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
|
|
<div class="text">{{.Repository.DefaultBranch}}</div>
|
|
<div class="menu">
|
|
<div class="item selected" data-value="{{.Repository.DefaultBranch}}">{{.Repository.DefaultBranch}}</div>
|
|
{{range $branchName := .RunBranches}}
|
|
{{if ne $branchName $.Repository.DefaultBranch}}
|
|
<div class="item" data-value="{{$branchName}}">{{$branchName}}</div>
|
|
{{end}}
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<label>{{ctx.Locale.Tr "actions.workflow.status_badge_url"}}</label>
|
|
<div class="ui action input">
|
|
<input id="workflow-badge-url" readonly autofocus>
|
|
<button class="ui icon button" data-tooltip-content="{{ctx.Locale.Tr "copy"}}" data-clipboard-target="#workflow-badge-url">{{svg "octicon-copy" 14}}</button>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<label>Markdown</label>
|
|
<textarea id="workflow-badge-markdown" rows="2" readonly></textarea>
|
|
</div>
|
|
<div class="field">
|
|
<label>HTML</label>
|
|
<textarea id="workflow-badge-html" rows="2" readonly></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
|
|
{{template "base/footer" .}}
|