mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-01 06:30:26 +00:00
023187a73e
Use jqplot to draw dive profile, Depth and pressure curves. add the library Javascript files under the theme directory and editing the exporter. Load them to the HTML template dynamically with synchronization as they are dependant on each other. Also Adding min version of JQuery that is needed by the library. Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com> Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
200 lines
5.9 KiB
HTML
200 lines
5.9 KiB
HTML
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title>dive log export</title>
|
|
<script>
|
|
//////////////////////////////////
|
|
//advance settings window//
|
|
load_scripts();
|
|
|
|
function load_script_sync(name)
|
|
{
|
|
var fileref=document.createElement('script');
|
|
fileref.setAttribute("type","text/javascript");
|
|
fileref.async = false;
|
|
fileref.setAttribute("src", location.pathname + "_files/" + name);
|
|
document.getElementsByTagName("head")[0].appendChild(fileref);
|
|
}
|
|
|
|
function load_scripts()
|
|
{
|
|
var fileref=document.createElement("link");
|
|
fileref.setAttribute("rel", "stylesheet");
|
|
fileref.setAttribute("type", "text/css");
|
|
fileref.setAttribute("href", location.pathname + "_files/theme.css");
|
|
document.getElementsByTagName("head")[0].appendChild(fileref);
|
|
|
|
fileref=document.createElement('script');
|
|
fileref.setAttribute("src", location.pathname + "_files/file.json");
|
|
document.getElementsByTagName("head")[0].appendChild(fileref);
|
|
|
|
fileref=document.createElement('script');
|
|
fileref.setAttribute("src", location.pathname + "_files/settings.json");
|
|
document.getElementsByTagName("head")[0].appendChild(fileref);
|
|
|
|
load_script_sync("list_lib.js");
|
|
load_script_sync("jquery.min.js");
|
|
load_script_sync("jquery.jqplot.min.js");
|
|
load_script_sync("jqplot.highlighter.min.js");
|
|
load_script_sync("jqplot.canvasAxisTickRenderer.min.js");
|
|
load_script_sync("jqplot.canvasTextRenderer.min.js");
|
|
}
|
|
|
|
var advanced_shown=false;
|
|
function showdiv(){
|
|
var search = document.getElementById("advanced_search");
|
|
if(advanced_shown==false){
|
|
search.style.display='block';
|
|
advanced_shown=true;
|
|
}
|
|
else{
|
|
search.style.display='none';
|
|
advanced_shown=false;
|
|
}
|
|
}
|
|
function hideAdvanced(){
|
|
if(advanced_shown==false) return;
|
|
var search = document.getElementById("advanced_search");
|
|
search.style.display='none';
|
|
advanced_shown=false;
|
|
}
|
|
|
|
document.onclick=check;
|
|
function check(e)
|
|
{
|
|
var target = (e && e.target) || (event && event.srcElement);
|
|
var obj = document.getElementById('advanced_search');
|
|
var obj2 = document.getElementById('adv_srch_sp');
|
|
if(target!=obj && target!=obj2 && target.type!="checkbox"){
|
|
hideAdvanced();
|
|
}
|
|
}
|
|
|
|
////////////////////////////////
|
|
|
|
function loadSettings(){
|
|
if(typeof settings === 'undefined')return;
|
|
document.body.style.fontSize=settings.fontSize;
|
|
document.body.style.fontFamily=settings.fontFamily;
|
|
}
|
|
|
|
var searchingModules = new Array();
|
|
|
|
window.onload=function(){
|
|
|
|
//initialize settings
|
|
loadSettings();
|
|
|
|
//initializing default searchers
|
|
searchingModules["location"] = new SearchModule(true);
|
|
searchingModules["divemaster"] = new SearchModule(true);
|
|
searchingModules["buddy"] = new SearchModule(true);
|
|
searchingModules["notes"] = new SearchModule(true);
|
|
searchingModules["tags"] = new SearchModule(true);
|
|
|
|
getItems();
|
|
|
|
//initializing search words
|
|
for(var i=0;i<items.length;i++){
|
|
searchingModules["location"].Enter_search_string(items[i].location,i);
|
|
|
|
searchingModules["divemaster"].Enter_search_string(items[i].divemaster,i);
|
|
|
|
searchingModules["buddy"].Enter_search_string(items[i].buddy,i);
|
|
|
|
searchingModules["notes"].Enter_search_string(items[i].notes,i);
|
|
|
|
searchingModules["tags"].Enter_search_tag(items[i].tags,i);
|
|
}
|
|
|
|
sizeofpage=10;
|
|
showAllDives();
|
|
document.getElementById("divePanel").style.display='none';
|
|
document.body.style.visibility='visible';
|
|
}
|
|
|
|
function changeAdvSearch(e){
|
|
searchingModules[e.value].enabled=e.checked;
|
|
SearchModules(document.getElementById("search_input").value);
|
|
}
|
|
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<center>
|
|
<div id="header_container">
|
|
<div id="logo"></div>
|
|
<h1>Subsurface</h1>
|
|
</div>
|
|
</center>
|
|
<div id="diveListPanel">
|
|
<div id="controlbox">
|
|
<input id="search_input" oninput="SearchModules(this.value)" placeholder="search"/><a id="adv_srch_sp" onClick="showdiv()" >Advanced Search</a>
|
|
<div id="advanced_search">
|
|
<input type="checkbox" onchange="changeAdvSearch(this)" value="location" checked>Location<br>
|
|
<input type="checkbox" onchange="changeAdvSearch(this)" value="divemaster" checked>Divemaster<br>
|
|
<input type="checkbox" onchange="changeAdvSearch(this)" value="buddy" checked>Buddy<br>
|
|
<input type="checkbox" onchange="changeAdvSearch(this)" value="notes" checked>Notes<br>
|
|
<input type="checkbox" onchange="changeAdvSearch(this)" value="tags" checked>Tags<br>
|
|
</div>
|
|
<div id="toolbox">
|
|
<select id="no_dives_selector" onChange="setNumberOfDives(this)">
|
|
<option>10</option>
|
|
<option>20</option>
|
|
<option>50</option>
|
|
<option>100</option>
|
|
</select>
|
|
<button onClick="expandAll()"> Expand All </button>
|
|
<button onClick="collapseAll()"> Collapse All </button>
|
|
<button id="trip_button" onclick="toggleTrips();">trips</button>
|
|
</div>
|
|
</div>
|
|
<div id="header">
|
|
<div onClick="list_sort('1')" class="item">Number</div>
|
|
<div onClick="list_sort('2')" class="item">Date</div>
|
|
<div onClick="list_sort('3')" class="item">Time</div>
|
|
<div onClick="list_sort('6')" class="item_large">Location</div>
|
|
<div onClick="list_sort('4')" class="item">Air Temp</div>
|
|
<div onClick="list_sort('5')" class="item">Water Temp</div>
|
|
</div>
|
|
<div id="diveslist">
|
|
</div>
|
|
<center>
|
|
<div id="controller">
|
|
<button onClick="prev_page()"><-</button>
|
|
<span id="pagging"></span>
|
|
<button onClick="next_page()">-></button>
|
|
</div>
|
|
</center>
|
|
</div>
|
|
<div id="divePanel">
|
|
<center>
|
|
<div id="but">
|
|
<button onClick="prevDetailedDive()"><-</button>
|
|
<button onClick="unshowDiveDetails()">Back to List</button>
|
|
<button onClick="nextDetailedDive()">-></button>
|
|
</div>
|
|
</center>
|
|
<div id="diveprofile">
|
|
<center>
|
|
<h2 id="dive_no"></h2>
|
|
<h3 id="dive_location"></h3>
|
|
</center>
|
|
<h2 class="det_hed">Dive profile</h2>
|
|
<div style="width:100%" id="chart1"></div>
|
|
</div>
|
|
<div id="diveinfo">
|
|
<h2 class="det_hed">Dive Information</h2>
|
|
</div>
|
|
<div id="dive_equipments">
|
|
<h2 class="det_hed">Dive equipments</h2>
|
|
</div>
|
|
<div id="bookmarks">
|
|
<h2 class="det_hed">Events</h2>
|
|
</div>
|
|
<div id="divestats">
|
|
<h2 class="det_hed">Dive stats</h2>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|