10
0
mirror of https://github.com/LCPQ/QUESTDB_website.git synced 2024-07-23 03:07:44 +02:00

Starting code multipledataset

This commit is contained in:
Mickaël Véril 2019-09-27 20:17:19 +02:00
parent efbe651907
commit 27bc7ea885
2 changed files with 113 additions and 0 deletions

View File

@ -17,6 +17,8 @@ Other data are calculated with this quantities With the following equations :
[Watch one dataset]({{< ref "onedataset.html" >}})
[Watch multiple dataset]({{< ref "multipledataset.html" >}})
Useful links
- [Laboratoire de Chimie et Physique Quantique](http://www.lcpq.ups-tlse.fr/)

View File

@ -0,0 +1,111 @@
---
title: "Multiple dataset"
date: 2019-09-27 16:41
draft: false
---
<script src="/scripts/data.js" type="text/javascript"></script>
<script src="/scripts/loadAllData.js" type="text/javascript"></script>
<script src="/scripts/getFullDataPath.js" type="text/javascript"></script>
<script src="/scripts/getTextFromFile.js" type="text/javascript"></script>
<script src="/scripts/trueTypeOf.js" type="text/javascript"></script>
<script src="/scripts/noNan.js"></script>
<script src="https://cdn.rawgit.com/larsgw/citation.js/archive/citation.js/citation-0.4.0-9.js"
type="text/javascript"></script>
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<script>
window.onload= async ()=>{
$('#dtypeform input[type=radio]').on('change', async function(event) {
var result = $(this).val();
var files=[];
switch (result) {
case "abs":
files=getAbsFilesName();
break;
case "fluo":
files=getFluoFilesName();
break;
case "zpe":
files=getZPEFilesName();
break;
}
window.dats=await Promise.all(files.map((f) => ZPEDataFile.loadAsync(f)))
reloadSelect()
reloadContent()
})
}
function reloadSelect(){
$('#dat_table > thead > tr > th > select').each(function(){
$(this).find('option[value!=""]').remove()
const vals=new Set(window.dats.map((d)=>{return d[$(this).data("prop")]}))
for (const val of vals){
op=document.createElement("option")
op.value=val
op.innerText=val.toString()
$(this).append(op)
}
})
}
function reloadContent(){
var filt=window.dats
$('#dat_table > thead > tr > th > select').each(function(){
const prop=$(this).data("prop")
const value=$(this).attr("value")
filt=filt.filter((d)=>{
if(value==""){
return true
}
else {
return d[prop]==value
}
})
})
var tb=document.getElementById("ex_table_b");
tb.innerHTML=''
for (const el of filt) {
var row=document.createElement("tr")
var rowd=[]
var e=[d.Molecule,d.Comment,d.Code,d.DOI]
e.forEach((val)=>rowd.push(noNanPrecision(val,3)))
for(d of rowd) {
td=document.createElement("td")
td.innerText=d
row.appendChild(td)
}
tb.appendChild(row)
}
}
</script>
{{< getDataFilesName >}}
<form id="dtypeform" action="" method="post">
<legend>Data type</legend>
<input type="radio" id="abs" value="abs" name="datatype">
<label for="abs">Absorption</label>
<input type="radio" id="fluo" value="fluo" name="datatype">
<label for="Fluorescence">Fluorescence</label>
<input type="radio" id="zpe" value="zpe" name="datatype">
<label for="Fluorescence">\(\Delta \text{ZPE}\)</label>
</form>
<div id="data_div">
<table id="dat_table">
<thead>
<th>Molecule :
<select id="mol_select" onchange="reloadContent()" data-prop="molecule">
<option value="">All</option>
</select>
</th>
<th>Comment</th>
<th>Code :
<select id="code_select" onchange="reloadContent()" data-prop="code">
<option value="">All</option>
</select>
</th>
<th>DOI :
<select id="DOI_select" onchange="reloadContent()" data-prop="DOI">
<option value="">All</option>
</select>
</th>
</thead>
<tbody id="ex_table_b">
</tbody>
</table>
</div>