summaryrefslogtreecommitdiff
path: root/web/static
diff options
context:
space:
mode:
authorDavid Vazgenovich Shakaryan <dvshakaryan@gmail.com>2022-05-03 15:27:10 -0700
committerDavid Vazgenovich Shakaryan <dvshakaryan@gmail.com>2022-05-03 15:27:10 -0700
commit12e0680e13e3b00fe085ff419abcef88dd512b23 (patch)
tree0676ff27c3d2351da182bad19f7ead6747397b8e /web/static
parent874b94aaeb51ffa80f19b7c9535fbc84af32609e (diff)
downloaddartboat-12e0680e13e3b00fe085ff419abcef88dd512b23.tar.gz
dartboat-12e0680e13e3b00fe085ff419abcef88dd512b23.tar.xz
web: reuse elem array appending for drawing visits
Diffstat (limited to 'web/static')
-rw-r--r--web/static/dartboat.js34
1 files changed, 11 insertions, 23 deletions
diff --git a/web/static/dartboat.js b/web/static/dartboat.js
index 94337be..44daabb 100644
--- a/web/static/dartboat.js
+++ b/web/static/dartboat.js
@@ -60,6 +60,11 @@ function elemSetUniqClass(sel, c, sel_set) {
e.classList[sel && e.matches(selstr) ? 'add' : 'remove'](cstr));
}
+function elemScrollToBottom(sel) {
+ const e = $(UTF8ToString(sel));
+ e.scrollTop = e.scrollHeight;
+}
+
function promptHandle(command, data) {
const str_c = toCString(command);
const str_d = data && toCString(data);
@@ -69,34 +74,17 @@ function promptHandle(command, data) {
if (str_d) _free(str_d);
}
-const POINT_CLASSES = [180, 140, 100, 60, 40, 20, 0];
-function drawVisit(visit_no, p1_pts, p1_rem, p2_pts, p2_rem, p2_darts) {
- const e = $('#visits');
-
- for (const [i, ptr] of [
- p1_pts, p1_rem, visit_no, p2_rem, p2_pts, p2_darts].entries()) {
-
- const div = e.appendChild(document.createElement('div'));
- const v = div.textContent = UTF8ToString(ptr);
- div.classList.add(`visit-col${i+1}`);
- if (i == 0 || i == 4)
- div.classList.add(`p${POINT_CLASSES.find(x => x <= v)}`);
- else if (i == 5 && v)
- div.textContent = `… ${v}`;
- }
-
- e.scrollTop = e.scrollHeight;
-}
-
-function svgAppendElemv(sel, elemc, elemv, off_name, off_n_attrs,
- off_attr_names, off_attr_vals, off_content) {
+function elemAppendElemv(sel, elemc, elemv, off_ns, off_name, off_content,
+ off_n_attrs, off_attr_names, off_attr_vals) {
const target = $(UTF8ToString(sel));
for (let ptr = elemv; ptr < elemv + 4*elemc; ptr += 4) {
const struct = HEAP32[ptr>>2];
- const e = document.createElementNS('http://www.w3.org/2000/svg',
- UTF8ToString(HEAP32[(struct + off_name)>>2]));
+ const nsptr = HEAP32[(struct + off_ns)>>2];
+ const name = UTF8ToString(HEAP32[(struct + off_name)>>2]);
+ const e = nsptr ? document.createElementNS(UTF8ToString(nsptr), name) :
+ document.createElement(name);
const n_attrs = HEAP32[(struct + off_n_attrs)>>2];
if (n_attrs) {