=== modified file 'dhis-2/dhis-web/dhis-web-visualizer/src/main/java/org/hisp/dhis/visualizer/action/InitializeAction.java'
--- dhis-2/dhis-web/dhis-web-visualizer/src/main/java/org/hisp/dhis/visualizer/action/InitializeAction.java 2013-06-26 12:18:21 +0000
+++ dhis-2/dhis-web/dhis-web-visualizer/src/main/java/org/hisp/dhis/visualizer/action/InitializeAction.java 2013-08-02 12:12:32 +0000
@@ -86,8 +86,24 @@
}
// -------------------------------------------------------------------------
+ // Input
+ // -------------------------------------------------------------------------
+
+ private String callback;
+
+ public void setCallback( String callback )
+ {
+ this.callback = callback;
+ }
+
+ // -------------------------------------------------------------------------
// Output
// -------------------------------------------------------------------------
+
+ public String getCallback()
+ {
+ return callback;
+ }
private String contextPath;
=== modified file 'dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/index.html'
--- dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/index.html 2013-07-01 15:58:16 +0000
+++ dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/index.html 2013-08-02 12:12:32 +0000
@@ -8,7 +8,6 @@
-
=== renamed file 'dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/plugin/index.html' => 'dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/plugin.html'
--- dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/plugin/index.html 2012-06-16 21:17:34 +0000
+++ dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/plugin.html 2013-08-03 10:23:34 +0000
@@ -1,173 +1,44 @@
+
-
-
+
+
+
+
-
-
-
- My chart 1
+ CHART 1
- My chart 2
+ CHART 2
-
- My chart 3
-
-
- My table 1
-
-
- My table 2
-
-
- My URL
-
=== modified file 'dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/app.js'
--- dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/app.js 2013-07-24 10:23:02 +0000
+++ dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/app.js 2013-08-03 09:41:28 +0000
@@ -532,12 +532,6 @@
}
};
- util.str = {
- replaceAll: function(str, find, replace) {
- return str.replace(new RegExp(find, 'g'), replace);
- }
- };
-
return util;
};
=== modified file 'dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/core.js'
--- dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/core.js 2013-07-24 10:23:02 +0000
+++ dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/core.js 2013-08-03 10:00:57 +0000
@@ -1,3 +1,13 @@
+if (!('DV' in window)) {
+ DV = {};
+}
+
+if(!('i18n' in DV)) {
+ DV.i18n = {};
+}
+
+DV.debug = false;
+
DV.core = {
instances: []
};
@@ -366,15 +376,15 @@
util.mask = {
showMask: function(cmp, str) {
- if (DV.mask) {
- DV.mask.destroy();
+ if (dv.mask) {
+ dv.mask.destroy();
}
- DV.mask = new Ext.LoadMask(cmp, {msg: str});
- DV.mask.show();
+ dv.mask = new Ext.LoadMask(cmp, {msg: str});
+ dv.mask.show();
},
hideMask: function() {
- if (DV.mask) {
- DV.mask.hide();
+ if (dv.mask) {
+ dv.mask.hide();
}
}
};
@@ -401,6 +411,12 @@
}
};
+ util.str = {
+ replaceAll: function(str, find, replace) {
+ return str.replace(new RegExp(find, 'g'), replace);
+ }
+ };
+
util.value = {
jsonfy: function(values) {
var a = [];
@@ -1044,14 +1060,15 @@
return Ext.Array.max(sums);
};
-
-
-console.log("data", data);
-console.log("rangeFields", store.rangeFields);
-console.log("domainFields", store.domainFields);
-console.log("trendLineFields", store.trendLineFields);
-console.log("targetLineFields", store.targetLineFields);
-console.log("baseLineFields", store.baseLineFields);
+
+ if (DV.debug) {
+ console.log("data", data);
+ console.log("rangeFields", store.rangeFields);
+ console.log("domainFields", store.domainFields);
+ console.log("trendLineFields", store.trendLineFields);
+ console.log("targetLineFields", store.targetLineFields);
+ console.log("baseLineFields", store.baseLineFields);
+ }
return store;
};
@@ -1789,7 +1806,7 @@
return;
}
- dv.util.mask.showMask(dv.viewport);
+ dv.util.mask.showMask(dv.viewport.centerRegion);
Ext.Ajax.request({
method: 'GET',
@@ -1844,42 +1861,71 @@
dv.layout = layout;
dv.xLayout = xLayout;
dv.xResponse = xResponse;
-
-console.log("xResponse", xResponse);
-console.log("xLayout", xLayout);
-console.log("layout", layout);
+
+ if (DV.debug) {
+ console.log("xResponse", xResponse);
+ console.log("xLayout", xLayout);
+ console.log("layout", layout);
+ }
}
});
}();
},
- loadChart: function(id) {
+ loadChart: function(id, isJsonP) {
+ var url = dv.baseUrl + '/api/charts/' + id,
+ params = '?viewClass=dimensional&links=false',
+ method = 'GET',
+ success,
+ failure;
+
if (!Ext.isString(id)) {
alert('Invalid id');
return;
}
-
- Ext.Ajax.request({
- url: dv.baseUrl + '/api/charts/' + id + '.json?viewClass=dimensional&links=false',
- method: 'GET',
- failure: function(r) {
- dv.util.mask.hideMask();
- alert(r.responseText);
- },
- success: function(r) {
- var layoutConfig = Ext.decode(r.responseText),
- layout = dv.api.layout.Layout(layoutConfig);
-
- if (layout) {
- dv.favorite = Ext.clone(layout);
- dv.favorite.id = layoutConfig.id;
- dv.favorite.name = layoutConfig.name;
-
- dv.viewport.setFavorite(layout);
- }
+
+ success = function(layoutConfig) {
+ var layout = dv.api.layout.Layout(layoutConfig);
+
+ if (layout) {
+ dv.favorite = Ext.clone(layout);
+ dv.favorite.id = layoutConfig.id;
+ dv.favorite.name = layoutConfig.name;
+
+ dv.viewport.setFavorite(layout);
}
- });
+ };
+
+ failure = function(responseText) {
+ dv.util.mask.hideMask();
+ alert(responseText);
+ };
+
+ if (isJsonP) {
+ Ext.data.JsonP.request({
+ url: url + '.jsonp' + params,
+ method: method,
+ failure: function(r) {
+ failure(r);
+ },
+ success: function(r) {
+ success(r);
+ }
+ });
+ }
+ else {
+ Ext.Ajax.request({
+ url: url + '.json' + params,
+ method: method,
+ failure: function(r) {
+ failure(r.responseText);
+ },
+ success: function(r) {
+ success(Ext.decode(r.responseText));
+ }
+ });
+ }
},
analytical2layout: function(analytical) {
=== added file 'dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/plugin.js'
--- dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/plugin.js 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/plugin.js 2013-08-03 09:55:27 +0000
@@ -0,0 +1,94 @@
+DV.plugin = {};
+DV.plugin.init = {};
+
+Ext.onReady(function() {
+ Ext.Ajax.method = 'GET';
+
+ document.body.oncontextmenu = function() {
+ return false;
+ };
+
+ DV.plugin.getChart = function(config) {
+ var validateConfig,
+ afterRender,
+ createViewport,
+ dv,
+ initialize;
+
+ validateConfig = function(config) {
+ if (!Ext.isObject(config)) {
+ console.log('Invalid chart configuration');
+ return;
+ }
+
+ if (!Ext.isString(config.el)) {
+ console.log('No element provided');
+ return;
+ }
+
+ if (!Ext.isString(config.uid)) {
+ console.log('No chart uid provided');
+ return;
+ }
+
+ return true;
+ };
+
+ afterRender = function() {};
+
+ createViewport = function() {
+ var el = Ext.get(dv.el),
+ setFavorite,
+ centerRegion,
+ width,
+ height;
+
+ width = el.getWidth() - parseInt(el.getStyle('border-left-width')) - parseInt(el.getStyle('border-right-width'));
+ height = el.getHeight() - parseInt(el.getStyle('border-top-width')) - parseInt(el.getStyle('border-bottom-width'));
+
+ setFavorite = function(layout) {
+ dv.util.chart.createChart(layout, dv);
+ };
+
+ centerRegion = Ext.create('Ext.panel.Panel', {
+ renderTo: el,
+ bodyStyle: 'border: 0 none',
+ width: config.width || width,
+ height: config.height || height,
+ layout: 'fit',
+ listeners: {
+ afterrender: function() {
+ afterRender();
+ }
+ }
+ });
+
+ return {
+ setFavorite: setFavorite,
+ centerRegion: centerRegion
+ };
+ };
+
+ initialize = function() {
+ if (!validateConfig(config)) {
+ return;
+ }
+
+ dv = DV.core.getInstance({
+ baseUrl: config.url,
+ el: config.el
+ });
+
+ dv.viewport = createViewport();
+
+ Ext.data.JsonP.request({
+ url: dv.baseUrl + '/dhis-web-visualizer/initialize.action',
+ success: function(r) {
+ dv.init = r;
+
+ dv.util.chart.loadChart(config.uid, true);
+ }
+ });
+ }();
+ };
+});
=== modified file 'dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/jsonInitialize.vm'
--- dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/jsonInitialize.vm 2013-06-26 12:18:21 +0000
+++ dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/jsonInitialize.vm 2013-08-02 12:12:32 +0000
@@ -1,4 +1,8 @@
-#set($oucSize = $currentUser.getOrganisationUnit().getSortedChildren().size()){
+#set($oucSize = $currentUser.getOrganisationUnit().getSortedChildren().size())
+#if($callback)$!{callback}
+(
+#end
+{
"contextPath":"$!{contextPath}",
"user":{"id":"$!currentUser.uid","name":"$currentUser.name","isAdmin":true,
"ou":{"id":"$currentUser.getOrganisationUnit().uid","name":"$currentUser.getOrganisationUnit().name"},
@@ -6,4 +10,7 @@
"rootNodes":[#foreach($node in $rootNodes){"id": "$!{node.uid}","text": "$!encoder.jsonEncode( ${node.name} )","level": 1,"hasChildrenWithCoordinates": $!{node.hasChildrenWithCoordinates()},"expanded": true}#if($velocityCount<$rootNodes.size()),#end#end],
"dimensions":[#foreach($dim in $dimensions){"id":"$!{dim.uid}","name":"$!encoder.jsonEncode($!{dim.name})"}#if($velocityCount<$dimensions.size()),#end#end],
"organisationUnitLevels":[#foreach($level in $levels){"id":"$!{level.uid}","name":"$!encoder.jsonEncode($!{level.name})","level":"$!{level.level}"}#if($velocityCount<$levels.size()),#end#end]
-}
\ No newline at end of file
+}
+#if($callback)
+)
+#end
\ No newline at end of file