2022-01-29 00:00:11 +03:00
import $ from 'jquery' ;
2023-05-05 01:54:38 +03:00
import { toggleElem } from '../utils/dom.js' ;
2022-01-29 00:00:11 +03:00
2021-10-16 20:28:04 +03:00
export function initRepoBranchButton ( ) {
2023-04-30 18:08:51 +03:00
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)
2022-02-09 23:28:55 +03:00
$ ( '.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' ) ;
2021-10-16 20:28:04 +03:00
} ) ;
}
2023-04-30 18:08:51 +03:00
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 ) ;
2023-05-05 01:54:38 +03:00
// 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' ) ;
2023-04-30 18:08:51 +03:00
const $text = $modal . find ( '[data-rename-branch-to]' ) ;
$text . text ( $text . attr ( 'data-rename-branch-to' ) . replace ( '%s' , oldBranchName ) ) ;
} ) ;
}