|
|
|
|
@ -7,7 +7,7 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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') { |
|
|
|
|
|