=== 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 @@ +