content/static: readme collapse and expand without query param
Adds event listeners to collapse and expand readme
without a page reload.
Change-Id: I3eac89c55e77cf41ba5296c1dc5e02b8960dcd2e
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/259627
Trust: Jamal Carvalho <jamal@golang.org>
Run-TryBot: Jamal Carvalho <jamal@golang.org>
TryBot-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Julie Qiu <julie@golang.org>
diff --git a/content/static/html/helpers/_unit_outline.tmpl b/content/static/html/helpers/_unit_outline.tmpl
index f5b798b..1079981 100644
--- a/content/static/html/helpers/_unit_outline.tmpl
+++ b/content/static/html/helpers/_unit_outline.tmpl
@@ -12,7 +12,7 @@
</button>
</div>
{{if .Readme.String}}
- <a class="UnitOutline-accordian js-accordian" href="?readme#readme-top">README</a>
+ <a class="UnitOutline-accordian js-accordian js-readmeExpand" href="?readme=expanded#readme-top">README</a>
{{end}}
{{if (or .DocOutline.String .Unit.IsPackage)}}
<a class="UnitOutline-accordian js-accordian" href="#doc-top">Documentation</a>
diff --git a/content/static/html/helpers/_unit_readme.tmpl b/content/static/html/helpers/_unit_readme.tmpl
index 6f0d183..84acd97 100644
--- a/content/static/html/helpers/_unit_readme.tmpl
+++ b/content/static/html/helpers/_unit_readme.tmpl
@@ -5,7 +5,7 @@
-->
{{define "unit_readme"}}
- <div class="UnitReadme {{if .ExpandReadme}}UnitReadme--expanded{{end}}" id="readme-top">
+ <div class="UnitReadme {{if .ExpandReadme}}UnitReadme--expanded{{end}} js-readme" id="readme-top">
<h2 class="UnitReadme-title">
<img height="25px" width="20px" src="/static/img/pkg-icon-readme_20x16.svg">README
</h2>
@@ -14,8 +14,8 @@
<div class="Overview-readmeContent">{{.Readme}}</div>
<div class="UnitReadme-fadeOut"></div>
</div>
- <a class="UnitReadme-expandLink" href="?readme#readme-top">Expand ▾</a>
- <a class="UnitReadme-collapseLink" href="?#readme-top">Collapse ▴</a>
+ <a class="UnitReadme-expandLink js-readmeExpand" href="?readme=expanded#readme-top">Expand ▾</a>
+ <a class="UnitReadme-collapseLink js-readmeCollapse" href="?#readme-top">Collapse ▴</a>
{{end}}
</div>
{{end}}
diff --git a/content/static/js/unit.js b/content/static/js/unit.js
index fd25f8b..c34d8ae 100644
--- a/content/static/js/unit.js
+++ b/content/static/js/unit.js
@@ -19,3 +19,24 @@
anchor.classList.add(activeClass);
});
});
+
+/**
+ * Event handlers for expanding and collapsing the readme section.
+ */
+const readme = document.querySelector('.js-readme');
+const readmeExpand = document.querySelectorAll('.js-readmeExpand');
+const readmeCollapse = document.querySelector('.js-readmeCollapse');
+if (readmeExpand && readmeExpand && readmeCollapse) {
+ readmeExpand.forEach(el =>
+ el.addEventListener('click', e => {
+ e.preventDefault();
+ readme.classList.add('UnitReadme--expanded');
+ readme.scrollIntoView();
+ })
+ );
+ readmeCollapse.addEventListener('click', e => {
+ e.preventDefault();
+ readme.classList.remove('UnitReadme--expanded');
+ readme.scrollIntoView();
+ });
+}