File tree Expand file tree Collapse file tree 3 files changed +40
-11
lines changed Expand file tree Collapse file tree 3 files changed +40
-11
lines changed Original file line number Diff line number Diff line change 3737 </h4>
3838
3939 <div class="ui attached segment">
40- <div class="flex-list">
40+ <div class="flex-list" id="protected-branches-list" data-priority-url="{{$.Repository.Link}}/settings/branches/priority" >
4141 {{range .ProtectedBranches}}
42- <div class="flex-item tw-items-center">
43- <div class="flex-item-main">
44- <div class="flex-item-title">
45- <div class="ui basic primary label">{{.RuleName}}</div>
42+ <div class="item" data-id="{{.ID}}">
43+ <div class="flex-item tw-items-center">
44+ <div class="drag-handle tw-cursor-grab">
45+ {{svg "octicon-grabber" 16}}
46+ </div>
47+ <div class="flex-item-main">
48+ <div class="flex-item-title">
49+ <div class="ui basic primary label">{{.RuleName}}</div>
50+ </div>
51+ </div>
52+ <div class="flex-item-trailing">
53+ <a class="rm ui tiny button" href="{{$.Repository.Link}}/settings/branches/edit?rule_name={{.RuleName}}">{{ctx.Locale.Tr "repo.settings.edit_protected_branch"}}</a>
54+ <button class="ui red tiny button delete-button" data-url="{{$.Repository.Link}}/settings/branches/{{.ID}}/delete" data-id="{{.ID}}">
55+ {{ctx.Locale.Tr "repo.settings.protected_branch.delete_rule"}}
56+ </button>
4657 </div>
47- </div>
48- <div class="flex-item-trailing">
49- <a class="rm ui tiny button" href="{{$.Repository.Link}}/settings/branches/edit?rule_name={{.RuleName}}">{{ctx.Locale.Tr "repo.settings.edit_protected_branch"}}</a>
50- <button class="ui red tiny button delete-button" data-url="{{$.Repository.Link}}/settings/branches/{{.ID}}/delete" data-id="{{.ID}}">
51- {{ctx.Locale.Tr "repo.settings.protected_branch.delete_rule"}}
52- </button>
5358 </div>
5459 </div>
5560 {{else}}
Original file line number Diff line number Diff line change 1+ import { createSortable } from '../modules/sortable.ts' ;
2+ import { POST } from '../modules/fetch.ts' ;
3+
4+ export function initRepoBranchesSettings ( ) {
5+ const protectedBranchesList = document . getElementById ( 'protected-branches-list' ) ;
6+ if ( ! protectedBranchesList ) return ;
7+
8+ createSortable ( protectedBranchesList , {
9+ handle : '.drag-handle' ,
10+ animation : 150 ,
11+ onEnd : async ( evt ) => {
12+ const newOrder = Array . from ( protectedBranchesList . children ) . map ( ( item ) => item . dataset . id ) ;
13+ try {
14+ await POST ( protectedBranchesList . getAttribute ( 'data-priority-url' ) , {
15+ data : newOrder ,
16+ } ) ;
17+ } catch ( err ) {
18+ console . error ( 'Failed to update branch protection rule priority:' , err ) ;
19+ }
20+ } ,
21+ } ) ;
22+ }
Original file line number Diff line number Diff line change @@ -49,6 +49,7 @@ import {
4949 initRepoSettingsCollaboration ,
5050 initRepoSettingSearchTeamBox ,
5151} from './features/repo-settings.ts' ;
52+ import { initRepoBranchesSettings } from './features/repo-settings-branches.ts' ;
5253import { initRepoDiffView } from './features/repo-diff.ts' ;
5354import { initOrgTeamSearchRepoBox , initOrgTeamSettings } from './features/org-team.ts' ;
5455import { initUserAuthWebAuthn , initUserAuthWebAuthnRegister } from './features/user-auth-webauthn.ts' ;
@@ -206,6 +207,7 @@ onDomReady(() => {
206207 initRepoSettingGitHook ,
207208 initRepoSettingSearchTeamBox ,
208209 initRepoSettingsCollaboration ,
210+ initRepoBranchesSettings ,
209211 initRepoTemplateSearch ,
210212 initRepoTopicBar ,
211213 initRepoWikiForm ,
You can’t perform that action at this time.
0 commit comments