Ero sivun ”Widget:Leväbarometri” versioiden välillä
Järvi-meriwikistä
Rivi 14: | Rivi 14: | ||
setTimeout( function(){ <!--{$id|default:algalbarochart|escape:'html'}-->_jQueryTest() }, 300); | setTimeout( function(){ <!--{$id|default:algalbarochart|escape:'html'}-->_jQueryTest() }, 300); | ||
} else { | } else { | ||
− | google.load('visualization', '1.0', {'packages':['corechart']}); | + | //google.load('visualization', '1.0', {'packages':['corechart'] }); |
− | google.setOnLoadCallback(<!--{$id|default:algalbarochart|escape:'html'}-->_func); | + | //google.setOnLoadCallback(<!--{$id|default:algalbarochart|escape:'html'}-->_func); |
+ | <!--{$id|default:algalbarochart|escape:'html'}-->_func(); | ||
} | } | ||
} | } | ||
Rivi 23: | Rivi 24: | ||
// Load the Visualization API and the corechart package. | // Load the Visualization API and the corechart package. | ||
− | google.charts.load('current', {'packages':['corechart']}); | + | google.charts.load('current', {'packages':['corechart'] }); |
// Set a callback to run when the Google Visualization API is loaded. | // Set a callback to run when the Google Visualization API is loaded. | ||
Rivi 31: | Rivi 32: | ||
function <!--{$id|default:algalbarochart|escape:'html'}-->_init() { | function <!--{$id|default:algalbarochart|escape:'html'}-->_init() { | ||
− | + | ||
− | + | var today = new Date(); | |
− | + | var vuosi = <!--{$vuosi|default:0|escape:'html'}-->; | |
− | + | if (vuosi == 0) { vuosi = (today.getFullYear()); } | |
− | + | var viikko = <!--{$viikko|default:100|escape:'html'}-->; | |
− | + | if (viikko == 100) { viikko = today.getWeek(); } | |
− | + | var vertaa = <!--{$vertaa|default:undefined|escape:'html'}-->; | |
− | + | var meri = <!--{$meri|default:2|escape:'html'}-->; | |
− | + | var ely = "<!--{$ely|default:xxx|escape:'html'}-->"; | |
− | + | var showTitle = <!--{$showTitle|default:1|escape:'html'}-->; | |
− | + | //elySearch = ely.split(' ').join('%20'); | |
− | + | //elySearch= elySearch.split('ä').join('%C3%A4'); | |
− | + | //elySearch= elySearch.split('ö').join('%C3%B6'); | |
− | + | var elySearch = encodeURI(ely); | |
− | + | var minweek = <!--{$minweek|default:23|escape:'html'}-->; | |
− | + | var maxweek = <!--{$maxweek|default:39|escape:'html'}-->; | |
+ | var lang = '<!--{$lang|default:fi|escape:'html'}-->'; | ||
− | + | if (ely == "xxx") { ely = undefined; } | |
− | + | var successCount = 0; | |
− | + | var options1; | |
− | + | var data1; | |
− | + | var chart1; | |
− | + | var options2; | |
− | + | var data2; | |
− | + | var chart2; | |
− | + | var Rdata1 = new Array(); | |
− | + | var Rdata2 = new Array(); | |
− | + | for (i=minweek; i<=maxweek; i++) { | |
− | + | Rdata1[(i-minweek)] = [i.toString(), null, "", null, "", null, "", null, "", null, ""]; | |
− | + | Rdata2[(i-minweek)] = [i.toString(), null, "", null, "", null, "", null, "", null, ""]; | |
− | + | } | |
+ | |||
+ | if (ely != undefined) { | ||
+ | searchStr = "action=ask&query=[[Lev%C3%A4barometridataELY::%3E0]]"; | ||
+ | searchStr += "[[ELY-keskus::" + elySearch + "]]"; | ||
+ | } else { | ||
+ | searchStr = "action=ask&query=[[Lev%C3%A4barometridataUUSI::%3E0]]"; | ||
+ | } | ||
+ | if (meri == "0") { | ||
+ | searchStr += encodeURI("[[Vesistö::Järvi]]"); | ||
+ | } else if (meri == "1") { | ||
+ | searchStr += encodeURI("[[Vesistö::Meri]]"); | ||
+ | } | ||
+ | searchStr += "[[Tyyppi::Viikkoarvo]]"; | ||
+ | searchStr += "[[Vuosi::" + vuosi + "]]"; | ||
+ | searchStr += "[[Viikko::%3E" + minweek.toString() + "]][[Viikko::%3C" + maxweek.toString() + "]]"; | ||
+ | searchStr += encodeURI('|?Viikko|?Leväbarometri|?Vesistö|limit=100'); | ||
+ | searchStr += '&format=json'; | ||
− | + | jQuery.ajax({ | |
− | + | type: 'GET', | |
− | + | url: queryApi, | |
− | + | data: searchStr, | |
− | + | success: success, | |
− | + | dataType: 'jsonp' | |
− | + | }); | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | if (ely != undefined) { | |
− | + | searchStr2 = "action=ask&query=[[Lev%C3%A4barometridataELY::%3E0]]"; | |
− | + | searchStr2 += "[[ELY-keskus::" + elySearch + "]]"; | |
− | + | } else { | |
− | + | searchStr2 = "action=ask&query=[[Lev%C3%A4barometridataUUSI::%3E0]]"; | |
− | + | } | |
− | }); | + | if (meri == "0") { |
+ | searchStr2 += encodeURI("[[Vesistö::Järvi]]"); | ||
+ | } else if (meri == "1") { | ||
+ | searchStr2 += encodeURI("[[Vesistö::Meri]]"); | ||
+ | } | ||
+ | if (vertaa == undefined) { | ||
+ | searchStr2 += "[[Tyyppi::Vertailuarvo]][[Vuosi::" + (today.getFullYear()) + "]]"; | ||
+ | } else { | ||
+ | searchStr2 += "[[Tyyppi::Viikkoarvo]][[Vuosi::" + vertaa + "]]"; | ||
+ | } | ||
+ | searchStr2 += "[[Viikko::%3E" + minweek.toString() + "]][[Viikko::%3C" + maxweek.toString() + "]]"; | ||
+ | searchStr2 += encodeURI('|?Viikko|?Tyyppi|?Leväbarometri|?Vesistö|limit=100'); | ||
+ | searchStr2 += '&format=json'; | ||
+ | jQuery.ajax({ | ||
+ | type: 'GET', | ||
+ | url: queryApi, | ||
+ | data: searchStr2, | ||
+ | success: success, | ||
+ | dataType:'jsonp' | ||
+ | }); | ||
+ | |||
+ | function i18n( text, lang ) { | ||
+ | |||
+ | var o = {}; | ||
+ | o[ 'Sinileväbarometri' ] = { 'en': 'Blue-green algal barometer', 'sv': 'Blågrönalgbarometer' }; | ||
+ | o[ 'Sisävedet' ] = { 'en': 'Inland waters', 'sv': 'Inlandsvatten' }; | ||
+ | o[ 'Merialueet' ] = { 'en': 'Sea areas', 'sv': 'Havsområden' }; | ||
+ | o[ 'Viikko' ] = { 'en': 'Week', 'sv': 'Vecka' }; | ||
+ | o[ 'Määritelty viikko' ] = { 'en': 'Specified week', 'sv': 'Angiven vecka' }; | ||
+ | o[ 'Ei levähavaintoja' ] = { 'en': 'No blue-green algae observations', 'sv': 'Inga blögrönalgobservationer' }; | ||
+ | o[ 'Liian vähän havaintoja' ] = { 'en': 'Not enough observations', 'sv': 'För lite observationer' }; | ||
+ | o[ 'Liukuva keskiarvo' ] = { 'en': 'Moving average', 'sv': 'Glidande medelvärde' }; | ||
+ | |||
+ | var response = text; | ||
+ | |||
+ | if ( typeof o[ text ] != 'undefined' ) { | ||
+ | if ( typeof o[ text ][ lang ] != 'undefined' ) { | ||
+ | response = o[ text ][ lang ]; | ||
+ | } | ||
+ | } | ||
− | + | return response; | |
− | + | ||
− | + | } | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
function success(request) { | function success(request) { | ||
− | console.log(request); | + | //console.log(request); |
if (request.query.results != undefined) { | if (request.query.results != undefined) { | ||
Rivi 147: | Rivi 173: | ||
Rdata1[resultItem.Viikko[0]-minweek][5] = 0; | Rdata1[resultItem.Viikko[0]-minweek][5] = 0; | ||
Rdata1[resultItem.Viikko[0]-minweek][6] = weekSpan; | Rdata1[resultItem.Viikko[0]-minweek][6] = weekSpan; | ||
− | Rdata1[resultItem.Viikko[0]-minweek][6] += '\ | + | Rdata1[resultItem.Viikko[0]-minweek][6] += '\n' + i18n( 'Liian vähän havaintoja', lang ); |
} else if (resultBaroVal == 0) { | } else if (resultBaroVal == 0) { | ||
Rdata1[resultItem.Viikko[0]-minweek][9] = 0; | Rdata1[resultItem.Viikko[0]-minweek][9] = 0; | ||
Rdata1[resultItem.Viikko[0]-minweek][10] = weekSpan; | Rdata1[resultItem.Viikko[0]-minweek][10] = weekSpan; | ||
− | Rdata1[resultItem.Viikko[0]-minweek][10] += '\n0 - Ei levähavaintoja'; | + | Rdata1[resultItem.Viikko[0]-minweek][10] += '\n0 - ' + i18n( 'Ei levähavaintoja', lang ); |
} else { | } else { | ||
if (resultItem.Viikko[0] == viikko) { | if (resultItem.Viikko[0] == viikko) { | ||
Rivi 166: | Rivi 192: | ||
if (resultBaroVal < 0) { | if (resultBaroVal < 0) { | ||
Rdata1[resultItem.Viikko[0]-minweek][3] = 0; | Rdata1[resultItem.Viikko[0]-minweek][3] = 0; | ||
− | Rdata1[resultItem.Viikko[0]-minweek][4] = 'Liukuva keskiarvo\n1998-'; | + | Rdata1[resultItem.Viikko[0]-minweek][4] = i18n( 'Liukuva keskiarvo', lang ) + '\n1998-'; |
− | Rdata1[resultItem.Viikko[0]-minweek][4] += '\ | + | Rdata1[resultItem.Viikko[0]-minweek][4] += '\n' + i18n( 'Liian vähän havaintoja', lang ); |
} else { | } else { | ||
Rdata1[resultItem.Viikko[0]-minweek][3] = resultBaroVal; | Rdata1[resultItem.Viikko[0]-minweek][3] = resultBaroVal; | ||
if (vertaa == undefined) { | if (vertaa == undefined) { | ||
− | Rdata1[resultItem.Viikko[0]-minweek][4] = 'Liukuva keskiarvo\n1998-'; | + | Rdata1[resultItem.Viikko[0]-minweek][4] = i18n( 'Liukuva keskiarvo', lang ) + '\n1998-'; |
Rdata1[resultItem.Viikko[0]-minweek][4] += (today.getFullYear()-1).toString(); | Rdata1[resultItem.Viikko[0]-minweek][4] += (today.getFullYear()-1).toString(); | ||
} else { | } else { | ||
Rivi 195: | Rivi 221: | ||
Rdata2[resultItem.Viikko[0]-minweek][5] = 0; | Rdata2[resultItem.Viikko[0]-minweek][5] = 0; | ||
Rdata2[resultItem.Viikko[0]-minweek][6] = weekSpan; | Rdata2[resultItem.Viikko[0]-minweek][6] = weekSpan; | ||
− | Rdata2[resultItem.Viikko[0]-minweek][6] += '\ | + | Rdata2[resultItem.Viikko[0]-minweek][6] += '\n' + i18n( 'Liian vähän havaintoja', lang ); |
} else if (resultBaroVal == 0) { | } else if (resultBaroVal == 0) { | ||
Rdata2[resultItem.Viikko[0]-minweek][9] = 0; | Rdata2[resultItem.Viikko[0]-minweek][9] = 0; | ||
Rdata2[resultItem.Viikko[0]-minweek][10] = weekSpan; | Rdata2[resultItem.Viikko[0]-minweek][10] = weekSpan; | ||
− | Rdata2[resultItem.Viikko[0]-minweek][10] += '\n0 - Ei levähavaintoja'; | + | Rdata2[resultItem.Viikko[0]-minweek][10] += '\n0 - ' + i18n( 'Ei levähavaintoja', lang ); |
} else { | } else { | ||
if (resultItem.Viikko[0] == viikko) { | if (resultItem.Viikko[0] == viikko) { | ||
Rivi 214: | Rivi 240: | ||
if (resultBaroVal < 0) { | if (resultBaroVal < 0) { | ||
Rdata2[resultItem.Viikko[0]-minweek][3] = 0; | Rdata2[resultItem.Viikko[0]-minweek][3] = 0; | ||
− | Rdata2[resultItem.Viikko[0]-minweek][4] = 'Liukuva keskiarvo\n1998-'; | + | Rdata2[resultItem.Viikko[0]-minweek][4] = i18n( 'Liukuva keskiarvo', lang ) + '\n1998-'; |
− | Rdata2[resultItem.Viikko[0]-minweek][4] += '\ | + | Rdata2[resultItem.Viikko[0]-minweek][4] += '\n' + i18n( 'Liian vähän havaintoja', lang ); |
} else { | } else { | ||
Rdata2[resultItem.Viikko[0]-minweek][3] = resultBaroVal; | Rdata2[resultItem.Viikko[0]-minweek][3] = resultBaroVal; | ||
if (vertaa == undefined) { | if (vertaa == undefined) { | ||
− | Rdata2[resultItem.Viikko[0]-minweek][4] = 'Liukuva keskiarvo\n1998-'; | + | Rdata2[resultItem.Viikko[0]-minweek][4] = i18n( 'Liukuva keskiarvo', lang ) + '\n1998-'; |
Rdata2[resultItem.Viikko[0]-minweek][4] += (today.getFullYear()-1).toString(); | Rdata2[resultItem.Viikko[0]-minweek][4] += (today.getFullYear()-1).toString(); | ||
} else { | } else { | ||
Rivi 261: | Rivi 287: | ||
} | } | ||
data1.addColumn({type:'string', role:'tooltip'}); | data1.addColumn({type:'string', role:'tooltip'}); | ||
− | data1.addColumn('number', 'Liian vähän havaintoja'); | + | data1.addColumn('number', i18n( 'Liian vähän havaintoja', lang )); |
data1.addColumn({type:'string', role:'tooltip'}); | data1.addColumn({type:'string', role:'tooltip'}); | ||
− | data1.addColumn('number', ' | + | data1.addColumn('number', i18n( 'Määritelty viikko', lang )); |
data1.addColumn({type:'string', role:'tooltip'}); | data1.addColumn({type:'string', role:'tooltip'}); | ||
− | data1.addColumn('number', ' | + | data1.addColumn('number', i18n( 'Sinileväbarometri', lang ) + ' 0' ); |
data1.addColumn({type:'string', role:'tooltip'}); | data1.addColumn({type:'string', role:'tooltip'}); | ||
data1.addRows(Rdata1); | data1.addRows(Rdata1); | ||
− | titlevar = 'Sisävedet'; | + | titlevar = i18n( 'Sisävedet', lang ); |
if (ely != undefined) { titlevar += ' (' + ely.replace(' elinkeino-, liikenne- ja ympäristökeskus', '') + ')'; } | if (ely != undefined) { titlevar += ' (' + ely.replace(' elinkeino-, liikenne- ja ympäristökeskus', '') + ')'; } | ||
Rivi 282: | Rivi 308: | ||
vAxis: { viewWindowMode:'explicit', viewWindow:{ max:0.8, min:0}, gridlines: { count: '4', color: '#c1e7f7' }}, | vAxis: { viewWindowMode:'explicit', viewWindow:{ max:0.8, min:0}, gridlines: { count: '4', color: '#c1e7f7' }}, | ||
//{maxValue: 0.8}, | //{maxValue: 0.8}, | ||
− | hAxis: {title: | + | hAxis: {title: i18n( 'Viikko', lang ), slantedText: false, maxAlternation: 1, titleTextStyle: { fontName: '"Arial"' } }, |
backgroundColor: { fill: "#<!--{$bgcolor|default:ffffff|escape:'html'}-->", stroke: "#c1e7f7", strokeWidth: 0 }, | backgroundColor: { fill: "#<!--{$bgcolor|default:ffffff|escape:'html'}-->", stroke: "#c1e7f7", strokeWidth: 0 }, | ||
chartArea: { top: 20, left: 30, backgroundColor: "#<!--{$bgcolor|default:ffffff|escape:'html'}-->" }, | chartArea: { top: 20, left: 30, backgroundColor: "#<!--{$bgcolor|default:ffffff|escape:'html'}-->" }, | ||
Rivi 318: | Rivi 344: | ||
} | } | ||
data2.addColumn({type:'string', role:'tooltip'}); | data2.addColumn({type:'string', role:'tooltip'}); | ||
− | data2.addColumn('number', 'Liian vähän havaintoja'); | + | data2.addColumn('number', i18n( 'Liian vähän havaintoja', lang )); |
data2.addColumn({type:'string', role:'tooltip'}); | data2.addColumn({type:'string', role:'tooltip'}); | ||
− | data2.addColumn('number', ' | + | data2.addColumn('number', i18n( 'Määritelty viikko', lang )); |
data2.addColumn({type:'string', role:'tooltip'}); | data2.addColumn({type:'string', role:'tooltip'}); | ||
− | data2.addColumn('number', ' | + | data2.addColumn('number', i18n( 'Sinileväbarometri', lang ) + ' 0'); |
data2.addColumn({type:'string', role:'tooltip'}); | data2.addColumn({type:'string', role:'tooltip'}); | ||
data2.addRows(Rdata2); | data2.addRows(Rdata2); | ||
− | titlevar = 'Merialueet'; | + | titlevar = i18n( 'Merialueet', lang ); |
if (ely != undefined) { titlevar += ' (' + ely.replace(' elinkeino-, liikenne- ja ympäristökeskus', '')+ ')'; } | if (ely != undefined) { titlevar += ' (' + ely.replace(' elinkeino-, liikenne- ja ympäristökeskus', '')+ ')'; } | ||
Rivi 339: | Rivi 365: | ||
vAxis: { viewWindowMode:'explicit', viewWindow:{ max: 0.8, min:0 }, gridlines: { count: 4, color: '#c1e7f7' }}, | vAxis: { viewWindowMode:'explicit', viewWindow:{ max: 0.8, min:0 }, gridlines: { count: 4, color: '#c1e7f7' }}, | ||
//{maxValue: 0.8}, | //{maxValue: 0.8}, | ||
− | hAxis: {title: | + | hAxis: {title: i18n( 'Viikko', lang ), slantedText: false, maxAlternation: 1, titleTextStyle: { fontName: '"Arial"' } }, |
backgroundColor: { fill: "#<!--{$bgcolor|default:ffffff|escape:'html'}-->", stroke: "#c1e7f7" }, | backgroundColor: { fill: "#<!--{$bgcolor|default:ffffff|escape:'html'}-->", stroke: "#c1e7f7" }, | ||
chartArea: { top: 20, left: 30, backgroundColor: "#<!--{$bgcolor|default:ffffff|escape:'html'}-->" }, | chartArea: { top: 20, left: 30, backgroundColor: "#<!--{$bgcolor|default:ffffff|escape:'html'}-->" }, |