7,8c7
<
<
---
>
10c9
<
Candlestick or Waterfall Chart - RJM Programming - http://www.rjmprogramming.com.au (Copyright © 2013 rjmprogramming.com.au all rights reserved.)
---
> Candlestick Chart - RJM Programming - http://www.rjmprogramming.com.au (Copyright © 2013 rjmprogramming.com.au all rights reserved.)
13d11
<
17,21d14
< $candlestick = "Candlestick";
< $xgd = "";
< $gd = "";
< $ntt=false;
< $nondefs="legend:'none', width:600, height:400";
24c17
< $GETvalue = "Low,Opening,Closing,High";
---
> $GETvalue = "Value1,Value2,Value3,Value4";
33,49d25
< $ourtitles=explode(";", $_GET['title']);
< if (sizeof($ourtitles) > 1 && strpos(strtolower($ourtitles[0]), "waterfall") !== false) {
< $candlestick = "Waterfall";
< $nondefs.=", bar: { groupWidth: '100%' }, candlestick: { fallingColor: { strokeWidth: 0, fill: '#a52714' }, risingColor: { strokeWidth: 0, fill: '#0f9d58' } } ";
< }
< $GETtitle = $ourtitles[sizeof($ourtitles) - 1];
< } else if (isset($_POST['data'])) {
< $GETtitle = urldecode($_POST['title']);
< //$GETlabel = urldecode($_POST['label']);
< //$GETvalue = urldecode($_POST['value']);
< $GETdata = urldecode($_POST['data']);
< $ourtitles=explode(";", urldecode($_POST['title']));
< if (sizeof($ourtitles) > 1 && strpos(strtolower($ourtitles[0]), "waterfall") !== false) {
< $candlestick = "Waterfall";
< $nondefs=", legend: 'none', bar: { groupWidth: '100%' }, candlestick: { fallingColor: { strokeWidth: 0, fill: '#a52714' }, risingColor: { strokeWidth: 0, fill: '#0f9d58' } } ";
< }
< $GETtitle = $ourtitles[sizeof($ourtitles) - 1];
52,56d27
<
< $newextras=$nondefs;
<
<
< echo " var refresh=0; prerefresh=0; \n";
60,93c31
< // A column for custom tooltip content
< if ((isset($_GET['data']) || isset($_POST['data'])) && (isset($_GET['tooltip']) || isset($_POST['tooltip']) || strpos($GETdata, "'") !== false || strpos($GETdata, '"') !== false)) {
< $ntt=true;
< //$newextras=$nondefs . ", focusTarget: 'category', tooltip: {isHtml: true} ";
< $newextras=$nondefs . ", tooltip: {isHtml: true}, showTip: true"; //, selectionMode: 'multiple', tooltip: {trigger: 'selection'}, aggregationTarget: 'none' ";
< echo " var tooltip = [ \n";
< $bits=explode("~,", substr($GETdata,1));
< $delts="";
< for ($iy=1; $iy", $postbits[0]));
< echo $delts . str_replace("%3C", "<", str_replace("%3E", ">", $postbits[0]));
< $delts=",";
< }
< echo "]; \n";
< $gd=$GETdata;
< for ($iy=1; $iy echo ' var data = google.visualization.arrayToDataTable([ ' . "\n";
97d34
< }
106,152c43
<
< if ($ntt) {
<
< //echo " var selection; \n";
< echo " var sliceid = 0; /" . "/ thanks to https://gist.github.com/alexrainman/bb8d49357250df0859c0 \n";
<
< echo " function checkhere() { prerefresh++; if (prerefresh == 20) { if (refresh == 0) { refresh=1; document.getElementById('ihide').value=1; } } \n";
< echo " refresh=document.getElementById('ihide').value; if (refresh != 0) { prerefresh=0; refresh++; document.getElementById('ihide').value=refresh; if (refresh == 10) { var huhss=document.URL.split('&xx='); if (huhss.length == 1) { location.href=document.URL + '&xx=1'; } else { var two=eval(huhss[1]); two++; location.href=huhss[0] + '&xx=' + two; } } } setTimeout(checkhere,1000); \n } \n";
<
< echo " checkhere(); \n";
<
< echo " function eventHandler(e){ \n";
< echo " chart.setSelection([e]); \n";
< echo " try { \n";
< echo " selection = chart.getSelection(); \n";
< echo " sliceid = selection[0].row; \n";
< echo " } \n";
< echo " catch(err) { \n";
< echo " ; \n";
< echo " } \n";
< echo ' $(".google-visualization-tooltip-item-list li:eq(0)").css("font-weight", "bold"); ' . "\n";
< echo ' $(".google-visualization-tooltip-item-list li:eq(1)").html(tooltip[sliceid]).css("font-family", "Arial"); ' . "\n";
< echo " } \n";
<
< echo " function ceventHandler(e){ document.getElementById('ihide').value='1'; \n";
< //echo " google.visualization.events.addListener(chart, 'select', eventHandler); \n";
< echo " chart.setSelection([e]); \n";
< echo " try { \n";
< echo " selection = chart.getSelection(); \n";
< echo " sliceid = selection[0].row; \n";
< echo " } \n";
< echo " catch(err) { \n";
< echo " ; \n";
< echo " } \n";
< echo ' $(".google-visualization-tooltip-item-list li:eq(0)").css("font-weight", "bold"); ' . "\n";
< echo ' $(".google-visualization-tooltip-item-list li:eq(1)").html(tooltip[sliceid]).css("font-family", "Verdana"); ' . "\n";
< echo " } \n";
<
<
< if (strpos($xgd, "<") !== false) {
< //echo " google.visualization.events.addListener(chart, 'select', eventHandler); \n";
< echo " google.visualization.events.addListener(chart, 'onmouseover', ceventHandler); \n";
< } else {
< echo " google.visualization.events.addListener(chart, 'onmouseover', eventHandler); \n";
< }
< }
< echo " chart.draw(data, {" . $newextras . "}); \n } \n";
---
> echo " chart.draw(data, {legend:'none', width:600, height:400}); \n } \n";
156d46
< if (!isset($_GET['value'])) {
158,161c48
< } else {
< echo " \n";
< }
< echo " " . $GETtitle . " " . $candlestick . " Chart
\n";
---
> echo " " . $GETtitle . " Candlestick Chart
\n";
164c51
< echo 'Another ' . strtolower($candlestick) . ' chart?' . " \n";
---
> echo 'Another candlestick chart?' . " \n";
168,169d54
< echo ' var dlsa, dlp2="", exra = "", four; ' . "\n";
< echo ' var iof=0; ' . "\n";
171c56
< echo ' var extra = "", subtitle=["' . $GETtitle . '"]; ' . "\n";
---
> echo ' var extra = ""; ' . "\n";
177,178c62,63
< echo ' var title = prompt("Enter Candlestick Chart Title (prefix waterfall (followed by ;) before title is an available option)", "' . $GETtitle . '"); ' . "\n";
< echo ' if (title != null) { subtitle=title.split(";"); ' . "\n";
---
> echo ' var title = prompt("Enter Candlestick Chart Title", "' . $GETtitle . '"); ' . "\n";
> echo ' if (title != null) { ' . "\n";
186,188c71
< //echo ' datalineprefix = prompt("Enter " + label + " " + thisline, ""); ' . "\n";
< echo " datalineprefix = prompt('Enter ' + label + ' ' + thisline + ' (optionally append with ' + '\\n\\n' + ',\"A tooltip (regarding low: {n1} opening: {n2} closing: {n3} high: {n4}) of some sort like {day}\" ' + '\\n\\n' + ' or maybe perhaps ' + '\\n\\n' + ',\"A tooltip (regarding low: {n1} opening: {n2} closing: {n3} high: {n4}) of some sort like {day}\"' + '\\n\\n' + ' as an example of what is possible with HTML included)', ''); " . "\n";
< echo ' if (datalineprefix != null) { iof=0; dlsa=datalineprefix.split(","); if (dlsa.length > 1 && (eval(-1 + iof + datalineprefix.indexOf(String.fromCharCode(39))) > eval(datalineprefix.indexOf(",")) && eval(-1 + iof + datalineprefix.indexOf(String.fromCharCode(34))) > eval(datalineprefix.indexOf(",")))) { while (eval(-1 + iof + datalineprefix.indexOf(String.fromCharCode(39))) > eval(datalineprefix.indexOf(",")) && eval(-1 + iof + datalineprefix.indexOf(String.fromCharCode(34))) > eval(datalineprefix.indexOf(","))) { datalineprefix=datalineprefix.replace(",", "%2C"); iof+=0; } } datalineprefix=datalineprefix.replace(/#/g, "%23"); if (datalineprefix.indexOf("{") != -1 && datalineprefix.indexOf(",") != -1) { dlsa=datalineprefix.split(","); if (dlsa.length > 1) { datalineprefix=datalineprefix.replace("{day}",encodeURIComponent(dlsa[0])).replace("{day}",encodeURIComponent(dlsa[0])).replace("{day}",encodeURIComponent(dlsa[0])).replace("{day}",encodeURIComponent(dlsa[0])).replace("{title}",encodeURIComponent(subtitle[eval(-1 + subtitle.length)])).replace("{title}",encodeURIComponent(subtitle[eval(-1 + subtitle.length)])); } } } ' . "\n";
---
> echo ' datalineprefix = prompt("Enter " + label + " " + thisline, ""); ' . "\n";
190,195c73
< echo ' if (datalinesuffix.length != 0) { ' . "\n";
< //echo ' datalineprefix = prompt("Enter " + label + " " + thisline + " (for no more hit Cancel button)", ""); ' . "\n";
< echo " datalineprefix = prompt('Enter ' + label + ' ' + thisline + ' (for no more please hit Cancel button and optionally append with ' + '\\n\\n' + ',\"A tooltip (regarding low: {n1} opening: {n2} closing: {n3} high: {n4}) of some sort like {day}\" ' + '\\n\\n' + ' or maybe perhaps ' + '\\n\\n' + ',\"A tooltip (regarding low: {n1} opening: {n2} closing: {n3} high: {n4}) of some sort like {day}\"' + '\\n\\n' + ' as an example of what is possible with HTML included)', ''); " . "\n";
< echo ' if (datalineprefix != null) { iof=0; dlsa=datalineprefix.split(","); if (dlsa.length > 1 && (eval(-1 + iof + datalineprefix.indexOf(String.fromCharCode(39))) > eval(datalineprefix.indexOf(",")) && eval(-1 + iof + datalineprefix.indexOf(String.fromCharCode(34))) > eval(datalineprefix.indexOf(",")))) { while (eval(-1 + iof + datalineprefix.indexOf(String.fromCharCode(39))) > eval(datalineprefix.indexOf(",")) && eval(-1 + iof + datalineprefix.indexOf(String.fromCharCode(34))) > eval(datalineprefix.indexOf(","))) { datalineprefix=datalineprefix.replace(",", "%2C"); iof+=0; } } datalineprefix=datalineprefix.replace(/#/g, "%23"); if (datalineprefix.indexOf("{") != -1 && datalineprefix.indexOf(",") != -1) { dlsa=datalineprefix.split(","); if (dlsa.length > 1) { datalineprefix=datalineprefix.replace("{day}",encodeURIComponent(dlsa[0])).replace("{day}",encodeURIComponent(dlsa[0])).replace("{day}",encodeURIComponent(dlsa[0])).replace("{day}",encodeURIComponent(dlsa[0])).replace("{title}",encodeURIComponent(subtitle[eval(-1 + subtitle.length)])).replace("{title}",encodeURIComponent(subtitle[eval(-1 + subtitle.length)])); } } } ' . "\n";
< echo ' } ' . "\n";
< //echo ' } ' . "\n";
---
> echo ' if (datalinesuffix.length != 0) datalineprefix = prompt("Enter " + label + " " + thisline + " (for no more hit Cancel button)", ""); ' . "\n";
218,221c96
< echo ' if (datalinesuffix != null) { four=datalinesuffix.split(","); datalineprefix = datalineprefix.replace("{n1}", four[0]).replace("{n2}", four[1]).replace("{n3}", four[2]).replace("{n4}", four[3]).replace("{n1}", four[0]).replace("{n2}", four[1]).replace("{n3}", four[2]).replace("{n4}", four[3]).replace("{title}", encodeURIComponent(subtitle[eval(-1 + subtitle.length)])); } ' . "\n";
< //echo ' datac = datac + comma + " [~" + datalineprefix + "~," + datalinesuffix + "] "; ' . "\n";
< echo ' if (datalineprefix.indexOf("' . "'" . '") == -1) { four=datalinesuffix.split(","); if (exra != "") { exra=String.fromCharCode(39) + " low: " + four[0] + " opening: " + four[1] + " closing: " + four[2] + " high: " + four[3] + String.fromCharCode(39) + ","; } datac = datac + comma + " [~" + datalineprefix + "~," + exra + datalinesuffix + "] "; } ' . "\n";
< echo ' if (datalineprefix.indexOf("' . "'" . '") != -1) { four=datalinesuffix.split(","); exra=String.fromCharCode(39) + " low: " + four[0] + " opening: " + four[1] + " closing: " + four[2] + " high: " + four[3] + String.fromCharCode(39) + ","; datac = datac + comma + " [~" + datalineprefix.replace(",", "~,") + "," + datalinesuffix + "] "; } ' . "\n";
---
> echo ' datac = datac + comma + " [~" + datalineprefix + "~," + datalinesuffix + "] "; ' . "\n";
230d104
<