forked from gitea/gitea
		
	Disable Create column button while the column name is empty  (#25192)
				
					
				
			 Fixes #25116
This commit is contained in:
		
							parent
							
								
									22a39bb961
								
							
						
					
					
						commit
						2ad2d5a6ce
					
				| @ -34,7 +34,7 @@ | ||||
| 
 | ||||
| 							<div class="text right actions"> | ||||
| 								<button class="ui cancel button">{{$.locale.Tr "settings.cancel"}}</button> | ||||
| 								<button data-url="{{$.RepoLink}}/projects/{{$.Project.ID}}" class="ui primary button" id="new_board_submit">{{$.locale.Tr "repo.projects.column.new_submit"}}</button> | ||||
| 								<button data-url="{{$.RepoLink}}/projects/{{$.Project.ID}}" class="ui primary button disabled" id="new_board_submit">{{$.locale.Tr "repo.projects.column.new_submit"}}</button> | ||||
| 							</div> | ||||
| 						</form> | ||||
| 					</div> | ||||
|  | ||||
| @ -9,6 +9,21 @@ function updateIssueCount(cards) { | ||||
|   parent.getElementsByClassName('board-card-cnt')[0].textContent = cnt; | ||||
| } | ||||
| 
 | ||||
| function createNewBoard(url, boardTitle, projectColorInput) { | ||||
|   $.ajax({ | ||||
|     url, | ||||
|     data: JSON.stringify({title: boardTitle.val(), color: projectColorInput.val()}), | ||||
|     headers: { | ||||
|       'X-Csrf-Token': csrfToken, | ||||
|     }, | ||||
|     contentType: 'application/json', | ||||
|     method: 'POST', | ||||
|   }).done(() => { | ||||
|     boardTitle.closest('form').removeClass('dirty'); | ||||
|     window.location.reload(); | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| function moveIssue({item, from, to, oldIndex}) { | ||||
|   const columnCards = to.getElementsByClassName('board-card'); | ||||
|   updateIssueCount(from); | ||||
| @ -17,8 +32,8 @@ function moveIssue({item, from, to, oldIndex}) { | ||||
|   const columnSorting = { | ||||
|     issues: Array.from(columnCards, (card, i) => ({ | ||||
|       issueID: parseInt($(card).attr('data-issue')), | ||||
|       sorting: i | ||||
|     })) | ||||
|       sorting: i, | ||||
|     })), | ||||
|   }; | ||||
| 
 | ||||
|   $.ajax({ | ||||
| @ -31,7 +46,7 @@ function moveIssue({item, from, to, oldIndex}) { | ||||
|     type: 'POST', | ||||
|     error: () => { | ||||
|       from.insertBefore(item, from.children[oldIndex]); | ||||
|     } | ||||
|     }, | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| @ -168,24 +183,29 @@ export function initRepoProject() { | ||||
|     }); | ||||
|   }); | ||||
| 
 | ||||
|   $('#new_board_submit').on('click', function (e) { | ||||
|   $('#new_board_submit').on('click', (e) => { | ||||
|     e.preventDefault(); | ||||
| 
 | ||||
|     const boardTitle = $('#new_board'); | ||||
|     const projectColorInput = $('#new_board_color_picker'); | ||||
|     if (!boardTitle.val()) { | ||||
|       return; | ||||
|     } | ||||
|     const url = $(this).data('url'); | ||||
|     createNewBoard(url, boardTitle, projectColorInput); | ||||
|   }); | ||||
| 
 | ||||
|     $.ajax({ | ||||
|       url: $(this).data('url'), | ||||
|       data: JSON.stringify({title: boardTitle.val(), color: projectColorInput.val()}), | ||||
|       headers: { | ||||
|         'X-Csrf-Token': csrfToken, | ||||
|       }, | ||||
|       contentType: 'application/json', | ||||
|       method: 'POST', | ||||
|     }).done(() => { | ||||
|       boardTitle.closest('form').removeClass('dirty'); | ||||
|       window.location.reload(); | ||||
|     }); | ||||
|   $('.new-board').on('input keyup', (e) => { | ||||
|     const boardTitle = $('#new_board'); | ||||
|     const projectColorInput = $('#new_board_color_picker'); | ||||
|     if (!boardTitle.val()) { | ||||
|       $('#new_board_submit').addClass('disabled'); | ||||
|       return; | ||||
|     } | ||||
|     $('#new_board_submit').removeClass('disabled'); | ||||
|     if (e.key === 'Enter') { | ||||
|       const url = $(this).data('url'); | ||||
|       createNewBoard(url, boardTitle, projectColorInput); | ||||
|     } | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Punit Inani
						Punit Inani