=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/plugin/chart.js'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/plugin/chart.js 2013-10-15 17:37:29 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/plugin/chart.js 2013-10-16 12:10:40 +0000
@@ -2237,70 +2237,80 @@
};
initialize = function() {
- var url,
- xLayout,
- xResponse,
- chart;
-
- // Extended layout
- xLayout = engine.getExtendedLayout(layout);
-
- dv.paramString = engine.getParamString(xLayout, true);
- url = init.contextPath + '/api/analytics.json' + dv.paramString;
+ var xLayout = engine.getExtendedLayout(layout),
+ paramString = engine.getParamString(xLayout, true),
+ method = 'GET',
+ success;
+
+ success = function(response) {
+ var xResponse,
+ chart,
+ html,
+ response = dv.api.response.Response(response);
+
+ if (!response) {
+ dv.util.mask.hideMask(dv.viewport.centerRegion);
+ return;
+ }
+
+ // Synchronize xLayout
+ xLayout = getSyncronizedXLayout(xLayout, response);
+
+ if (!xLayout) {
+ dv.util.mask.hideMask(dv.viewport.centerRegion);
+ return;
+ }
+
+ // Extended response
+ xResponse = getExtendedResponse(response, xLayout);
+
+ // Create chart
+ chart = generator[xLayout.type](xResponse, xLayout);
+
+ // Update viewport
+ dv.viewport.centerRegion.removeAll(true);
+ dv.viewport.centerRegion.add(chart);
+
+ dv.paramString = paramString;
+
+ afterLoad(layout, xLayout, xResponse);
+ };
// Validate request size
- if (!validateUrl(url)) {
+ if (!validateUrl(init.contextPath + '/api/analytics.jsonp' + paramString)) {
return;
}
// Show load mask
util.mask.showMask(dv.viewport.centerRegion);
- Ext.Ajax.request({
- method: 'GET',
- url: url,
- callbackName: 'analytics',
- timeout: 60000,
- headers: {
- 'Content-Type': 'application/json',
- 'Accept': 'application/json'
- },
- disableCaching: false,
- failure: function(r) {
- util.mask.hideMask(dv.viewport.centerRegion);
- alert(r.responseText);
- },
- success: function(r) {
- var html,
- response = dv.api.response.Response(Ext.decode(r.responseText));
-
- if (!response) {
- dv.util.mask.hideMask(dv.viewport.centerRegion);
- return;
+ if (dv.isPlugin) {
+ Ext.data.JsonP.request({
+ method: method,
+ url: init.contextPath + '/api/analytics.jsonp' + paramString,
+ disableCaching: false,
+ success: success
+ });
+ }
+ else {
+ Ext.Ajax.request({
+ method: method,
+ url: init.contextPath + '/api/analytics.json' + paramString,
+ timeout: 60000,
+ headers: {
+ 'Content-Type': 'application/json',
+ 'Accept': 'application/json'
+ },
+ disableCaching: false,
+ failure: function(r) {
+ util.mask.hideMask(dv.viewport.centerRegion);
+ alert(r.responseText);
+ },
+ success: function(r) {
+ success(Ext.decode(r.responseText));
}
-
- // Synchronize xLayout
- xLayout = getSyncronizedXLayout(xLayout, response);
-
- if (!xLayout) {
- dv.util.mask.hideMask(dv.viewport.centerRegion);
- return;
- }
-
- // Extended response
- xResponse = getExtendedResponse(response, xLayout);
-
- // Create chart
- chart = generator[xLayout.type](xResponse, xLayout);
-
- // Update viewport
- dv.viewport.centerRegion.removeAll(true);
- dv.viewport.centerRegion.add(chart);
-
- afterLoad(layout, xLayout, xResponse);
- }
- });
-
+ });
+ }
}();
};
=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/plugin/table.js'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/plugin/table.js 2013-10-15 17:37:29 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/plugin/table.js 2013-10-16 12:10:40 +0000
@@ -2481,78 +2481,86 @@
}
};
- initialize = function() {
- var url,
- xLayout,
- xResponse,
- xColAxis,
- xRowAxis;
-
- // Extended layout
- xLayout = engine.getExtendedLayout(layout);
-
- // Param string
- pt.paramString = engine.getParamString(xLayout, true);
- url = pt.init.contextPath + '/api/analytics.json' + pt.paramString;
+ initialize = function() {
+ var xLayout = engine.getExtendedLayout(layout),
+ paramString = engine.getParamString(xLayout, true),
+ method = 'GET',
+ success;
+
+ success = function(response) {
+ var xResponse,
+ chart,
+ html,
+ response = pt.api.response.Response(response);
+
+ if (!response) {
+ pt.util.mask.hideMask(pt.viewport.centerRegion);
+ return;
+ }
+
+ // Synchronize xLayout
+ xLayout = getSyncronizedXLayout(xLayout, response);
+
+ if (!xLayout) {
+ pt.util.mask.hideMask(pt.viewport.centerRegion);
+ return;
+ }
+
+ // Extended response
+ xResponse = getExtendedResponse(response, xLayout);
+
+ // Extended axes
+ xColAxis = getExtendedAxis('col', xLayout.columnDimensionNames, xResponse);
+ xRowAxis = getExtendedAxis('row', xLayout.rowDimensionNames, xResponse);
+
+ // Create html
+ html = getTableHtml(xColAxis, xRowAxis, xResponse);
+
+ // Update viewport
+ pt.viewport.centerRegion.removeAll(true);
+ pt.viewport.centerRegion.update(html);
+
+ pt.paramString = paramString;
+
+ afterLoad(layout, xLayout, xResponse);
+ };
// Validate request size
- if (!validateUrl(url)) {
- return;
- }
+ if (!validateUrl(init.contextPath + '/api/analytics.jsonp' + paramString)) {
+ return;
+ }
// Show load mask
- pt.util.mask.showMask(pt.viewport.centerRegion);
-
- Ext.Ajax.request({
- method: 'GET',
- url: url,
- callbackName: 'analytics',
- timeout: 60000,
- headers: {
- 'Content-Type': 'application/json',
- 'Accept': 'application/json'
- },
- disableCaching: false,
- failure: function(r) {
- pt.util.mask.hideMask(pt.viewport.centerRegion);
- alert(r.responseText);
- },
- success: function(r) {
- var html,
- response = pt.api.response.Response(Ext.decode(r.responseText));
-
- if (!response) {
- pt.util.mask.hideMask(pt.viewport.centerRegion);
- return;
- }
-
- // Synchronize xLayout
- xLayout = getSyncronizedXLayout(xLayout, response);
-
- if (!xLayout) {
- pt.util.mask.hideMask(pt.viewport.centerRegion);
- return;
- }
-
- // Extended response
- xResponse = getExtendedResponse(response, xLayout);
-
- // Extended axes
- xColAxis = getExtendedAxis('col', xLayout.columnDimensionNames, xResponse);
- xRowAxis = getExtendedAxis('row', xLayout.rowDimensionNames, xResponse);
-
- // Create html
- html = getTableHtml(xColAxis, xRowAxis, xResponse);
-
- // Update viewport
- pt.viewport.centerRegion.removeAll(true);
- pt.viewport.centerRegion.update(html);
-
- afterLoad(layout, xLayout, xResponse);
- }
- });
-
- }();
+ util.mask.showMask(pt.viewport.centerRegion);
+
+ if (pt.isPlugin) {
+ Ext.data.JsonP.request({
+ method: method,
+ url: init.contextPath + '/api/analytics.jsonp' + paramString,
+ disableCaching: false,
+ success: success
+ });
+ }
+ else {
+ Ext.Ajax.request({
+ method: method,
+ url: init.contextPath + '/api/analytics.json' + paramString,
+ timeout: 60000,
+ headers: {
+ 'Content-Type': 'application/json',
+ 'Accept': 'application/json'
+ },
+ disableCaching: false,
+ failure: function(r) {
+ util.mask.hideMask(pt.viewport.centerRegion);
+ alert(r.responseText);
+ },
+ success: function(r) {
+ success(Ext.decode(r.responseText));
+ }
+ });
+ }
+ }();
};
engine.loadTable = function(id, pt, updateGui, isFavorite) {
=== modified file 'dhis-2/dhis-web/dhis-web-pivot/src/main/webapp/dhis-web-pivot/app/plugin.html'
--- dhis-2/dhis-web/dhis-web-pivot/src/main/webapp/dhis-web-pivot/app/plugin.html 2013-10-14 11:39:50 +0000
+++ dhis-2/dhis-web/dhis-web-pivot/src/main/webapp/dhis-web-pivot/app/plugin.html 2013-10-16 12:10:40 +0000
@@ -5,6 +5,10 @@
+