|
|
|
|
@ -32,13 +32,10 @@
@@ -32,13 +32,10 @@
|
|
|
|
|
el.body = mk('div', 'dshmem-body'); |
|
|
|
|
root.appendChild(head); root.appendChild(el.body); |
|
|
|
|
var row1 = mk('div', 'dshmem-row'); |
|
|
|
|
el.start = mk('button', 'dshmem-btn primary', 'Start'); el.reset = mk('button', 'dshmem-btn', 'Reset loops'); |
|
|
|
|
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); |
|
|
|
|
el.body.appendChild(row1); |
|
|
|
|
el.loops = mk('div', 'dshmem-label', 'loops: 0/0'); |
|
|
|
|
el.daily = mk('div', 'dshmem-label', 'daily: 0/0'); |
|
|
|
|
el.body.appendChild(el.loops); el.body.appendChild(el.daily); |
|
|
|
|
var set = mk('div', 'dshmem-settings'); |
|
|
|
|
var lbl = mk('div', 'dshmem-label', 'Token (save, then reload page)'); |
|
|
|
|
el.token = mk('input', 'dshmem-input'); |
|
|
|
|
@ -65,8 +62,8 @@
@@ -65,8 +62,8 @@
|
|
|
|
|
el.toggle.addEventListener('click', function () { |
|
|
|
|
el.body.style.display = el.body.style.display === 'none' ? '' : 'none'; |
|
|
|
|
}); |
|
|
|
|
el.reset.addEventListener('click', function () { state.resetCbs.forEach(function (cb) { try { cb(); } catch (e) {} }); }); |
|
|
|
|
el.stop.addEventListener('click', function () { 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.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 () { |
|
|
|
|
try { globalThis.DSH_BRIDGE.health().then(function (r) { |
|
|
|
|
@ -78,6 +75,7 @@
@@ -78,6 +75,7 @@
|
|
|
|
|
var API = { |
|
|
|
|
setPhase: function (p) { state.phase = p; if (el.phase) el.phase.textContent = p; }, |
|
|
|
|
setConnected: function (b) { state.connected = !!b; if (el.dot) el.dot.className = 'dshmem-dot ' + (b ? 'ok' : 'err'); }, |
|
|
|
|
setStartEnabled: function (b) { if (el.start) el.start.disabled = !b; }, |
|
|
|
|
log: function (m) { |
|
|
|
|
if (!el.log) return; |
|
|
|
|
var t = new Date().toLocaleTimeString(); |
|
|
|
|
@ -85,8 +83,6 @@
@@ -85,8 +83,6 @@
|
|
|
|
|
var txt = (line + String.fromCharCode(10) + (el.log.textContent || '')).split(String.fromCharCode(10)).slice(0, LOG_CAP).join(String.fromCharCode(10)); |
|
|
|
|
el.log.textContent = txt; |
|
|
|
|
}, |
|
|
|
|
setLoops: function (left, max) { state.loopsLeft = left; state.loopsMax = max; if (el.loops) el.loops.textContent = 'loops: ' + left + '/' + max; }, |
|
|
|
|
setDaily: function (c, m) { state.dailyCount = c; state.dailyMax = m; if (el.daily) el.daily.textContent = 'daily: ' + c + '/' + m; }, |
|
|
|
|
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); }, |
|
|
|
|
|