From fd81ff3c2105b67033dc3623d96ee865c6c02848 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20V=C3=A9ril?= Date: Mon, 13 Apr 2020 14:53:49 +0200 Subject: [PATCH 1/2] Add combine basis sets option for statistics --- content/multipledataset.html | 88 +++++++++++++++++++++++++++--------- 1 file changed, 67 insertions(+), 21 deletions(-) diff --git a/content/multipledataset.html b/content/multipledataset.html index be7caba0..ebee4e7b 100644 --- a/content/multipledataset.html +++ b/content/multipledataset.html @@ -220,10 +220,11 @@ draft: false } async function reloadStat() { processingIndicator.isActive = true + const combbasis = $("#cb_combbasis").is(":checked") + const refstr = $("#sel_ref option:selected").val() var stb = $("#stat_table > tbody") $("#graph_div").empty() $(stb).empty() - var refstr = $("#sel_ref option:selected").val() var sdatdic = new Map() for (const d of window.filtData) { const key = JSON.stringify([d.method, d.DOI.string]) @@ -252,21 +253,55 @@ draft: false } } } + if (combbasis) { + var sdatdic2=new Map() + for (const [strkey, sdat] of sdatdic) { + if (refstr===strkey) { + sdatdic2.set(strkey,sdatdic.get(strkey)) + } + else { + const key=JSON.parse(strkey) + const newkey=JSON.stringify([key[0].name,key[1]]) + const newkeybasis=JSON.stringify(key[0].basis) + if (!sdatdic2.has(newkey)) { + sdatdic2.set(newkey,new Map()) + } + if (!sdatdic2.get(newkey).has(newkeybasis)) { + sdatdic2.get(newkey).set(newkeybasis,new Map()) + } + for (const [strkey2,exval] of sdat) { + sdatdic2.get(newkey).get(newkeybasis).set(strkey2,exval) + } + } + } + sdatdic=sdatdic2 + } var sdic = new Map() for (const [key, sdat] of sdatdic) { - for (const [key2, exval] of sdat) { + if (key!==refstr) { if (!(sdic.has(key))) { sdic.set(key, []) } - sdic.get(key).push(exval - ((sdatdic.has(refstr)) ? sdatdic.get(refstr).get(key2) : NaN)) + if (combbasis) { + for (const [key2, dic] of sdat) { + for(const [key3,exval] of dic){ + sdic.get(key).push(exval - ((sdatdic.has(refstr)) ? sdatdic.get(refstr).get(key3) : NaN)) + } + } + } else { + for (const [key2, exval] of sdat) { + sdic.get(key).push(exval - ((sdatdic.has(refstr)) ? sdatdic.get(refstr).get(key2) : NaN)) + } + } } } - sdic.delete(refstr) var graphdat = [] for (const [keystr, vals] of sdic) { row = $("") key = JSON.parse(keystr) - Reflect.setPrototypeOf(key[0], method.prototype) + if (!combbasis) { + Reflect.setPrototypeOf(key[0], method.prototype) + } //Reflect.setPrototypeOf(key[1], DOI.prototype) th = $("", { scope: "column" }) const [meth, doi] = key @@ -387,19 +422,6 @@ draft: false } } } - $(sel_ref).empty() - for (const el of uniq(window.filtData.map(d => [d.method, d.DOI.string]))) { - op = $("