MDL-55030 core: Support setting defaults in charts
authorFrederic Massart <fred@moodle.com>
Tue, 28 Jun 2016 04:20:38 +0000 (12:20 +0800)
committerDan Poltawski <dan@moodle.com>
Mon, 25 Jul 2016 09:42:37 +0000 (10:42 +0100)
Part of MDL-54987 epic.

lib/amd/build/chart_base.min.js
lib/amd/src/chart_base.js
lib/classes/chart_base.php

index 0ec2d17..375f189 100644 (file)
Binary files a/lib/amd/build/chart_base.min.js and b/lib/amd/build/chart_base.min.js differ
index 113f39a..74da863 100644 (file)
@@ -30,6 +30,8 @@ define(['core/chart_series', 'core/chart_axis'], function(Series, Axis) {
         this._labels = [];
         this._xaxes = [];
         this._yaxes = [];
+
+        this._setDefaults();
     }
     Base.prototype._series = null;
     Base.prototype._labels = null;
@@ -123,6 +125,10 @@ define(['core/chart_series', 'core/chart_axis'], function(Series, Axis) {
         return this.__getAxis('y', index, createIfNotExists);
     };
 
+    Base.prototype._setDefaults = function() {
+        // For the children to extend.
+    };
+
     Base.prototype.setLabels = function(labels) {
         if (labels.length && this._series.length && this._series[0].length != labels.length) {
             throw new Error('Series must match label values.');
index 1bf9082..6abbcf5 100644 (file)
@@ -45,6 +45,7 @@ class chart_base implements JsonSerializable, renderable {
     protected $yaxes = [];
 
     public function __construct() {
+        $this->set_defaults();
     }
 
     public function add_series(chart_series $serie) {
@@ -114,6 +115,10 @@ class chart_base implements JsonSerializable, renderable {
         return $this->get_axis('y', $index, $createifnotexists);
     }
 
+    protected function set_defaults() {
+        // For the child classes to extend.
+    }
+
     public function set_labels(array $labels) {
         $this->labels = $labels;
     }