-
-
Notifications
You must be signed in to change notification settings - Fork 5.9k
Add comment highlight when target from url #9047
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 7 commits
73e3c0b
558d9e3
7f30f04
468c6a1
7a6148f
0ca937a
301a87d
c95dd50
72d830d
a48e045
1329df2
690d1d7
3fa6466
f44022f
4799253
c354b1b
e373dae
b18df46
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -585,6 +585,35 @@ function initInstall() { | |
}); | ||
} | ||
|
||
function initIssueComments() { | ||
if ($('.repository.view.issue .comments').length === 0) return; | ||
|
||
$(document).click((event) => { | ||
const urlTarget = $(':target'); | ||
if (urlTarget.length === 0) return; | ||
jaqra marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
const urlTargetId = urlTarget.attr('id'); | ||
if (!urlTargetId) return; | ||
if (!/^(issue|pull)(comment)?-\d+$/.test(urlTargetId)) return; | ||
|
||
const $target = $(event.target); | ||
|
||
if ($target.closest(`#${urlTargetId}`).length === 0) { | ||
if (!window.location.hash) return; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This check can be done earlier. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Actually i want to delete this check because checks |
||
|
||
if (window.location.hash.length > 0 && window.location.hash !== '#') { | ||
const i = window.location.toString().indexOf('#'); | ||
|
||
if (i >= 0) { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Instead of nesting There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I removed some checks. I think they are unnecessary because if there is an element with :target selected they should be. Am i wrong? |
||
const scrollPosition = $(window).scrollTop(); | ||
window.location.hash = ''; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This leaves the empty There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. window.history.replaceState(null, null, ' '); this removes target url but does not affect There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You can just combine both methods and use const scrollPosition = $(window).scrollTop();
window.location.hash = '';
$(window).scrollTop(scrollPosition);
window.history.replaceState(null, null, ' '); There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @silverwind brilliant! that works as expected now. done. thank you :) |
||
$(window).scrollTop(scrollPosition); | ||
} | ||
} | ||
} | ||
}); | ||
} | ||
|
||
function initRepository() { | ||
if ($('.repository').length === 0) { | ||
return; | ||
|
@@ -732,6 +761,9 @@ function initRepository() { | |
return false; | ||
}); | ||
|
||
// Issue Comments | ||
initIssueComments(); | ||
|
||
// Edit issue or comment content | ||
$('.edit-content').click(function () { | ||
const $segment = $(this).parent().parent().parent() | ||
|
Uh oh!
There was an error while loading. Please reload this page.