| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- var state = {
- origins: []
- }
- var events = {
- add: () => {
- chrome.permissions.request({
- origins: [document.querySelector('input').value]
- }, (granted) => {
- if (granted) {
- get()
- document.querySelector('input').value = ''
- }
- })
- },
- remove: (origin) => () => {
- chrome.permissions.remove({
- origins: [origin]
- }, (removed) => {
- if (removed) {
- var index = state.origins.indexOf(origin)
- state.origins.splice(index, 1)
- m.redraw()
- }
- })
- }
- }
- function get () {
- chrome.permissions.getAll((res) => {
- state.origins = res.origins
- m.redraw()
- })
- }
- function oncreate (vnode) {
- componentHandler.upgradeElements(vnode.dom)
- }
- get()
- m.mount(document.querySelector('main'), {
- view: () =>
- m('.mdl-grid', [
- m('.mdl-cell mdl-cell--8-col-tablet mdl-cell--12-col-desktop', [
- m('h4', 'Add New Origin'),
- m('form', [
- m('input[placeholder="https://raw.githubusercontent.com"]'),
- m('button[type=button].mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect',
- {oncreate, onclick: events.add},
- 'Add')
- ])
- ]),
- m('.mdl-cell mdl-cell--8-col-tablet mdl-cell--12-col-desktop', [
- m('h4', 'Allowed Origins'),
- m('table.mdl-data-table mdl-js-data-table mdl-data-table--selectable mdl-shadow--2dp',
- state.origins.map((origin) =>
- m('tr', [
- m('td.mdl-data-table__cell--non-numeric', origin),
- m('td.mdl-data-table__cell--non-numeric',
- m('button.mdl-button mdl-js-button mdl-js-ripple-effect mdl-button--icon',
- {oncreate, onclick: events.remove(origin), title: 'Remove'},
- m('i.material-icons icon-remove')
- )
- )
- ])
- ))
- ])
- ])
- })
|