/** * @return ReportDataProviderToAmChartMakerAdapter */ public function makeReportDataProviderToAmChartMakerAdapter() { if (ChartRules::isStacked($this->report->getChart()->type)) { return $this->makeStackedReportDataProviderToAmChartMakerAdapter(); } else { return $this->makeNonStackedReportDataProviderToAmChartMakerAdapter(); } }
public function registerScripts() { parent::registerScripts(); $chartTypesRequiringSecondInputs = ChartRules::getChartTypesRequiringSecondInputs(); $script = ' if ($(".chart-selector:checked").val() != "") { $("#series-and-range-areas").detach().insertAfter( $(".chart-selector:checked").parent()).removeClass("hidden-element"); } $(".chart-selector").live("change", function() { onChangeChartType(this); } ); function onChangeChartType(changedChartObject) { $("#series-and-range-areas").detach().insertAfter( $(changedChartObject).parent() ).removeClass("hidden-element"); arr = ' . CJSON::encode($chartTypesRequiringSecondInputs) . '; if ($(changedChartObject).val() == "") { $("#series-and-range-areas").addClass("hidden-element") $(".first-series-and-range-area").hide(); $(".first-series-and-range-area").find("select option:selected").removeAttr("selected"); $(".first-series-and-range-area").find("select").prop("disabled", true); } else { $(".first-series-and-range-area").show(); $(".first-series-and-range-area").find("select").prop("disabled", false); } if ($.inArray($(changedChartObject).val(), arr) != -1) { $(".second-series-and-range-area").show(); $(".second-series-and-range-area").find("select").prop("disabled", false); } else { $(".second-series-and-range-area").hide(); $(".second-series-and-range-area").find("select option:selected").removeAttr("selected"); $(".second-series-and-range-area").find("select").prop("disabled", true); } } '; Yii::app()->getClientScript()->registerScript('ChartChangingScript', $script); }
protected function getDropDownArray() { return ChartRules::getSingleSeriesDataAndLabels(); }
/** * @return bool */ public function isStacked() { return ChartRules::isStacked($this->getType()); }
/** * Returns array of chart types and their corresponding labels * @return array */ public function getTypeDataAndLabels() { $data = array(); $types = ChartRules::availableTypes(); foreach ($types as $type) { $data[$type] = ChartRules::getTranslatedTypeLabel($type); } return $data; }