1 /*********************************************************************************
2 * SugarCRM is a customer relationship management program developed by
3 * SugarCRM, Inc. Copyright (C) 2004-2011 SugarCRM Inc.
5 * This program is free software; you can redistribute it and/or modify it under
6 * the terms of the GNU Affero General Public License version 3 as published by the
7 * Free Software Foundation with the addition of the following permission added
8 * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
9 * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
10 * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
12 * This program is distributed in the hope that it will be useful, but WITHOUT
13 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14 * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
17 * You should have received a copy of the GNU Affero General Public License along with
18 * this program; if not, see http://www.gnu.org/licenses or write to the Free
19 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22 * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
23 * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
25 * The interactive user interfaces in modified source and object code versions
26 * of this program must display Appropriate Legal Notices, as required under
27 * Section 5 of the GNU Affero General Public License version 3.
29 * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
30 * these Appropriate Legal Notices must retain the display of the "Powered by
31 * SugarCRM" logo. If the display of the logo is not reasonably feasible for
32 * technical reasons, the Appropriate Legal Notices must display the words
33 * "Powered by SugarCRM".
34 ********************************************************************************/
39 SUGAR.mySugar.sugarCharts = function() {
41 var activeTab = activePage,
42 charts = new Object(),
44 firstLoad = (SUGAR.isIE) ? true: false;
47 loadSugarCharts: function(activeTab) {
48 var chartFound = false;
49 for (id in charts[activeTab]){
50 if(id != 'undefined'){
52 //alert(charts[activeTab][id]['chartType']);
54 charts[activeTab][id]['chartId'],
55 charts[activeTab][id]['jsonFilename'],
56 charts[activeTab][id]['css'],
57 charts[activeTab][id]['chartConfig']
62 charts = new Object();
66 addToChartsArrayJson: function(json,activeTab) {
68 if(json[id]['supported'] == "true") {
69 SUGAR.mySugar.sugarCharts.addToChartsArray(
73 json[id]['chartConfig'],
78 addToChartsArray: function(chartId,jsonFilename,css,chartConfig,activeTab) {
80 if (charts[activeTab] == null){
81 charts[activeTab] = new Object();
83 charts[activeTab][chartId] = new Object();
84 charts[activeTab][chartId]['chartId'] = chartId;
85 charts[activeTab][chartId]['jsonFilename'] = jsonFilename;
86 charts[activeTab][chartId]['css'] = css;
87 charts[activeTab][chartId]['chartConfig'] = chartConfig;
90 refreshPage: function() {
91 var newWidth = document.body.offsetWidth;
92 if(newWidth != windowWidth && !firstLoad){
94 SUGAR.mySugar.loading.show();
95 document.getElementById('loading_c').style.display = 'inline';
96 setTimeout(function() {location.reload();}, 500);
99 SUGAR.mySugar.retrievePage(activePage);
101 SUGAR.mySugar.sugarCharts.loadSugarCharts(activePage);
105 windowWidth = newWidth;
108 refreshGraphs: function() {
110 setTimeout("SUGAR.mySugar.sugarCharts.refreshPage()", 1000);
117 YAHOO.util.Event.addListener(window, 'resize', SUGAR.mySugar.sugarCharts.refreshGraphs);