readBlacklist = -> needles = JSON.parse(localStorage.getItem('blacklist')) blacklistItemsDiv = document.getElementById('blacklist_items') blacklistItemsDiv.innerHTML = '' if not needles then return for needle, i in needles color = if i%2 is not 0 then 'dark' else 'light' newdiv = document.createElement('div') newdiv.setAttribute('id', "blacklist_item_#{i}") newdiv.setAttribute('class', "blacklist_item #{color}") newdiv.innerHTML = "
#{needle}
" newbtn = document.createElement('input') newbtn.setAttribute('type', 'button') newbtn.setAttribute('id', "blacklist_btn_#{i}") newbtn.setAttribute('value', 'Delete') newbtn.removeId = i removeFunc = (event) -> removeBlacklistItem(event.target.removeId) newbtn.addEventListener('click', removeFunc, false) newdiv.appendChild(newbtn) blacklistItemsDiv.appendChild(newdiv) removeBlacklistItem = (id) -> needles = JSON.parse(localStorage.getItem('blacklist')) if needles[id] needles.splice(id, 1) localStorage.setItem('blacklist', JSON.stringify(needles)) document.getElementById('addword_text').value = '' readBlacklist() renewBlacklist() addBlacklistItem = (value) -> needles = JSON.parse(localStorage.getItem('blacklist')) if needles if value in needles then return needles.push(value) else needles = new Array(value) localStorage.setItem('blacklist', JSON.stringify(needles)) document.getElementById('addword_text').value = '' document.getElementById('addword_text').focus() readBlacklist() renewBlacklist() renewBlacklist = -> needles = JSON.parse(localStorage.getItem('blacklist')) needles ?= new Array() chrome.tabs.getSelected(null, (tab) -> chrome.tabs.sendMessage(tab.id, blacklist: needles, (response) ->) ) addEventListener( 'load', -> addwordBtn = document.getElementById('addword_btn') addwordTxt = document.getElementById('addword_text') currentUrlDiv = document.getElementById('current_url') addwordBtn.addEventListener('click', -> addBlacklistItem(addwordTxt.value) , false) addwordTxt.addEventListener('keydown', (e) -> if e.keycode is 13 then addBlacklistItem(addwordTxt.value)) addwordTxt.focus() readBlacklist() , false )