-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathoptions.js
47 lines (43 loc) · 1.37 KB
/
options.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
function render() {
chrome.storage.local.get('onetab', function (res) {
const list = res.onetab || []
console.log(list)
document.querySelector('#list').innerHTML = list
.map(
(m, i) =>
`<div><button data-idx="${i}">删除</button> <span class="date">${
m.date
}</span> <img src="${m.ico || 'logo.png'}"/> <a href="${
m.url
}" target="_blank">${m.title}</a>${
list.filter(f => f.title === m.title).length > 1
? ' <span class="url">' + m.url + '</span>'
: ''
}</div>`
)
.join('')
})
}
render()
document.querySelector('#list').addEventListener('click', function (e) {
if (e.target.nodeName === 'BUTTON') {
delOne(+e.target.getAttribute('data-idx'))
}
})
document.querySelector('#export').addEventListener('click', function () {
chrome.storage.local.get('onetab', function (res) {
const list = res.onetab || []
document.querySelector('textarea').value = JSON.stringify(list)
document.querySelector('textarea').style.display = 'inline'
})
})
function delOne(i) {
chrome.storage.local.get('onetab', function (res) {
const list = res.onetab || []
list.splice(i, 1)
chrome.storage.local.set({ onetab: list }, function () {
console.log(list)
render()
})
})
}