Don't create expandCWs button multiple times

This commit is contained in:
Jason F. McBrayer 2018-09-06 13:36:27 -04:00
parent d9cb4b36e5
commit 3407aa8086
2 changed files with 27 additions and 28 deletions

View File

@ -67,31 +67,35 @@ function menuPrepare() {
function expandCWButtonPrepare()
{
var theButton = document.createElement('p');
theButton.textContent = "Expand CWs";
theButton.classList.toggle('button');
document.querySelector('#title').insertAdjacentElement('afterend', theButton);
var details = document.querySelectorAll('details');
var openState = false;
var theButton = document.querySelector('#expandCWs');
if (!theButton) {
theButton = document.createElement('p');
theButton.id = "expandCWs";
theButton.textContent = "Expand CWs";
theButton.classList.toggle('button');
document.querySelector('#title').insertAdjacentElement('afterend', theButton);
var details = document.querySelectorAll('details');
var openState = false;
if (details != null) {
theButton.addEventListener('click', function() {
openState = details.item(0).hasAttribute('open');
details.forEach(function ($el) {
if (openState)
{
$el.removeAttribute('open');
} else
{
$el.setAttribute('open', '');
}
if (details != null) {
theButton.addEventListener('click', function() {
openState = details.item(0).hasAttribute('open');
details.forEach(function ($el) {
if (openState)
{
$el.removeAttribute('open');
} else
{
$el.setAttribute('open', '');
}
});
openState = !openState;
if (openState) { theButton.textContent = 'Collapse CWs'; }
else { theButton.textContent = "Expand CWs"; };
theButton.classList.toggle('is-active');
});
openState = !openState;
if (openState) { theButton.textContent = 'Collapse CWs'; }
else { theButton.textContent = "Expand CWs"; };
theButton.classList.toggle('is-active');
});
};
};
}
}
function fileButtonUpdaters()

View File

@ -36,8 +36,3 @@ mastodon.status_context(<numerical id>)
{% endif %}
{% endblock %}
{% block page_scripts_inline %}
<script type="application/javascript">
document.addEventListener('DOMContentLoaded', expandCWButtonPrepare);
</script>
{% endblock %}