graph.js revision b8536d4d0d76ef6fa6779f434d574d0474baa0c8
bcb4e51a409d94ae670de96afb8483a4f7855294Stephan Boschfunction Graph (config)
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen{
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen Graph.superclass.constructor.apply(this, arguments);
e05a4c4136fec723f019bee8383103080203f127Timo Sirainen}
50c617761ee9653bd44646a95178773a3686d62eTimo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo SirainenGraph.NAME = "graph";
e2d268e9531227ead6a98466ecf3c046c857ef70Timo Sirainen
2b9dbb270ad82e58d5f3581436e6f143176d5819Timo SirainenGraph.ATTRS = {
fdc557286bc9f92c5f3bb49096ff6e2bcec0ea79Timo Sirainen /**
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen * Reference to the layout strategy used for displaying child items.
c04f9a724a7b3cc649485a61b0a540868d25d71bTimo Sirainen */
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen layout:
5da1aa5197a43d83f0fb3eeb83125c7cd73d1b62Timo Sirainen {
5da1aa5197a43d83f0fb3eeb83125c7cd73d1b62Timo Sirainen value:"LayerStack",
128ea07dab8d67124ea74bcc085a478784b6358aTimo Sirainen
c04f9a724a7b3cc649485a61b0a540868d25d71bTimo Sirainen //needs a setter
e2d268e9531227ead6a98466ecf3c046c857ef70Timo Sirainen
e2d268e9531227ead6a98466ecf3c046c857ef70Timo Sirainen validator: function(val)
c04f9a724a7b3cc649485a61b0a540868d25d71bTimo Sirainen {
d1fbd2c264368d8b4c7139b96e3b21f45930b857Timo Sirainen return Y.Array.indexOf(this.LAYOUTS, val) > -1;
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen }
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen },
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
eb0816090cf5a549280ad783b9aa6fec199d36baTimo Sirainen seriesCollection:
eb0816090cf5a549280ad783b9aa6fec199d36baTimo Sirainen {
9f19a50d5966643c4d1c5ca06868ac2ad31bc4d5Timo Sirainen validator: function(val)
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen {
c04f9a724a7b3cc649485a61b0a540868d25d71bTimo Sirainen return Y.Lang.isArray(val);
c51390c3ae6e373e7b4a052a94e8e4065b98321cAki Tuomi },
e2d268e9531227ead6a98466ecf3c046c857ef70Timo Sirainen
661998e2ccd772ad92a9d4a75cb712692a8c94b3Timo Sirainen setter: function(val)
eb0816090cf5a549280ad783b9aa6fec199d36baTimo Sirainen {
eb0816090cf5a549280ad783b9aa6fec199d36baTimo Sirainen this._seriesCollection = this._convertReferences(val);
2b9dbb270ad82e58d5f3581436e6f143176d5819Timo Sirainen }
900bb5e316d030cdebff7ee128ce65881dfb27f7Timo Sirainen },
50c617761ee9653bd44646a95178773a3686d62eTimo Sirainen
661998e2ccd772ad92a9d4a75cb712692a8c94b3Timo Sirainen handleEventListening: {
d4002fe1f64d25a792f76fb102ef7dc519cd4e24Martti Rannanjärvi validator: function(val)
661998e2ccd772ad92a9d4a75cb712692a8c94b3Timo Sirainen {
50c617761ee9653bd44646a95178773a3686d62eTimo Sirainen return Y.Lang.isBoolean(val);
50c617761ee9653bd44646a95178773a3686d62eTimo Sirainen },
50c617761ee9653bd44646a95178773a3686d62eTimo Sirainen
50c617761ee9653bd44646a95178773a3686d62eTimo Sirainen getter: function()
661998e2ccd772ad92a9d4a75cb712692a8c94b3Timo Sirainen {
d4002fe1f64d25a792f76fb102ef7dc519cd4e24Martti Rannanjärvi return this._handleEventListening;
661998e2ccd772ad92a9d4a75cb712692a8c94b3Timo Sirainen },
50c617761ee9653bd44646a95178773a3686d62eTimo Sirainen
50c617761ee9653bd44646a95178773a3686d62eTimo Sirainen setter: function(val)
50c617761ee9653bd44646a95178773a3686d62eTimo Sirainen {
50c617761ee9653bd44646a95178773a3686d62eTimo Sirainen this._handleEventListening = val;
eb0816090cf5a549280ad783b9aa6fec199d36baTimo Sirainen return val;
897368f75a68f97e172ba76540759a10c557f1c3Timo Sirainen }
50c617761ee9653bd44646a95178773a3686d62eTimo Sirainen }
50c617761ee9653bd44646a95178773a3686d62eTimo Sirainen};
50c617761ee9653bd44646a95178773a3686d62eTimo Sirainen
50c617761ee9653bd44646a95178773a3686d62eTimo Sirainen/**
eb0816090cf5a549280ad783b9aa6fec199d36baTimo Sirainen * Need to refactor to augment Attribute
eb0816090cf5a549280ad783b9aa6fec199d36baTimo Sirainen */
eb0816090cf5a549280ad783b9aa6fec199d36baTimo SirainenY.extend(Graph, Y.Container,
eb0816090cf5a549280ad783b9aa6fec199d36baTimo Sirainen{
01937f71b3ae0d5b30b813372f44a3e7e86c89dcTimo Sirainen _getArgs: function()
e2d268e9531227ead6a98466ecf3c046c857ef70Timo Sirainen {
e2d268e9531227ead6a98466ecf3c046c857ef70Timo Sirainen return [Y.JSON.stringify(this.get("seriesCollection")), this.get("handleEventListening")];
e2d268e9531227ead6a98466ecf3c046c857ef70Timo Sirainen },
e2d268e9531227ead6a98466ecf3c046c857ef70Timo Sirainen
e2d268e9531227ead6a98466ecf3c046c857ef70Timo Sirainen GUID:"yuigraph",
c04f9a724a7b3cc649485a61b0a540868d25d71bTimo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen /**
c04f9a724a7b3cc649485a61b0a540868d25d71bTimo Sirainen * @private
eb0816090cf5a549280ad783b9aa6fec199d36baTimo Sirainen * Indicates whether the Graph will act as a delegate for
c04f9a724a7b3cc649485a61b0a540868d25d71bTimo Sirainen * mouse events.
1f1ee8db68d9ae1604350801cd8dc33ebe29fe8aTimo Sirainen */
eb0816090cf5a549280ad783b9aa6fec199d36baTimo Sirainen _handleEventListening: false,
8828d7a1e76b7d301bcd7385aa27c52512e855ceTimo Sirainen
8828d7a1e76b7d301bcd7385aa27c52512e855ceTimo Sirainen /**
eb0816090cf5a549280ad783b9aa6fec199d36baTimo Sirainen * Reference to corresponding Actionscript class.
eb0816090cf5a549280ad783b9aa6fec199d36baTimo Sirainen */
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen AS_CLASS: "Graph",
897368f75a68f97e172ba76540759a10c557f1c3Timo Sirainen
897368f75a68f97e172ba76540759a10c557f1c3Timo Sirainen _seriesCollection:null,
1460ef7a18c53216ddb4a94bb62fba96076aae8eTimo Sirainen
897368f75a68f97e172ba76540759a10c557f1c3Timo Sirainen /**
eb0816090cf5a549280ad783b9aa6fec199d36baTimo Sirainen * Converts references of AS class wrappers to string references to used with
e2d268e9531227ead6a98466ecf3c046c857ef70Timo Sirainen * ExternalInterface.
e2d268e9531227ead6a98466ecf3c046c857ef70Timo Sirainen */
e2d268e9531227ead6a98466ecf3c046c857ef70Timo Sirainen _convertReferences: function(collection)
e2d268e9531227ead6a98466ecf3c046c857ef70Timo Sirainen {
e2d268e9531227ead6a98466ecf3c046c857ef70Timo Sirainen var i,
e2d268e9531227ead6a98466ecf3c046c857ef70Timo Sirainen len = collection.length,
e2d268e9531227ead6a98466ecf3c046c857ef70Timo Sirainen series,
e2d268e9531227ead6a98466ecf3c046c857ef70Timo Sirainen arr = [];
103b44c67f38862d1e72c9bfdf11f067b4670675Timo Sirainen for(i = 0; i < len; ++i)
103b44c67f38862d1e72c9bfdf11f067b4670675Timo Sirainen {
c04f9a724a7b3cc649485a61b0a540868d25d71bTimo Sirainen series = collection[i];
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen series.xAxisData = "$" + series.xAxisData._id + "data";
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen series.yAxisData = "$" + series.yAxisData._id + "data";
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen arr.push(series);
c04f9a724a7b3cc649485a61b0a540868d25d71bTimo Sirainen }
c04f9a724a7b3cc649485a61b0a540868d25d71bTimo Sirainen return arr;
d6badc27cd6e8d3398877b6766cb0aaeef3a7800Timo Sirainen }
c04f9a724a7b3cc649485a61b0a540868d25d71bTimo Sirainen});
c51390c3ae6e373e7b4a052a94e8e4065b98321cAki Tuomi
eb0816090cf5a549280ad783b9aa6fec199d36baTimo SirainenY.Graph = Graph;
acfeae4e2b5c2acdab88a1377ff6cd4a9b5f0a3aTimo Sirainen