Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- modules['collapsibleSidebar'] = {
- moduleID: 'collapsibleSidebar',
- moduleName: 'Collapsible Sidebar',
- category: 'UI',
- description: 'Provides a link to hide/show the sidebar.',
- options: {
- collapseByDefault: {
- type: 'boolean',
- value: false,
- description: 'Collapse sidebar by default.'
- }
- },
- isEnabled: function() {
- return RESConsole.getModulePrefs(this.moduleID);
- },
- include: Array(
- /https?:\/\/([a-z]+).reddit.com\/[\?]*/i
- ),
- exclude: Array(
- /https?:\/\/([a-z]+).reddit.com\/prefs+/i,
- /https?:\/\/([a-z]+).reddit.com\/message\/[-\w\.]+/i,
- /https?:\/\/([a-z]+).reddit.com\/[-\w\.\/]*\/submit\/?/i,
- /https?:\/\/([a-z]+).reddit.com\/submit\/?/i
- ),
- isMatchURL: function() {
- return RESUtils.isMatchURL(this.moduleID);
- },
- go: function() {
- if ((this.isEnabled()) && (this.isMatchURL())) {
- var header = document.querySelector('#header');
- var collapseButton = document.createElement('div');
- collapseButton.setAttribute('id', 'collapseButton');
- collapseButton.setAttribute('class', 'sideVisible');
- collapseButton.setAttribute('style','cursor:pointer;position:absolute;bottom:0;right:0;font-size:20px;');
- collapseButton.innerHTML = '▶';
- collapseButton.addEventListener('click', function() {
- modules['collapsibleSidebar'].toggleSidebar();
- });
- header.appendChild(collapseButton);
- if(this.options.collapseByDefault.value === true){
- this.toggleSidebar(true);
- };
- }
- },
- toggleSidebar: function(state) {
- var sidebarButton = document.querySelector('#collapseButton');
- var side = document.querySelector('.side');
- if (state || collapseButton.className.match(/sideVisible/)) {
- sidebarButton.innerHTML = '◀';
- sidebarButton.className = 'sideHidden';
- side.style.display = 'none';
- }
- else {
- sidebarButton.innerHTML = '▶';
- sidebarButton.className = 'sideVisible';
- side.style.display = 'block';
- }
- },
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement