Use status of member colors into pie chart
This commit is contained in:
parent
102b8f3f60
commit
74fa8d90e7
@ -198,9 +198,12 @@ if ($conf->use_javascript_ajax)
|
|||||||
$dataseries[] = array($langs->trans("MembersStatusResiliated"), round($SommeD));
|
$dataseries[] = array($langs->trans("MembersStatusResiliated"), round($SommeD));
|
||||||
$dataseries[] = array($langs->trans("MembersStatusToValid"), round($SommeA));
|
$dataseries[] = array($langs->trans("MembersStatusToValid"), round($SommeA));
|
||||||
|
|
||||||
|
include_once DOL_DOCUMENT_ROOT.'/theme/'.$conf->theme.'/theme_vars.inc.php';
|
||||||
|
|
||||||
include_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php';
|
||||||
$dolgraph = new DolGraph();
|
$dolgraph = new DolGraph();
|
||||||
$dolgraph->SetData($dataseries);
|
$dolgraph->SetData($dataseries);
|
||||||
|
$dolgraph->SetDataColor(array($badgeStatus1, $badgeStatus4, $badgeStatus6, '-'.$badgeStatus0));
|
||||||
$dolgraph->setShowLegend(1);
|
$dolgraph->setShowLegend(1);
|
||||||
$dolgraph->setShowPercent(1);
|
$dolgraph->setShowPercent(1);
|
||||||
$dolgraph->SetType(array('pie'));
|
$dolgraph->SetType(array('pie'));
|
||||||
|
|||||||
@ -120,20 +120,6 @@ class DolGraph
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
|
||||||
/**
|
|
||||||
* Set Y precision
|
|
||||||
*
|
|
||||||
* @param float $which_prec Precision
|
|
||||||
* @return boolean
|
|
||||||
* @deprecated
|
|
||||||
*/
|
|
||||||
public function SetPrecisionY($which_prec)
|
|
||||||
{
|
|
||||||
// phpcs:enable
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||||
/**
|
/**
|
||||||
* Utiliser SetNumTicks ou SetHorizTickIncrement mais pas les 2
|
* Utiliser SetNumTicks ou SetHorizTickIncrement mais pas les 2
|
||||||
@ -729,7 +715,6 @@ class DolGraph
|
|||||||
$x++;
|
$x++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO Avoid push by adding generated long array...
|
|
||||||
if (isset($this->type[$firstlot]) && $this->type[$firstlot] == 'pie')
|
if (isset($this->type[$firstlot]) && $this->type[$firstlot] == 'pie')
|
||||||
{
|
{
|
||||||
foreach ($values as $x => $y) {
|
foreach ($values as $x => $y) {
|
||||||
@ -784,7 +769,10 @@ class DolGraph
|
|||||||
if (isset($this->type[$firstlot]) && ($this->type[$firstlot] == 'pie' || $this->type[$firstlot] == 'polar'))
|
if (isset($this->type[$firstlot]) && ($this->type[$firstlot] == 'pie' || $this->type[$firstlot] == 'polar'))
|
||||||
{
|
{
|
||||||
$datacolor = array();
|
$datacolor = array();
|
||||||
foreach ($this->datacolor as $val) $datacolor[] = "#".sprintf("%02x%02x%02x", $val[0], $val[1], $val[2]);
|
foreach ($this->datacolor as $val) {
|
||||||
|
if (is_array($val)) $datacolor[] = "#".sprintf("%02x%02x%02x", $val[0], $val[1], $val[2]); // If datacolor is array(R, G, B)
|
||||||
|
else $datacolor[] = "#".str_replace(array('#', '-'), '', $val); // If $val is '124' or '#124'
|
||||||
|
}
|
||||||
|
|
||||||
$urltemp = ''; // TODO Add support for url link into labels
|
$urltemp = ''; // TODO Add support for url link into labels
|
||||||
$showlegend = $this->showlegend;
|
$showlegend = $this->showlegend;
|
||||||
@ -994,7 +982,6 @@ class DolGraph
|
|||||||
$x++;
|
$x++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO Avoid push by adding generated long array...
|
|
||||||
if (isset($this->type[$firstlot]) && $this->type[$firstlot] == 'pie')
|
if (isset($this->type[$firstlot]) && $this->type[$firstlot] == 'pie')
|
||||||
{
|
{
|
||||||
$j = 0;
|
$j = 0;
|
||||||
@ -1062,22 +1049,44 @@ class DolGraph
|
|||||||
{
|
{
|
||||||
$type = $this->type[$firstlot]; // pie or polar
|
$type = $this->type[$firstlot]; // pie or polar
|
||||||
|
|
||||||
$this->stringtoshow .= 'var options = {
|
$this->stringtoshow .= 'var options = { elements: { arc: {'."\n";
|
||||||
elements: {
|
$this->stringtoshow .= 'backgroundColor: [';
|
||||||
arc: {
|
$i = 0; $foundnegativecolor = 0;
|
||||||
backgroundColor: [';
|
foreach($legends as $val) // Loop on each serie
|
||||||
|
{
|
||||||
|
if ($i > 0) $this->stringtoshow .= ', '."\n";
|
||||||
|
if (is_array($this->datacolor[$i])) $color = 'rgb('.$this->datacolor[$i][0].', '.$this->datacolor[$i][1].', '.$this->datacolor[$i][2].')'; // If datacolor is array(R, G, B)
|
||||||
|
else {
|
||||||
|
$tmp = str_replace('#', '', $this->datacolor[$i]);
|
||||||
|
if (strpos($tmp, '-') !== false) {
|
||||||
|
$foundnegativecolor++;
|
||||||
|
$color = '#FFFFFF'; // If $val is '-123'
|
||||||
|
}
|
||||||
|
else $color = "#".$tmp; // If $val is '123' or '#123'
|
||||||
|
}
|
||||||
|
$this->stringtoshow .= "'".$color."'";
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
$this->stringtoshow .= '], '."\n";
|
||||||
|
|
||||||
|
if ($foundnegativecolor) {
|
||||||
|
$this->stringtoshow .= 'borderColor: [';
|
||||||
$i = 0;
|
$i = 0;
|
||||||
foreach($legends as $val) // Loop on each serie
|
foreach($legends as $val) // Loop on each serie
|
||||||
{
|
{
|
||||||
if ($i > 0) $this->stringtoshow .= ', '."\n";
|
if ($i > 0) $this->stringtoshow .= ', '."\n";
|
||||||
$color = 'rgb('.$this->datacolor[$i][0].', '.$this->datacolor[$i][1].', '.$this->datacolor[$i][2].')';
|
if (is_array($this->datacolor[$i])) $color = 'null'; // If datacolor is array(R, G, B)
|
||||||
$this->stringtoshow .= "'".$color."'";
|
else {
|
||||||
|
$tmp = str_replace('#', '', $this->datacolor[$i]);
|
||||||
|
if (strpos($tmp, '-') !== false) $color = '#'.str_replace('-', '', $tmp); // If $val is '-123'
|
||||||
|
else $color = 'null'; // If $val is '123' or '#123'
|
||||||
|
}
|
||||||
|
$this->stringtoshow .= ($color == 'null' ? "'rgba(0,0,0,0.2)'" : "'".$color."'");
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
$this->stringtoshow .= ']
|
$this->stringtoshow .= ']';
|
||||||
}
|
}
|
||||||
}
|
$this->stringtoshow .= '} } };'."\n";
|
||||||
};'."\n";
|
|
||||||
|
|
||||||
$this->stringtoshow .= '
|
$this->stringtoshow .= '
|
||||||
var ctx = document.getElementById("canvas_'.$tag.'").getContext("2d");
|
var ctx = document.getElementById("canvas_'.$tag.'").getContext("2d");
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user