diff --git a/content/panel.js b/content/panel.js index da0aafa..f92b56c 100644 --- a/content/panel.js +++ b/content/panel.js @@ -7,7 +7,7 @@ connected: false, loopsLeft: 0, loopsMax: 0, dailyCount: 0, dailyMax: 0, - resetCbs: [], stopCbs: [], saveCbs: [], startCbs: [], dotMode: null + resetCbs: [], stopCbs: [], saveCbs: [], startCbs: [], dotMode: null, transport: 'msg', transport: 'msg' }; var el = {}; function byId(id) { return document.getElementById(id); } @@ -34,9 +34,9 @@ var row1 = mk('div', 'dshmem-row'); el.start = mk('button', 'dshmem-btn primary', 'Start'); el.reset = mk('button', 'dshmem-btn', 'Reset queue'); el.stop = mk('button', 'dshmem-btn danger', 'Stop'); - row1.appendChild(el.start); row1.appendChild(el.reset); row1.appendChild(el.stop); + row1.appendChild(el.start); row1.appendChild(el.reset); row1.appendChild(el.stop); el.settingsToggle = mk('button', 'dshmem-btn', 'Settings'); el.transportToggle = mk('button', 'dshmem-btn', 'DSH MSG'); row1.appendChild(el.settingsToggle); row1.appendChild(el.transportToggle); el.settingsToggle = mk('button', 'dshmem-btn', 'Settings'); el.transportToggle = mk('button', 'dshmem-btn', 'DSH MSG'); row1.appendChild(el.settingsToggle); row1.appendChild(el.transportToggle); el.body.appendChild(row1); el.stats = mk('div','dshmem-stats'); el.stats.id='dshmem-stats'; el.body.appendChild(el.stats); el.metrics = mk('div','dshmem-stats'); el.metrics.id='dshmem-metrics'; el.metrics.textContent='metrics: —'; el.body.appendChild(el.metrics); - var set = mk('div', 'dshmem-settings'); + var set = mk('div', 'dshmem-settings'); el.settings = set; var lbl = mk('div', 'dshmem-label', 'Token (save, then reload page)'); el.token = mk('input', 'dshmem-input'); el.token.type = 'password'; @@ -45,7 +45,7 @@ el.save = mk('button', 'dshmem-btn primary', 'Save'); el.health = mk('button', 'dshmem-btn', 'Health'); row2.appendChild(el.save); row2.appendChild(el.health); - set.appendChild(lbl); set.appendChild(el.token); set.appendChild(row2); + set.appendChild(lbl); set.appendChild(el.token); set.appendChild(row2); set.style.display = 'none'; set.style.display = 'none'; el.body.appendChild(set); el.log = mk('div', 'dshmem-log'); el.log.id = 'dshmem-log'; @@ -62,7 +62,7 @@ el.toggle.addEventListener('click', function () { el.body.style.display = el.body.style.display === 'none' ? '' : 'none'; }); - el.reset.addEventListener('click', function () { el.start.disabled = false; state.resetCbs.forEach(function (cb) { try { cb(); } catch (e) {} }); }); + el.settingsToggle.addEventListener('click', function () { var s = el.settings; if (s) { s.style.display = s.style.display === 'none' ? '' : 'none' } }); el.transportToggle.addEventListener('click', function () { state.transport = state.transport === 'msg' ? 'xhr' : 'msg'; el.transportToggle.textContent = state.transport === 'msg' ? 'DSH MSG' : 'DSH XHR'; try { chrome.storage.local.set({ 'dshmem-transport': state.transport }) } catch (e) { } }); el.reset.addEventListener('click', function () { el.start.disabled = false; state.resetCbs.forEach(function (cb) { try { cb(); } catch (e) {} }); }); el.stop.addEventListener('click', function () { el.start.disabled = false; state.stopCbs.forEach(function (cb) { try { cb(); } catch (e) {} }); }); el.start.addEventListener('click', function () { el.start.disabled = true; state.startCbs.forEach(function (cb) { try { cb(); } catch (e) {} }); }); el.save.addEventListener('click', function () { var v = el.token.value || ''; state.saveCbs.forEach(function (cb) { try { cb(v); } catch (e) {} }); }); el.health.addEventListener('click', function () { @@ -86,7 +86,7 @@ onResetLoops: function (cb) { state.resetCbs.push(cb); }, onStop: function (cb) { state.stopCbs.push(cb); }, onStart: function (cb) { state.startCbs.push(cb); }, onSaveToken: function (cb) { state.saveCbs.push(cb); }, - getToken: function () { return el.token ? el.token.value : ''; }, + getToken: function () { return el.token ? el.token.value : ''; }, getTransport: function () { return state.transport; }, setTransport: function (v) { state.transport = v === 'xhr' ? 'xhr' : 'msg'; if (el.transportToggle) el.transportToggle.textContent = state.transport === 'msg' ? 'DSH MSG' : 'DSH XHR'; }, setToken: function (v) { if (el.token) el.token.value = v || ''; }, showConfirm: function (opt) { if (!el.confirm) return; @@ -120,7 +120,7 @@ el.preview.onclick = function () { cancelled = true; clearInterval(iv); el.preview.style.display = 'none'; el.preview.onclick = null; if (opt.onCancel) opt.onCancel(); }; }, hidePreview: function () { if (el.preview) el.preview.style.display = 'none'; }, - init: function () { build(); wire(); } + init: function () { build(); wire(); try { chrome.storage.local.get('dshmem-transport', function (v) { if (v && v['dshmem-transport']) API.setTransport(v['dshmem-transport']) }) } catch (e) { } } }; globalThis.DSHMEM = API; if (document.readyState === 'loading') {