Skip to content

Commit da8d2d0

Browse files
committed
fix changes collapsing/expanding
1 parent 50185fa commit da8d2d0

File tree

3 files changed

+27
-14
lines changed

3 files changed

+27
-14
lines changed

root/release.tx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414
</ul>
1515
%% }
1616
<div id="metacpan_last-changes" class="well">
17-
<div id="metacpan_last-changes-container">
17+
<div class="changes-content">
1818
%% for $changes -> $rel {
1919
<h2 id="whatsnew">Changes for version [% $rel.version %][% if $rel.date && datetime($rel.date) { %] - [% datetime($rel.date).to_ymd() } if $rel.trial { %] (TRIAL RELEASE)[% } %]</h2>
2020
<div class="change-entries">
2121
%% change_group($rel.entries);
2222
</div>
2323
%% }
2424
</div>
25-
<button id="metacpan_last-changes-toggle" class="btn-link" onclick="$('#metacpan_last-changes').toggleClass('collapsed'); return false;">[ <span class="hide-more">Show less</span><span class="show-more">Show more</span> ]</button>
25+
<button class="changes-toggle btn-link">[ <span class="hide-more">Show less</span><span class="show-more">Show more</span> ]</button>
2626
</div>
2727
%% }
2828

root/static/js/cpan.js

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -230,14 +230,27 @@ $(document).ready(function() {
230230
set_page_size('a[href*="/recent"]', 'recent_page_size');
231231
set_page_size('a[href*="/requires"]', 'requires_page_size');
232232

233-
var changes = $('#metacpan_last-changes');
234-
var changes_inner = $('#metacpan_last-changes-container');
235-
var changes_toggle = $("#metacpan_last-changes-toggle");
236-
changes.addClass(['collapsable', 'collapsed']);
237-
var changes_content_height = Math.round(changes_inner.prop('scrollHeight'));
238-
var changes_ui_height = Math.round(changes_inner.height() + changes_toggle.height());
239-
if (changes_content_height <= changes_ui_height) {
240-
changes.removeClass(['collapsable', 'collapsed']);
233+
const changes = document.querySelector('#metacpan_last-changes');
234+
if (changes) {
235+
const changes_content = changes.querySelector('.changes-content');
236+
const changes_toggle = changes.querySelector(".changes-toggle");
237+
changes.classList.add('collapsable', 'collapsed');
238+
239+
const content_height = Math.round(changes_content.scrollHeight);
240+
const toggle_style = window.getComputedStyle(changes_toggle);
241+
242+
const potential_size = Math.round(
243+
changes_content.offsetHeight +
244+
changes_toggle.offsetHeight
245+
);
246+
247+
if (content_height <= potential_size) {
248+
changes.classList.remove('collapsable', 'collapsed');
249+
}
250+
changes_toggle.addEventListener('click', e => {
251+
e.preventDefault();
252+
changes.classList.toggle('collapsed');
253+
});
241254
}
242255

243256
for (const favForm of document.querySelectorAll('form[action="/account/favorite/add"]')) {

root/static/less/release.less

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
}
6161

6262
&.collapsable {
63-
#metacpan_last-changes-toggle {
63+
.changes-toggle {
6464
display: inline-block;
6565
}
6666

@@ -70,18 +70,18 @@
7070
.show-more { display: inline }
7171
.hide-more { display: none }
7272

73-
#metacpan_last-changes-container {
73+
.changes-content {
7474
overflow: hidden;
7575
max-height: 20.02em;
7676
}
7777
}
7878
}
7979

80-
#metacpan_last-changes-toggle {
80+
.changes-toggle {
8181
display: none;
8282
}
8383

84-
#metacpan_last-changes-container {
84+
.changes-content {
8585
margin-bottom: 0.5em;
8686
}
8787
padding-bottom: 0.5em;

0 commit comments

Comments
 (0)