Upgrade to ExtJS 4.0.0 - Released 04/26/2011
[extjs.git] / src / chart / axis / Abstract.js
diff --git a/src/chart/axis/Abstract.js b/src/chart/axis/Abstract.js
new file mode 100644 (file)
index 0000000..193ae2f
--- /dev/null
@@ -0,0 +1,54 @@
+/**
+ * @class Ext.chart.axis.Abstract
+ * @ignore
+ */
+Ext.define('Ext.chart.axis.Abstract', {
+
+    /* Begin Definitions */
+
+    requires: ['Ext.chart.Chart'],
+
+    /* End Definitions */
+
+    constructor: function(config) {
+        config = config || {};
+
+        var me = this,
+            pos = config.position || 'left';
+
+        pos = pos.charAt(0).toUpperCase() + pos.substring(1);
+        //axisLabel(Top|Bottom|Right|Left)Style
+        config.label = Ext.apply(config['axisLabel' + pos + 'Style'] || {}, config.label || {});
+        config.axisTitleStyle = Ext.apply(config['axisTitle' + pos + 'Style'] || {}, config.labelTitle || {});
+        Ext.apply(me, config);
+        me.fields = [].concat(me.fields);
+        this.callParent();
+        me.labels = [];
+        me.getId();
+        me.labelGroup = me.chart.surface.getGroup(me.axisId + "-labels");
+    },
+
+    alignment: null,
+    grid: false,
+    steps: 10,
+    x: 0,
+    y: 0,
+    minValue: 0,
+    maxValue: 0,
+
+    getId: function() {
+        return this.axisId || (this.axisId = Ext.id(null, 'ext-axis-'));
+    },
+
+    /*
+      Called to process a view i.e to make aggregation and filtering over
+      a store creating a substore to be used to render the axis. Since many axes
+      may do different things on the data and we want the final result of all these
+      operations to be rendered we need to call processView on all axes before drawing
+      them.
+    */
+    processView: Ext.emptyFn,
+
+    drawAxis: Ext.emptyFn,
+    addDisplayAndLabels: Ext.emptyFn
+});