@@ -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