@ -28,40 +28,38 @@ function selectRange($linesEls, $selectionEndEl, $selectionStartEls) {
$linesEls . closest ( 'tr' ) . removeClass ( 'active' ) ;
$linesEls . closest ( 'tr' ) . removeClass ( 'active' ) ;
// add hashchange to permalink
// add hashchange to permalink
const $refInNewIssue = $ ( 'a.ref-in-new-issue' ) ;
const refInNewIssue = document . querySelector ( 'a.ref-in-new-issue' ) ;
const $copyPermalink = $ ( 'a.copy-line-permalink' ) ;
const copyPermalink = document . querySelector ( 'a.copy-line-permalink' ) ;
const $viewGitBlame = $ ( 'a.view_git_blame' ) ;
const viewGitBlame = document . querySelector ( 'a.view_git_blame' ) ;
const updateIssueHref = function ( anchor ) {
const updateIssueHref = function ( anchor ) {
if ( ! $refInNewIssue . length ) {
if ( ! refInNewIssue ) return ;
return ;
const urlIssueNew = refInNewIssue . getAttribute ( 'data-url-issue-new' ) ;
}
const urlParamBodyLink = refInNewIssue . getAttribute ( 'data-url-param-body-link' ) ;
const urlIssueNew = $refInNewIssue . attr ( 'data-url-issue-new' ) ;
const urlParamBodyLink = $refInNewIssue . attr ( 'data-url-param-body-link' ) ;
const issueContent = ` ${ toAbsoluteUrl ( urlParamBodyLink ) } # ${ anchor } ` ; // the default content for issue body
const issueContent = ` ${ toAbsoluteUrl ( urlParamBodyLink ) } # ${ anchor } ` ; // the default content for issue body
$refInNewIssue. attr ( 'href' , ` ${ urlIssueNew } ?body= ${ encodeURIComponent ( issueContent ) } ` ) ;
refInNewIssue . setAttribute ( 'href' , ` ${ urlIssueNew } ?body= ${ encodeURIComponent ( issueContent ) } ` ) ;
} ;
} ;
const updateViewGitBlameFragment = function ( anchor ) {
const updateViewGitBlameFragment = function ( anchor ) {
if ( ! $ viewGitBlame. length ) return ;
if ( ! viewGitBlame) return ;
let href = $viewGitBlame. attr ( 'href' ) ;
let href = viewGitBlame. getAttribute ( 'href' ) ;
href = ` ${ href . replace ( /#L\d+$|#L\d+-L\d+$/ , '' ) } ` ;
href = ` ${ href . replace ( /#L\d+$|#L\d+-L\d+$/ , '' ) } ` ;
if ( anchor . length !== 0 ) {
if ( anchor . length !== 0 ) {
href = ` ${ href } # ${ anchor } ` ;
href = ` ${ href } # ${ anchor } ` ;
}
}
$viewGitBlame. attr ( 'href' , href ) ;
viewGitBlame. setAttribute ( 'href' , href ) ;
} ;
} ;
const updateCopyPermalinkUrl = function ( anchor ) {
const updateCopyPermalinkUrl = function ( anchor ) {
if ( ! $ copyPermalink. length ) return ;
if ( ! copyPermalink) return ;
let link = $copyPermalink. attr ( 'data-url' ) ;
let link = copyPermalink. getAttribute ( 'data-url' ) ;
link = ` ${ link . replace ( /#L\d+$|#L\d+-L\d+$/ , '' ) } # ${ anchor } ` ;
link = ` ${ link . replace ( /#L\d+$|#L\d+-L\d+$/ , '' ) } # ${ anchor } ` ;
$copyPermalink. attr ( 'data-url' , link ) ;
copyPermalink. setAttribute ( 'data-url' , link ) ;
} ;
} ;
if ( $selectionStartEls ) {
if ( $selectionStartEls ) {
let a = parseInt ( $selectionEndEl .attr ( 'rel' ) . slice ( 1 ) ) ;
let a = parseInt ( $selectionEndEl [0 ] . getAttribute ( 'rel' ) . slice ( 1 ) ) ;
let b = parseInt ( $selectionStartEls .attr ( 'rel' ) . slice ( 1 ) ) ;
let b = parseInt ( $selectionStartEls [0 ] . getAttribute ( 'rel' ) . slice ( 1 ) ) ;
let c ;
let c ;
if ( a !== b ) {
if ( a !== b ) {
if ( a > b ) {
if ( a > b ) {
@ -85,11 +83,11 @@ function selectRange($linesEls, $selectionEndEl, $selectionStartEls) {
}
}
}
}
$selectionEndEl . closest ( 'tr' ) . addClass ( 'active' ) ;
$selectionEndEl . closest ( 'tr' ) . addClass ( 'active' ) ;
changeHash ( ` # ${ $selectionEndEl .attr ( 'rel' ) } ` ) ;
changeHash ( ` # ${ $selectionEndEl [0 ] . getAttribute ( 'rel' ) } ` ) ;
updateIssueHref ( $selectionEndEl .attr ( 'rel' ) ) ;
updateIssueHref ( $selectionEndEl [0 ] . getAttribute ( 'rel' ) ) ;
updateViewGitBlameFragment ( $selectionEndEl .attr ( 'rel' ) ) ;
updateViewGitBlameFragment ( $selectionEndEl [0 ] . getAttribute ( 'rel' ) ) ;
updateCopyPermalinkUrl ( $selectionEndEl .attr ( 'rel' ) ) ;
updateCopyPermalinkUrl ( $selectionEndEl [0 ] . getAttribute ( 'rel' ) ) ;
}
}
function showLineButton ( ) {
function showLineButton ( ) {