| Server IP : 20.75.53.88 / Your IP : 216.73.217.138 [ Web Server : Apache System : Linux VMRALP-3 4.4.0-256-generic #290~14.04.1-Ubuntu SMP Thu Jun 20 09:24:50 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29+esm15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Domains : 3 Domains MySQL : ON | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/ouvidoria/pmporanga/js/RGraph/libraries/ |
Upload File : |
// version: 2014-08-16
/**
* o--------------------------------------------------------------------------------o
* | This file is part of the RGraph package - you can learn more at: |
* | |
* | http://www.rgraph.net |
* | |
* | This package is licensed under the Creative Commons BY-NC license. That means |
* | that for non-commercial purposes it's free to use and for business use there's |
* | a 99 GBP per-company fee to pay. You can read the full license here: |
* | |
* | http://www.rgraph.net/license |
* o--------------------------------------------------------------------------------o
*/
/**
* Initialise the various objects
*/
RGraph = window.RGraph || {isRGraph: true};
RGraph.CSV = function (url, func) {
var RG = RGraph,
ua = navigator.userAgent,
ma = Math;
/**
* Some default values
*/
this.url = url;
this.ready = func;
this.data = null;
this.numrows = null;
this.numcols = null;
this.seperator = arguments[2] || ',';
this.endofline = arguments[3] || /\r?\n/;
/**
* This function splits the CSV data into an array so that it can be useful.
*/
this.fetch = function () {
var sep = this.seperator;
var eol = this.endofline;
var obj = this;
if (this.url.substring(0, 3) == 'id:') {
// Get rid of any trailing slash
var data = document.getElementById(this.url.substring(3)).innerHTML.replace(/(\r?\n)+$/, '');
// Store the CSV data on the CSV object (ie - this object)
obj.data = data.split(eol);
// Store the number of rows
obj.numrows = obj.data.length;
for (var i = 0, len = obj.data.length; i < len; i += 1) {
var row = obj.data[i].split(sep);
if (!obj.numcols) {
obj.numcols = row.length;
}
/**
* If the cell is purely made up of numbers - convert it
*/
for (var j = 0; j < row.length; j += 1) {
if ((/^[0-9.]+$/).test(row[j])) {
row[j] = parseFloat(row[j]);
}
// Assign the split-up-row back to the data array
obj.data[i] = row;
}
}
// Call the ready function straight away
obj.ready(obj);
} else {
RGraph.AJAX.getString(this.url, function (data) {
data = data.replace(/(\r?\n)+$/, '');
obj.data = data.split(eol);
// Store the number of rows
obj.numrows = obj.data.length;
for (var i = 0, len = obj.data.length; i < len; i += 1) {
var row = obj.data[i].split(sep);
if (!obj.numcols) {
obj.numcols = row.length;
}
/**
* If the cell is purely made up of numbers - convert it
*/
for (var j = 0; j < row.length; j += 1) {
if ((/^\-?[0-9.]+$/).test(row[j])) {
row[j] = parseFloat(row[j]);
}
// Assign the split-up-row back to the data array
obj.data[i] = row;
}
}
// Call the ready function straight away
obj.ready(obj);
});
}
}
/**
* Returns a row of the CSV file
*
* @param number index The index of the row to fetch
* @param start OPTIONAL If desired you can specify a column to start at (which starts at 0 by default)
*/
this.getRow = function (index) {
var row = [];
var start = arguments[1] || 0;
for (var i = start; i < this.numcols; i += 1) {
row.push(this.data[index][i]);
}
return row;
}
/**
* Returns a column of the CSV file
*
* @param number index The index of the column to fetch
* @param start OPTIONAL If desired you can specify a row to start at (which starts at 0 by default)
*/
this.getCol =
this.getColumn = function (index) {
var col = [];
var start = arguments[1] || 0;
for (var i = start; i < this.numrows; i += 1) {
col.push(this.data[i][index]);
}
return col;
}
// Fetch the CSV file
this.fetch();
};