Ero sivun ”Widget:Leväbarometri” versioiden välillä
Järvi-meriwikistä
(20 välissä olevaa versiota samalta käyttäjältä ei näytetä) | |||
Rivi 14: | Rivi 14: | ||
setTimeout( function(){ <!--{$id|default:algalbarochart|escape:'html'}-->_jQueryTest() }, 300); | setTimeout( function(){ <!--{$id|default:algalbarochart|escape:'html'}-->_jQueryTest() }, 300); | ||
} else { | } else { | ||
− | + | <!--{$id|default:algalbarochart|escape:'html'}-->_func(); | |
− | |||
} | } | ||
} | } | ||
Rivi 23: | Rivi 22: | ||
// 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 32: | Rivi 31: | ||
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) { | ||
Rivi 193: | Rivi 190: | ||
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] = i18n( 'Liukuva keskiarvo' lang ) + '\n1998-'; | + | Rdata1[resultItem.Viikko[0]-minweek][4] = i18n( 'Liukuva keskiarvo', lang ) + '\n1998-'; |
− | Rdata1[resultItem.Viikko[0]-minweek][4] += '\n + i18n( 'Liian vähän havaintoja', lang ); | + | 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; | ||
Rivi 241: | Rivi 238: | ||
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] = i18n( 'Liukuva keskiarvo' lang ) + '\n1998-'; | + | Rdata2[resultItem.Viikko[0]-minweek][4] = i18n( 'Liukuva keskiarvo', lang ) + '\n1998-'; |
Rdata2[resultItem.Viikko[0]-minweek][4] += '\n' + i18n( 'Liian vähän havaintoja', lang ); | 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] = i18n( 'Liukuva keskiarvo' lang ) + '\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 268: | Rivi 265: | ||
function drawVisualization() { | function drawVisualization() { | ||
− | + | console.log( Rdata1 ); | |
if (meri != "1") { | if (meri != "1") { | ||
Rivi 279: | Rivi 276: | ||
data1 = new google.visualization.DataTable(); | data1 = new google.visualization.DataTable(); | ||
− | data1.addColumn('string', | + | data1.addColumn('string', 'Viikko'); |
data1.addColumn('number', vuosi); | data1.addColumn('number', vuosi); | ||
data1.addColumn({type:'string', role:'tooltip'}); | data1.addColumn({type:'string', role:'tooltip'}); | ||
Rivi 309: | Rivi 306: | ||
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 345: | Rivi 342: | ||
} | } | ||
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'}); | ||
Rivi 366: | Rivi 363: | ||
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'}-->" }, |