Skip to content

Instantly share code, notes, and snippets.

@rlemon
Last active June 29, 2016 17:12
Show Gist options
  • Save rlemon/0d4853b3eced00392bf7eddc4ab6f5b6 to your computer and use it in GitHub Desktop.
Save rlemon/0d4853b3eced00392bf7eddc4ab6f5b6 to your computer and use it in GitHub Desktop.
toggle sidebars script for chats
$('style').get(0).textContent += `
.sidebar-wrapper .toggle:not(.collapsed)::before {
content: 'hide ';
}
.sidebar-wrapper .collapsed::before {
content: 'show ';
}
.sidebar-wrapper .toggle {
background: transparent;
border: none;
outline: none;
cursor: pointer;
}
`;
$('.sidebar-widget').each((i, el) => {
const ident = $(el).children('[id]').prop('id');
if (!ident) return;
const wrapper = '<div class="sidebar-wrapper"><div class="inner-wrapper"></div></div>';
const toggle = '<button class="toggle more">' + ident.replace(/-/g, ' ') + '</button>';
$(el).wrap(wrapper).parents('.sidebar-wrapper').prepend(toggle);
});
$('.sidebar-wrapper .toggle').on('click', toggleSidebar);
function toggleSidebar() {
$(this).toggleClass('collapsed');
$(this).parent().find('.inner-wrapper').slideToggle();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment