| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- //= require ./ajax
- AmCharts.RB.RemoteJSONProvider = AmCharts.RB.Util.Class.create(function()
- {
- function state_changed()
- {
- var response = this.request.response;
- if (response.ready_state() == 4)
- {
- if (response.status() == 200)
- {
- this.completed = true;
- this.started = false;
- this.data = response.get_json();
- if (this.chart) this.chart.load_data(this.data);
- }
- else if (this.chart)
- {
- this.chart.failed("Error loading chart data: " + this.url);
- }
- }
- }
- return {
- request: null,
- initialize: function(chart, url, params, method)
- {
- this.url = url;
- this.completed = this.started = false
- this.params = params;
- this.method = method || 'GET';
- if (chart) this.chart = new AmCharts.RB.Chart(chart);
- },
- load: function(defer)
- {
- this.started = true;
- setTimeout(function(){
- this.request = new AmCharts.RB.Ajax.Request(this.url, this.params, this.method, state_changed.bind(this));
- }.bind(this), defer || 0)
- },
- loaded: function()
- {
- return this.completed;
- },
- loading: function()
- {
- return !this.loaded() && this.started;
- }
- }
- }());
|