Ei muokkausyhteenvetoa |
Ei muokkausyhteenvetoa |
||
| Rivi 2: | Rivi 2: | ||
<script type="text/javascript"> | <script type="text/javascript"> | ||
function <!--{$id|default:JwAlgalTable|escape:'html'}-->_jQueryTest() { | |||
if ( typeof window.jQuery == 'undefined' ) { | |||
setTimeout( function(){ <!--{$id|default:JwAlgalTable|escape:'html'}-->_jQueryTest() }, 300); | |||
} else { | |||
<!--{$id|default:JwAlgalTable|escape:'html'}-->_func(); | |||
} | |||
} | |||
setTimeout( function(){ <!--{$id|default:JwAlgalTable|escape:'html'}-->_jQueryTest() }, 300); | |||
function | function <!--{$id|default:JwAlgalTable|escape:'html'}-->_func() { | ||
var vuosi = "<!--{$vuosi|default:1998|escape:'html'}-->"; | var vuosi = "<!--{$vuosi|default:1998|escape:'html'}-->"; | ||
var ely = decodeURI("<!--{$ely|default:ei|escape:'html'}-->"); | var ely = decodeURI("<!--{$ely|default:ei|escape:'html'}-->"); | ||
ely = ely.replace('ELY', 'elinkeino-, liikenne- ja ympäristökeskus'); | ely = ely.replace('ELY', 'elinkeino-, liikenne- ja ympäristökeskus'); | ||
var meri = "<!--{$meri|default:2|escape:'html'}-->"; | var meri = "<!--{$meri|default:2|escape:'html'}-->"; | ||
if (meri == "Sisävedet") { meri = "0"; } | if (meri == "Sisävedet") { meri = "0"; } | ||
else if (meri == "Merialueet") { meri = "1"; } | else if (meri == "Merialueet") { meri = "1"; } | ||
var kunta = "<!--{$kunta|default:ei|escape:'html'}-->"; | var kunta = "<!--{$kunta|default:ei|escape:'html'}-->"; | ||
var qtId = "<!--{$id|default:algalTable|escape:'html'}-->"; | var qtId = "<!--{$id|default:algalTable|escape:'html'}-->"; | ||
var reqSuccess = false; | var reqSuccess = false; | ||
var meripaikkoja = false; | var meripaikkoja = false; | ||
var numberOfRows = 0; | var numberOfRows = 0; | ||
var maxRows = 0; | var maxRows = 0; | ||
var exportCsv = ""; | var exportCsv = ""; | ||
var dataArr = new Array(); | var dataArr = new Array(); | ||
var searchStr = "action=ask&query=[[Havainto::>0]]"; | var searchStr = "action=ask&query=[[Havainto::>0]]"; | ||
searchStr += encodeURI("[[Tyyppi::Levätilanne]]"); | searchStr += encodeURI("[[Tyyppi::Levätilanne]]"); | ||
searchStr += encodeURI("[[Seuranta::Valtakunnallinen leväseuranta]]"); | searchStr += encodeURI("[[Seuranta::Valtakunnallinen leväseuranta]]"); | ||
searchStr += "[[Vuosi::" + vuosi + "]]"; | searchStr += "[[Vuosi::" + vuosi + "]]"; | ||
searchStr += "[[Viikko::>23]][[Viikko::<39]]"; | searchStr += "[[Viikko::>23]][[Viikko::<39]]"; | ||
if (ely != "ei") { searchStr += "[[ELY-keskus::" + encodeURI(ely) + "]]"; } | if (ely != "ei") { searchStr += "[[ELY-keskus::" + encodeURI(ely) + "]]"; } | ||
if (kunta != "ei") { searchStr += "[[Kunta::" + encodeURI(kunta) + "]]"; } | if (kunta != "ei") { searchStr += "[[Kunta::" + encodeURI(kunta) + "]]"; } | ||
if (meri == "0") { searchStr += encodeURI("[[Vesistö::Järvi||Joki]]"); } | if (meri == "0") { searchStr += encodeURI("[[Vesistö::Järvi||Joki]]"); } | ||
else if (meri == "1") { searchStr += encodeURI("[[Vesistö::Meri]]"); } | else if (meri == "1") { searchStr += encodeURI("[[Vesistö::Meri]]"); } | ||
searchStr += encodeURI("|?Havainto|?SiteID|?Vesistö|?Alue|?Järvi|?Vesistöalue|?Kunta|?Viikko|?Päivämäärä|?Levätilanne|sort=Päivämäärä|limit=10000"); | searchStr += encodeURI("|?Havainto|?SiteID|?Vesistö|?Alue|?Järvi|?Vesistöalue|?Kunta|?Viikko|?Päivämäärä|?Levätilanne|sort=Päivämäärä|limit=10000"); | ||
searchStr += '&format=json'; | searchStr += '&format=json'; | ||
jQuery.ajax({ | jQuery.ajax({ | ||
type: 'GET', | |||
url: queryApi, | |||
data: searchStr, | |||
success: success, | |||
dataType: 'jsonp' | |||
}); | }); | ||
function progressIndicator(d) { | function progressIndicator(d) { | ||
jQuery('#<!--{$id|default:JwAlgalTable|escape:'html'}-->_container').html('Ladataan tietoja (' + (maxRows-d) + '/' + maxRows + ')'); | |||
} | } | ||
function success(request) { | function success(request) { | ||
reqSuccess = true; | |||
if (request.query.results != undefined) { | |||
var output = ""; | |||
var lastSite = ""; | |||
var lastWeek = 0; | |||
output += '<div class="mw-content-ltr">' | |||
output += '<table width="100%" class="tablesorter sortable jquery-tablesorter wikitable smwtable smalltable2" id="<!--{$id|default:JwAlgalTable|escape:'html'}-->" >'; | |||
output += '<thead><tr>'; | |||
output += '<th class="headerSort" style="text-align: left;"></th>'; | |||
output += '<th class="headerSort" style="text-align: left;">Vesistö</th>'; | |||
output += '<th class="headerSort" style="text-align: left;">Nimi</th>'; | |||
output += '<th class="headerSort" style="text-align: left;">Kunta</th>'; | |||
output += '<th class="headerSort headerSortSmall" style="text-align: center;">23</th>'; | |||
output += '<th class="headerSort headerSortSmall" style="text-align: center;">24</th>'; | |||
output += '<th class="headerSort headerSortSmall" style="text-align: center;">25</th>'; | |||
output += '<th class="headerSort headerSortSmall" style="text-align: center;">26</th>'; | |||
output += '<th class="headerSort headerSortSmall" style="text-align: center;">27</th>'; | |||
output += '<th class="headerSort headerSortSmall" style="text-align: center;">28</th>'; | |||
output += '<th class="headerSort headerSortSmall" style="text-align: center;">29</th>'; | |||
output += '<th class="headerSort headerSortSmall" style="text-align: center;">30</th>'; | |||
output += '<th class="headerSort headerSortSmall" style="text-align: center;">31</th>'; | |||
output += '<th class="headerSort headerSortSmall" style="text-align: center;">32</th>'; | |||
output += '<th class="headerSort headerSortSmall" style="text-align: center;">33</th>'; | |||
output += '<th class="headerSort headerSortSmall" style="text-align: center;">34</th>'; | |||
output += '<th class="headerSort headerSortSmall" style="text-align: center;">35</th>'; | |||
output += '<th class="headerSort headerSortSmall" style="text-align: center;">36</th>'; | |||
output += '<th class="headerSort headerSortSmall" style="text-align: center;">37</th>'; | |||
output += '<th class="headerSort headerSortSmall" style="text-align: center;">38</th>'; | |||
output += '<th class="headerSort headerSortSmall" style="text-align: center;">39</th>'; | |||
output += '</tr></thead><tbody>'; | |||
maxRows = request.query.results.length; | |||
var siteIDs = new Object(); | |||
for (var i in request.query.results) { | |||
numberOfRows++; | |||
progressIndicator(numberOfRows); | |||
resultItem = request.query.results[i].printouts; | |||
resultPage = resultItem.SiteID[0]; | |||
siteIDs[resultPage] = resultPage; | |||
if (dataArr[resultPage] == undefined) { | |||
dataArr[resultPage] = new Object(); | |||
dataArr[resultPage].url = "//www.jarviwiki.fi/wiki/index.php?curid=" + resultPage; | |||
if (resultItem.Vesistö[0] == 'Meri') { | |||
dataArr[resultPage].sea = true; | |||
} else { | |||
dataArr[resultPage].sea = false; | |||
} | |||
if (resultItem.Alue.length > 0) { | |||
dataArr[resultPage].wBody = resultItem.Alue[0].fulltext; | |||
dataArr[resultPage].wBodyUrl = resultItem.Alue[0].fullurl; | |||
} else { | |||
if (resultItem.Vesistö[0] == 'Järvi') { | |||
dataArr[resultPage].wBody = resultItem.Järvi[0].fulltext; | |||
dataArr[resultPage].wBodyUrl = resultItem.Järvi[0].fullurl; | |||
} else { | |||
dataArr[resultPage].wBody = resultItem.Vesistöalue[0].fulltext; | |||
dataArr[resultPage].wBodyUrl = resultItem.Vesistöalue[0].fullurl; | |||
} | |||
} | |||
dataArr[resultPage].mun = resultItem.Kunta[0].fulltext; | |||
dataArr[resultPage].munUrl = resultItem.Kunta[0].fullurl; | |||
dataArr[resultPage].weeks = new Array(); | |||
} | |||
resultWeek = resultItem.Viikko[0]; | |||
dataArr[resultPage].weeks[resultWeek] = resultItem.Levätilanne[0]; | |||
} | } | ||
for ( | function doRows() { | ||
for (var s in dataArr) { | |||
site = dataArr[s]; | |||
output += '<tr>'; | |||
if (site.sea) { | |||
meripaikkoja = true; | |||
output += '<td data-sort-value="1" valign="middle" class="smwtype_qty">'; | |||
output += '<a href="' + site.url + '" title="' + site.title + '">'; | |||
output += '< | output += '<img alt="Merialue" src="//www.jarviwiki.fi/w/images/a/ac/Pm_hp_asiantuntija_1_27x27.png" width="27" height="27" style="vertical-align: middle" />'; | ||
} | output += '</a></td>'; | ||
} else { | |||
output += '<td data-sort-value=" | output += '<td data-sort-value="0" valign="middle" class="smwtype_qty">'; | ||
output += '<a href="' + site.url + '" title="' + site.title + '">'; | |||
output += '<img alt="Sisävesi" src="//www.jarviwiki.fi/w/images/f/f3/Pm_hp_asiantuntija_2_27x27.png" width="27" height="27" style="vertical-align: middle" />'; | |||
output += '< | output += '</a></td>'; | ||
} | |||
output += '<td class="smwtype_wpg"><a href="' + site.wBodyUrl + '">' + site.wBody + '</a></td>'; | |||
nimi = site.title.substr(site.title.lastIndexOf('/')); | |||
if (nimi.indexOf('(') != -1) { | |||
nimi = nimi.substr(nimi.indexOf('(')); | |||
nimi = nimi.substr(1); | |||
nimi = nimi.substr(0, nimi.length-1); | |||
} else { | } else { | ||
exportCsv += ";3"; | nimi = ""; | ||
} | |||
output += '<td class="smwtype_wpg">' + nimi + '</td>'; | |||
output += '<td class="smwtype_wpg"><a href="' + site.munUrl + '">' + site.mun + '</a></td>'; | |||
for (x = 23; x < 40; x++) { | |||
if (site.weeks[x] != undefined) { | |||
resultAlgalVal = site.weeks[x]; | |||
if (resultAlgalVal == 0) { | |||
exportCsv += ";0"; | |||
output += '<td data-sort-value="0" class="smwtype_qty" style="text-align: center; vertical-align: middle; background-color:none">0</td>'; | |||
} else if (resultAlgalVal == 1) { | |||
exportCsv += ";1"; | |||
output += '<td data-sort-value="1" class="smwtype_qty" style="text-align: center; vertical-align: middle; background-color:#6a9d38">1</td>'; | |||
} else if (resultAlgalVal == 2) { | |||
exportCsv += ";2"; | |||
output += '<td data-sort-value="2" class="smwtype_qty" style="text-align: center; vertical-align: middle; background-color:#fd9f00">2</td>'; | |||
} else { | |||
exportCsv += ";3"; | |||
output += '<td data-sort-value="3" class="smwtype_qty" style="text-align: center; vertical-align: middle; background-color:#c80000">3</td>'; | |||
} | |||
} else { | |||
output += '<td data-sort-value="-1" class="smwtype_qty" style="text-align: center; vertical-align: middle; background-color:none">-</td>'; | |||
} | |||
} | |||
output += '</tr>'; | |||
} | } | ||
output += '</tbody><tfoot></tfoot></table></div>'; | |||
if (meripaikkoja) { | |||
output += '<div style="border: 0; float: left; margin-left: 13px;"><p class="kuvateksti"><a href="/w/images/a/ac/Pm_hp_asiantuntija_1_27x27.png"><img alt="Merialue" src="/w/images/thumb/a/ac/Pm_hp_asiantuntija_1_27x27.png/21px-Pm_hp_asiantuntija_1_27x27.png" width="21" height="21" /></a> = Merialueen havaintopaikka</p></div>'; | |||
} | |||
output += '<div style="border: 0; float: right;"><p class="kuvateksti"> 0 = Ei levää | 1 = Hieman levää | 2 = Runsaasti levää | 3 = Erittäin runsaasti levää | - = Ei havaintoa</p></div>'; | |||
output += '<div style="clear: both;"></div>'; | |||
output += '</div>'; | |||
jQuery("#<!--{$id|default:JwAlgalTable|escape:'html'}-->_container").html(output); | |||
jQuery("#<!--{$id|default:JwAlgalTable|escape:'html'}-->").tablesorter(); | |||
} | |||
function gotSiteIDs(IDsReq) { | |||
if (!!IDsReq.query.pages) { | |||
for (var id in IDsReq.query.pages) { | |||
if ( typeof IDsReq.query.pages[id].title === "undefined" ) { | |||
dataArr[id].title = "-"; | |||
} else { | |||
dataArr[id].title = IDsReq.query.pages[id].title; | |||
} | |||
} | |||
} | } | ||
IDblocks--; | |||
if (IDblocks == 0) { | |||
doRows(); | |||
} | |||
} | |||
var siteIDsArr = new Array(); | |||
for (var id in siteIDs) { | |||
siteIDsArr.push(siteIDs[id]); | |||
} | } | ||
var IDblocks = 0; | |||
if (siteIDsArr.length > 0) { | |||
for (b=0; b < siteIDsArr.length; b+=50) { | |||
doRows(); | IDblocks++; | ||
searchSiteID = 'action=query&pageids=' + siteIDsArr.slice(b, b+50).join(encodeURI('|')) + '&format=json'; | |||
jQuery.ajax({ | |||
type: 'POST', | |||
cache: false, | |||
url: queryApi, | |||
data: searchSiteID, | |||
dataType: 'jsonp', | |||
success: gotSiteIDs | |||
}); | |||
} | |||
} else { | |||
doRows(); | |||
} | |||
} else { | |||
jQuery('#<!--{$id|default:JwAlgalTable|escape:'html'}-->').html('Hakuehtojen mukaisia tietoja ei löytynyt'); | |||
} | |||
//alert(exportCsv); | |||
} | } | ||
function lataaTiedot() { | function lataaTiedot() { | ||
var newWindow = window.open("","Lataa","width=300,height=300,scrollbars=1,resizable=1"); | |||
newWindow.document.open(); | |||
newWindow.document.write(exportCsv); | |||
newWindow.document.close(); | |||
//window.open('data:text/csv;charset=utf-8,' + escape(exportCsv)); | |||
} | } | ||
} | } | ||
</script></includeonly> | </script></includeonly> | ||


