dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #13744
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 4488: (GIS) Basic orgunit filtering for symbol layer.
Merge authors:
Jan Henrik Øverland (janhenrik-overland)
------------------------------------------------------------
revno: 4488 [merge]
committer: Jan Henrik Overland <janhenrik.overland@xxxxxxxxx>
branch nick: dhis2
timestamp: Wed 2011-08-31 12:54:20 +0200
message:
(GIS) Basic orgunit filtering for symbol layer.
modified:
dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/javascript/global.js
dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/javascript/index.js
dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Centroid.js
dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Choropleth.js
dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Point.js
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/javascript/global.js'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/javascript/global.js 2011-08-31 09:58:04 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/javascript/global.js 2011-08-31 10:08:28 +0000
@@ -738,7 +738,6 @@
{
text: 'Filter..',
iconCls: 'menu-layeroptions-filter',
- hidden: widget.legendDiv == 'centroidlegend',
scope: this,
handler: function() {
this.widget.filtering.showFilteringWindow.call(this.widget);
=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/javascript/index.js'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/javascript/index.js 2011-08-30 14:45:40 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/javascript/index.js 2011-08-31 10:08:28 +0000
@@ -675,7 +675,7 @@
xtype: 'form',
labelWidth: G.conf.label_width,
items: [
- {html: '<div class="window-info">Export thematic map to PNG</div>'},
+ {html: '<div class="window-info">Export thematic layer 1 and 2 to PNG</div>'},
{
xtype: 'textfield',
id: 'exportimagetitle_tf',
=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Centroid.js'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Centroid.js 2011-08-29 15:24:44 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Centroid.js 2011-08-31 10:50:52 +0000
@@ -84,6 +84,135 @@
requireUpdate: false,
+ filtering: {
+ cache: [],
+ options: {
+ gt: null,
+ lt: null
+ },
+ cmp: {
+ gt: null,
+ lt: null,
+ button: null
+ },
+ filter: function() {
+ var gt = this.filtering.options.gt;
+ var lt = this.filtering.options.lt;
+ var add = [];
+ if (!gt && !lt) {
+ add = this.filtering.cache.slice(0);
+ }
+ else if (gt && lt) {
+ for (var i = 0; i < this.filtering.cache.length; i++) {
+ if (gt < lt && (this.filtering.cache[i].attributes.value > gt && this.filtering.cache[i].attributes.value < lt)) {
+ add.push(this.filtering.cache[i]);
+ }
+ else if (gt > lt && (this.filtering.cache[i].attributes.value > gt || this.filtering.cache[i].attributes.value < lt)) {
+ add.push(this.filtering.cache[i]);
+ }
+ else if (gt == lt && this.filtering.cache[i].attributes.value == gt) {
+ add.push(this.filtering.cache[i]);
+ }
+ }
+ }
+ else if (gt && !lt) {
+ for (var i = 0; i < this.filtering.cache.length; i++) {
+ if (this.filtering.cache[i].attributes.value > gt) {
+ add.push(this.filtering.cache[i]);
+ }
+ }
+ }
+ else if (!gt && lt) {
+ for (var i = 0; i < this.filtering.cache.length; i++) {
+ if (this.filtering.cache[i].attributes.value < lt) {
+ add.push(this.filtering.cache[i]);
+ }
+ }
+ }
+ this.layer.removeAllFeatures();
+ this.layer.addFeatures(add);
+ },
+ showFilteringWindow: function() {
+ var window = new Ext.Window({
+ title: '<span class="window-filter-title">Organisation unit filter</span>',
+ layout: 'fit',
+ autoHeight: true,
+ height: 'auto',
+ width: G.conf.window_width,
+ items: [
+ {
+ xtype: 'form',
+ bodyStyle:'padding:8px',
+ autoHeight: true,
+ height: 'auto',
+ labelWidth: G.conf.label_width,
+ items: [
+ { html: 'Show organisation units where <b>value</b> is..' },
+ { html: '<div class="window-p"></div>' },
+ {
+ xtype: 'numberfield',
+ fieldLabel: 'Greater than',
+ width: G.conf.combo_number_width_small,
+ listeners: {
+ 'change': {
+ scope: this,
+ fn: function(nf) {
+ this.filtering.options.gt = nf.getValue();
+ }
+ }
+ }
+ },
+ {
+ xtype: 'numberfield',
+ fieldLabel: 'Lower than',
+ width: G.conf.combo_number_width_small,
+ listeners: {
+ 'change': {
+ scope: this,
+ fn: function(nf) {
+ this.filtering.options.lt = nf.getValue();
+ }
+ }
+ }
+ }
+ ]
+ }
+ ],
+ bbar: [
+ '->',
+ {
+ xtype: 'button',
+ text: G.i18n.update,
+ iconCls: 'icon-assign',
+ scope: this,
+ handler: function() {
+ this.filtering.filter.call(this);
+ }
+ }
+ ],
+ listeners: {
+ 'afterrender': {
+ scope: this,
+ fn: function() {
+ this.filtering.cache = this.layer.features.slice(0);
+ }
+ },
+ 'close': {
+ scope: this,
+ fn: function() {
+ this.layer.removeAllFeatures();
+ this.layer.addFeatures(this.filtering.cache);
+ this.filtering.options.gt = null;
+ this.filtering.options.lt = null;
+ }
+ }
+ }
+ });
+ window.setPagePosition(G.conf.window_x_left,G.conf.window_y_left);
+ window.show();
+ }
+ },
+
initComponent: function() {
this.initProperties();
=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Choropleth.js'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Choropleth.js 2011-08-31 09:58:04 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Choropleth.js 2011-08-31 10:50:52 +0000
@@ -90,6 +90,11 @@
gt: null,
lt: null
},
+ cmp: {
+ gt: null,
+ lt: null,
+ button: null
+ },
filter: function() {
var gt = this.filtering.options.gt;
var lt = this.filtering.options.lt;
@@ -97,18 +102,30 @@
if (!gt && !lt) {
add = this.filtering.cache.slice(0);
}
- else {
- for (var i = 0; i < this.filtering.cache.length; i++) {
- if (gt && lt && this.filtering.cache[i].attributes.value > gt && this.filtering.cache[i].attributes.value < lt) {
- add.push(this.filtering.cache[i]);
- }
- else {
- if (!(gt && lt) && gt && this.filtering.cache[i].attributes.value > gt) {
- add.push(this.filtering.cache[i]);
- }
- else if (!(gt && lt) && lt && this.filtering.cache[i].attributes.value < lt) {
- add.push(this.filtering.cache[i]);
- }
+ else if (gt && lt) {
+ for (var i = 0; i < this.filtering.cache.length; i++) {
+ if (gt < lt && (this.filtering.cache[i].attributes.value > gt && this.filtering.cache[i].attributes.value < lt)) {
+ add.push(this.filtering.cache[i]);
+ }
+ else if (gt > lt && (this.filtering.cache[i].attributes.value > gt || this.filtering.cache[i].attributes.value < lt)) {
+ add.push(this.filtering.cache[i]);
+ }
+ else if (gt == lt && this.filtering.cache[i].attributes.value == gt) {
+ add.push(this.filtering.cache[i]);
+ }
+ }
+ }
+ else if (gt && !lt) {
+ for (var i = 0; i < this.filtering.cache.length; i++) {
+ if (this.filtering.cache[i].attributes.value > gt) {
+ add.push(this.filtering.cache[i]);
+ }
+ }
+ }
+ else if (!gt && lt) {
+ for (var i = 0; i < this.filtering.cache.length; i++) {
+ if (this.filtering.cache[i].attributes.value < lt) {
+ add.push(this.filtering.cache[i]);
}
}
}
@@ -137,10 +154,17 @@
fieldLabel: 'Greater than',
width: G.conf.combo_number_width_small,
listeners: {
+ 'afterrender': {
+ scope: this,
+ fn: function(nf) {
+ this.filtering.cmp.gt = nf;
+ }
+ },
'change': {
scope: this,
fn: function(nf) {
this.filtering.options.gt = nf.getValue();
+
}
}
}
@@ -150,10 +174,17 @@
fieldLabel: 'Lower than',
width: G.conf.combo_number_width_small,
listeners: {
+ 'afterrender': {
+ scope: this,
+ fn: function(nf) {
+ this.filtering.cmp.lt = nf;
+ }
+ },
'change': {
scope: this,
fn: function(nf) {
this.filtering.options.lt = nf.getValue();
+
}
}
}
@@ -170,6 +201,14 @@
scope: this,
handler: function() {
this.filtering.filter.call(this);
+ },
+ listeners: {
+ 'afterrender': {
+ scope: this,
+ fn: function(b) {
+ this.filtering.cmp.button = b;
+ }
+ }
}
}
],
=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Point.js'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Point.js 2011-08-31 09:58:04 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/geostat/Point.js 2011-08-31 10:50:52 +0000
@@ -90,6 +90,11 @@
gt: null,
lt: null
},
+ cmp: {
+ gt: null,
+ lt: null,
+ button: null
+ },
filter: function() {
var gt = this.filtering.options.gt;
var lt = this.filtering.options.lt;
@@ -97,18 +102,30 @@
if (!gt && !lt) {
add = this.filtering.cache.slice(0);
}
- else {
- for (var i = 0; i < this.filtering.cache.length; i++) {
- if (gt && lt && this.filtering.cache[i].attributes.value > gt && this.filtering.cache[i].attributes.value < lt) {
- add.push(this.filtering.cache[i]);
- }
- else {
- if (!(gt && lt) && gt && this.filtering.cache[i].attributes.value > gt) {
- add.push(this.filtering.cache[i]);
- }
- else if (!(gt && lt) && lt && this.filtering.cache[i].attributes.value < lt) {
- add.push(this.filtering.cache[i]);
- }
+ else if (gt && lt) {
+ for (var i = 0; i < this.filtering.cache.length; i++) {
+ if (gt < lt && (this.filtering.cache[i].attributes.value > gt && this.filtering.cache[i].attributes.value < lt)) {
+ add.push(this.filtering.cache[i]);
+ }
+ else if (gt > lt && (this.filtering.cache[i].attributes.value > gt || this.filtering.cache[i].attributes.value < lt)) {
+ add.push(this.filtering.cache[i]);
+ }
+ else if (gt == lt && this.filtering.cache[i].attributes.value == gt) {
+ add.push(this.filtering.cache[i]);
+ }
+ }
+ }
+ else if (gt && !lt) {
+ for (var i = 0; i < this.filtering.cache.length; i++) {
+ if (this.filtering.cache[i].attributes.value > gt) {
+ add.push(this.filtering.cache[i]);
+ }
+ }
+ }
+ else if (!gt && lt) {
+ for (var i = 0; i < this.filtering.cache.length; i++) {
+ if (this.filtering.cache[i].attributes.value < lt) {
+ add.push(this.filtering.cache[i]);
}
}
}