43 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
| import $ from 'jquery';
 | |
| import {toggleElem} from '../utils/dom.js';
 | |
| 
 | |
| export function initRepoBranchButton() {
 | |
|   initRepoCreateBranchButton();
 | |
|   initRepoRenameBranchButton();
 | |
| }
 | |
| 
 | |
| function initRepoCreateBranchButton() {
 | |
|   // 2 pages share this code, one is the branch list page, the other is the commit view page: create branch/tag from current commit (dirty code)
 | |
|   $('.show-create-branch-modal').on('click', function () {
 | |
|     let modalFormName = $(this).attr('data-modal-form');
 | |
|     if (!modalFormName) {
 | |
|       modalFormName = '#create-branch-form';
 | |
|     }
 | |
|     $(modalFormName)[0].action = $(modalFormName).attr('data-base-action') + $(this).attr('data-branch-from-urlcomponent');
 | |
|     let fromSpanName = $(this).attr('data-modal-from-span');
 | |
|     if (!fromSpanName) {
 | |
|       fromSpanName = '#modal-create-branch-from-span';
 | |
|     }
 | |
| 
 | |
|     $(fromSpanName).text($(this).attr('data-branch-from'));
 | |
|     $($(this).attr('data-modal')).modal('show');
 | |
|   });
 | |
| }
 | |
| 
 | |
| function initRepoRenameBranchButton() {
 | |
|   $('.show-rename-branch-modal').on('click', function () {
 | |
|     const target = $(this).attr('data-modal');
 | |
|     const $modal = $(target);
 | |
| 
 | |
|     const oldBranchName = $(this).attr('data-old-branch-name');
 | |
|     $modal.find('input[name=from]').val(oldBranchName);
 | |
| 
 | |
|     // display the warning that the branch which is chosen is the default branch
 | |
|     const $warn = $modal.find('.default-branch-warning');
 | |
|     toggleElem($warn, $(this).attr('data-is-default-branch') === 'true');
 | |
| 
 | |
|     const $text = $modal.find('[data-rename-branch-to]');
 | |
|     $text.text($text.attr('data-rename-branch-to').replace('%s', oldBranchName));
 | |
|   });
 | |
| }
 |