Skip to content

Commit 7502ec4

Browse files
committed
split init function
1 parent 5d24808 commit 7502ec4

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

web_src/js/features/repo-projects.ts

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ async function initRepoProjectSortable(): Promise<void> {
6363
});
6464

6565
for (const boardColumn of boardColumns) {
66-
const boardCardList = boardColumn.querySelectorAll('.cards')[0];
66+
const boardCardList = boardColumn.querySelector('.cards');
6767
createSortable(boardCardList, {
6868
group: 'shared',
6969
onAdd: moveIssue, // eslint-disable-line @typescript-eslint/no-misused-promises
@@ -74,12 +74,7 @@ async function initRepoProjectSortable(): Promise<void> {
7474
}
7575
}
7676

77-
export function initRepoProject(): void {
78-
const writableProjectBoard = document.querySelector('#project-board[data-project-borad-writable="true"]');
79-
if (!writableProjectBoard) return;
80-
81-
initRepoProjectSortable(); // no await
82-
77+
function initRepoProjectColumnEdit(writableProjectBoard: Element): void {
8378
const elColumnEditModal = document.querySelector<HTMLFormElement>('.ui.modal#project-column-modal-edit');
8479
const elColumnEditForm = elColumnEditModal.querySelector<HTMLFormElement>('form');
8580

@@ -114,9 +109,10 @@ export function initRepoProject(): void {
114109
elColumnEditForm.classList.add('is-loading');
115110
await request(formLink, {method: formMethod, data: formData});
116111
if (!columnId) {
117-
window.location.reload();
112+
window.location.reload(); // newly added column, need to reload the page
118113
return;
119114
}
115+
fomanticQuery(elColumnEditModal).modal('hide');
120116

121117
// update the newly saved column title and color in the project board (to avoid reload)
122118
const elEditButton = writableProjectBoard.querySelector<HTMLButtonElement>(`.show-project-column-modal-edit[${dataAttrColumnId}="${columnId}"]`);
@@ -136,9 +132,16 @@ export function initRepoProject(): void {
136132
elBoardColumn.style.removeProperty('color');
137133
queryElemChildren<HTMLElement>(elBoardColumn, '.divider', (divider) => divider.style.removeProperty('color'));
138134
}
139-
fomanticQuery(elColumnEditModal).modal('hide');
140135
} finally {
141136
elColumnEditForm.classList.remove('is-loading');
142137
}
143138
});
144139
}
140+
141+
export function initRepoProject(): void {
142+
const writableProjectBoard = document.querySelector('#project-board[data-project-borad-writable="true"]');
143+
if (!writableProjectBoard) return;
144+
145+
initRepoProjectSortable(); // no await
146+
initRepoProjectColumnEdit(writableProjectBoard);
147+
}

0 commit comments

Comments
 (0)