@@ -75,56 +75,56 @@ async function initRepoProjectSortable(): Promise<void> {
7575}
7676
7777function initRepoProjectColumnEdit ( writableProjectBoard : Element ) : void {
78- const elColumnEditModal = document . querySelector < HTMLFormElement > ( '.ui.modal#project-column-modal-edit' ) ;
79- const elColumnEditForm = elColumnEditModal . querySelector < HTMLFormElement > ( 'form' ) ;
78+ const elModal = document . querySelector < HTMLElement > ( '.ui.modal#project-column-modal-edit' ) ;
79+ const elForm = elModal . querySelector < HTMLFormElement > ( 'form' ) ;
8080
81- const elColumnEditId = elColumnEditForm . querySelector < HTMLInputElement > ( 'input[name="id"]' ) ;
82- const elColumnEditTitle = elColumnEditForm . querySelector < HTMLInputElement > ( 'input[name="title"]' ) ;
83- const elColumnEditColor = elColumnEditForm . querySelector < HTMLInputElement > ( 'input[name="color"]' ) ;
81+ const elColumnId = elForm . querySelector < HTMLInputElement > ( 'input[name="id"]' ) ;
82+ const elColumnTitle = elForm . querySelector < HTMLInputElement > ( 'input[name="title"]' ) ;
83+ const elColumnColor = elForm . querySelector < HTMLInputElement > ( 'input[name="color"]' ) ;
8484
85- const dataAttrColumnId = 'data-modal-project-column-id' ;
86- const dataAttrColumnTitle = 'data-modal-project-column-title-input' ;
87- const dataAttrColumnColor = 'data-modal-project-column-color-input' ;
85+ const attrDataColumnId = 'data-modal-project-column-id' ;
86+ const attrDataColumnTitle = 'data-modal-project-column-title-input' ;
87+ const attrDataColumnColor = 'data-modal-project-column-color-input' ;
8888
8989 // the "new" button is not in project board, so need to query from document
9090 queryElems ( document , '.show-project-column-modal-edit' , ( el ) => {
9191 el . addEventListener ( 'click' , ( ) => {
92- elColumnEditId . value = el . getAttribute ( dataAttrColumnId ) ;
93- elColumnEditTitle . value = el . getAttribute ( dataAttrColumnTitle ) ;
94- elColumnEditColor . value = el . getAttribute ( dataAttrColumnColor ) ;
95- elColumnEditColor . dispatchEvent ( new Event ( 'input' , { bubbles : true } ) ) ; // trigger the color picker
92+ elColumnId . value = el . getAttribute ( attrDataColumnId ) ;
93+ elColumnTitle . value = el . getAttribute ( attrDataColumnTitle ) ;
94+ elColumnColor . value = el . getAttribute ( attrDataColumnColor ) ;
95+ elColumnColor . dispatchEvent ( new Event ( 'input' , { bubbles : true } ) ) ; // trigger the color picker
9696 } ) ;
9797 } ) ;
9898
99- elColumnEditForm . addEventListener ( 'submit' , async ( e ) => {
99+ elForm . addEventListener ( 'submit' , async ( e ) => {
100100 e . preventDefault ( ) ;
101- const columnId = elColumnEditId . value ;
102- const actionBaseLink = elColumnEditForm . getAttribute ( 'data-action-base-link' ) ;
101+ const columnId = elColumnId . value ;
102+ const actionBaseLink = elForm . getAttribute ( 'data-action-base-link' ) ;
103103
104- const formData = new FormData ( elColumnEditForm ) ;
104+ const formData = new FormData ( elForm ) ;
105105 const formLink = columnId ? `${ actionBaseLink } /${ columnId } ` : `${ actionBaseLink } /columns/new` ;
106106 const formMethod = columnId ? 'PUT' : 'POST' ;
107107
108108 try {
109- elColumnEditForm . classList . add ( 'is-loading' ) ;
109+ elForm . classList . add ( 'is-loading' ) ;
110110 await request ( formLink , { method : formMethod , data : formData } ) ;
111111 if ( ! columnId ) {
112112 window . location . reload ( ) ; // newly added column, need to reload the page
113113 return ;
114114 }
115- fomanticQuery ( elColumnEditModal ) . modal ( 'hide' ) ;
115+ fomanticQuery ( elModal ) . modal ( 'hide' ) ;
116116
117117 // update the newly saved column title and color in the project board (to avoid reload)
118- const elEditButton = writableProjectBoard . querySelector < HTMLButtonElement > ( `.show-project-column-modal-edit[${ dataAttrColumnId } ="${ columnId } "]` ) ;
119- elEditButton . setAttribute ( dataAttrColumnTitle , elColumnEditTitle . value ) ;
120- elEditButton . setAttribute ( dataAttrColumnColor , elColumnEditColor . value ) ;
118+ const elEditButton = writableProjectBoard . querySelector < HTMLButtonElement > ( `.show-project-column-modal-edit[${ attrDataColumnId } ="${ columnId } "]` ) ;
119+ elEditButton . setAttribute ( attrDataColumnTitle , elColumnTitle . value ) ;
120+ elEditButton . setAttribute ( attrDataColumnColor , elColumnColor . value ) ;
121121
122122 const elBoardColumn = writableProjectBoard . querySelector < HTMLElement > ( `.project-column[data-id="${ columnId } "]` ) ;
123123 const elBoardColumnTitle = elBoardColumn . querySelector < HTMLElement > ( `.project-column-title-text` ) ;
124- elBoardColumnTitle . textContent = elColumnEditTitle . value ;
125- if ( elColumnEditColor . value ) {
126- const textColor = contrastColor ( elColumnEditColor . value ) ;
127- elBoardColumn . style . setProperty ( 'background' , elColumnEditColor . value , 'important' ) ;
124+ elBoardColumnTitle . textContent = elColumnTitle . value ;
125+ if ( elColumnColor . value ) {
126+ const textColor = contrastColor ( elColumnColor . value ) ;
127+ elBoardColumn . style . setProperty ( 'background' , elColumnColor . value , 'important' ) ;
128128 elBoardColumn . style . setProperty ( 'color' , textColor , 'important' ) ;
129129 queryElemChildren < HTMLElement > ( elBoardColumn , '.divider' , ( divider ) => divider . style . color = textColor ) ;
130130 } else {
@@ -133,7 +133,7 @@ function initRepoProjectColumnEdit(writableProjectBoard: Element): void {
133133 queryElemChildren < HTMLElement > ( elBoardColumn , '.divider' , ( divider ) => divider . style . removeProperty ( 'color' ) ) ;
134134 }
135135 } finally {
136- elColumnEditForm . classList . remove ( 'is-loading' ) ;
136+ elForm . classList . remove ( 'is-loading' ) ;
137137 }
138138 } ) ;
139139}
0 commit comments