Skip to content

Commit ae19b8e

Browse files
committed
wip?
1 parent c83fce9 commit ae19b8e

File tree

3 files changed

+40
-11
lines changed

3 files changed

+40
-11
lines changed

templates/repo/settings/branches.tmpl

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,19 +37,24 @@
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}}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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+
}

web_src/js/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff 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';
5253
import {initRepoDiffView} from './features/repo-diff.ts';
5354
import {initOrgTeamSearchRepoBox, initOrgTeamSettings} from './features/org-team.ts';
5455
import {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,

0 commit comments

Comments
 (0)