subsurface/theme/dive_export.html
Gehad elrobey 10beb33ea6 HTML: show translated words dynamically from JSON translation file.
Make HTML exports Multilingual by showing dynamically the HTML words
from JSON files. The needed words are translated using the translation
API in subsurface.

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>
2014-08-11 08:21:22 -07:00

241 lines
7.5 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("link");
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", location.pathname + "_files/jquery.jqplot.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/stat.json");
document.getElementsByTagName("head")[0].appendChild(fileref);
fileref=document.createElement('script');
fileref.setAttribute("src", location.pathname + "_files/translation.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.getElementById("diveStat").style.display='none';
if (divestat.length <= 0)
document.getElementById("stats_button").style.display='none';
document.body.style.visibility='visible';
document.onkeydown = switchDives;
//translate Page
translate_page();
}
function changeAdvSearch(e){
searchingModules[e.value].enabled=e.checked;
SearchModules(document.getElementById("search_input").value, null);
}
</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, null)" 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 id="expnd_all_btn" onClick="expandAll()"> Expand All </button>
<button id="claps_all_btn" onClick="collapseAll()"> Collapse All </button>
<button id="trip_button" onclick="toggleTrips();">trips</button>
<button id="stats_button" onclick="toggleStats();">Stats</button>
</div>
</div>
<div id="header">
<div id="number_header" onClick="change_sort_col('1')" class="item">Number</div>
<div id="date_header" onClick="change_sort_col('2')" class="item">Date</div>
<div id="time_header" onClick="change_sort_col('3')" class="item">Time</div>
<div id="location_header" onClick="change_sort_col('6')" class="item_large">Location</div>
<div id="air_temp_header" onClick="change_sort_col('4')" class="item">Air Temp</div>
<div id="water_temp_header" onClick="change_sort_col('5')" class="item">Water Temp</div>
</div>
<div id="diveslist">
</div>
<center>
<div id="controller">
<button onClick="prev_page()">&lt;-</button>
<span id="pagging"></span>
<button onClick="next_page()">-&gt;</button>
</div>
</center>
</div>
<div id="divePanel">
<center>
<div id="but">
<button onClick="prevDetailedDive()">&lt;-</button>
<button id="bk_to_ls_lbl" onClick="unshowDiveDetails()">Back to List</button>
<button onClick="nextDetailedDive()">-&gt;</button>
</div>
</center>
<div id="diveprofile">
<center>
<h2 id="dive_no"></h2>
<h3 id="dive_location"></h3>
</center>
<h2 id="div_profil_lbl" 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 id="divephotos">
<h2 class="det_hed">Dive Photos</h2>
<div id="slider_container">
<button onclick="prev_photo()" style="width:7%;margin:1%;float:left;">&lt;-</button>
<div id="slider">
</div>
<button onclick="next_photo()" style="width:7%;margin:1%;float:left">-&gt;</button>
</div>
</div>
</div>
<div id="diveStat">
<center>
<button id="bk_to_ls_lbl2" onClick="toggleStats()">Back to List</button>
</center>
<div id="diveStatsData">
</div>
</div>
</body>
</html>