dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #12262
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 3730: added paging to dataElementGroupSets (with a minor bug that will be fixed soon)
------------------------------------------------------------
revno: 3730
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2011-05-24 22:20:45 +0200
message:
added paging to dataElementGroupSets (with a minor bug that will be fixed soon)
modified:
dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetDataElementGroupsAction.java
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/addDataElementGroupSet.vm
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/updateDataElementGroupSet.vm
--
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-commons/src/main/java/org/hisp/dhis/commons/action/GetDataElementGroupsAction.java'
--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetDataElementGroupsAction.java 2011-05-24 09:42:48 +0000
+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetDataElementGroupsAction.java 2011-05-24 20:20:45 +0000
@@ -28,6 +28,7 @@
*/
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -66,6 +67,21 @@
this.key = key;
}
+ private List<Integer> removeDataElementGroups = new ArrayList<Integer>();
+
+ public void setRemoveDataElementGroups( String removeDataElementGroups )
+ {
+ if ( removeDataElementGroups.length() > 0 )
+ {
+ List<String> stringList = Arrays.asList( removeDataElementGroups.split( "," ) );
+
+ for ( String s : stringList )
+ {
+ this.removeDataElementGroups.add( Integer.parseInt( s ) );
+ }
+ }
+ }
+
private List<DataElementGroup> dataElementGroups;
public List<DataElementGroup> getDataElementGroups()
@@ -82,6 +98,15 @@
{
dataElementGroups = new ArrayList<DataElementGroup>( dataElementService.getAllDataElementGroups() );
+ if ( removeDataElementGroups.size() > 0 )
+ {
+ for ( Integer id : removeDataElementGroups )
+ {
+ DataElementGroup dataElementGroup = dataElementService.getDataElementGroup( id );
+ dataElementGroups.remove( dataElementGroup );
+ }
+ }
+
if ( key != null )
{
dataElementGroups = IdentifiableObjectUtils.filterNameByKey( dataElementGroups, key, true );
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/addDataElementGroupSet.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/addDataElementGroupSet.vm 2011-03-31 11:17:07 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/addDataElementGroupSet.vm 2011-05-24 20:20:45 +0000
@@ -1,4 +1,22 @@
<script type="text/javascript" src="javascript/addDataElementGroupSet.js"></script>
+<script type="text/javascript">
+ jQuery(function() {
+ jQuery("#availableDataElementGroupsList").dblclick(dhisPaging_availableList_dblclick("availableDataElementGroupsList", "groupMembers", "removeDataElementGroups"));
+ jQuery("#groupMembers").dblclick(dhisPaging_selectedList_dblclick("groupMembers", "availableDataElementGroupsList", "removeDataElementGroups"));
+
+ jQuery("#availableDataElementGroupsList").dhisPaging({
+ source: "../dhis-web-commons-ajax-json/getDataElementGroups.action",
+ iterator: "dataElementGroups",
+ handler: function(item) {
+ var option = jQuery("<option />");
+ option.text( item.name );
+ option.attr( "value", item.id );
+
+ return option;
+ }
+ });
+ });
+</script>
<h3>$i18n.getString( "add_dataelementgroupset" )</h3>
@@ -18,44 +36,39 @@
</table>
<table>
+ <col style="width: 450px"/>
+ <col/>
+ <col/>
+
<tr>
- <th>$i18n.getString( "available_dataelementgroup" )</th><td></td><th>$i18n.getString( "group_members" )
- <select id="memberValidator" multiple="multiple" style="display:none" class="{validate:{required:true}}"/>
+ <th>$i18n.getString( "available_dataelementgroup" )</th>
+ <th></th>
+ <th>$i18n.getString( "group_members" )
+ <select id="memberValidator" multiple="multiple" style="display:none" class="{validate:{required:true}}"/>
</th>
</tr>
- <tr>
- <td><input type="text" id="availableDataElementGroupsFilter" onkeyup="filterList( this.value, 'availableDataElementGroups' )" style="width:25em"/></td>
- <td style="text-align:center">< $i18n.getString( "filters" ) ></td>
- <td><input type="text" id="groupMembersFilter" onkeyup="filterList( this.value, 'groupMembers' )" style="width:25em"/></td>
- </tr>
+
<tr>
<td>
- <select id="availableDataElementGroups" size="2" multiple="multiple" style="min-width:25em; height:25em" ondblclick="moveSelectedById( 'availableDataElementGroups', 'groupMembers' )">
- #foreach( $dataElementGroup in $availableGroups )
- <option value="$dataElementGroup.id">$encoder.htmlEncode( $dataElementGroup.name )</option>
- #end
- </select>
+ <select id="availableDataElementGroupsList" name="availableDataElementGroupsList" multiple="multiple" style="height: 200px; width: 100%;"></select>
</td>
<td style="text-align:center">
- <input type="button" value=">" title="$i18n.getString('move_selected')" style="width:50px" onclick="moveSelectedById( 'availableDataElementGroups', 'groupMembers' )"/><br/>
- <input type="button" value="<" title="$i18n.getString('remove_selected')" style="width:50px" onclick="moveSelectedById( 'groupMembers', 'availableDataElementGroups' )"/><br/>
- <input type="button" value=">>" title="$i18n.getString('move_all')" style="width:50px" onclick="moveAllById( 'availableDataElementGroups', 'groupMembers' )"/><br/>
- <input type="button" value="<<" title="$i18n.getString('remove_all')" style="width:50px" onclick="moveAllById( 'groupMembers', 'availableDataElementGroups' )"/>
+ <input type="button" value=">" title="$i18n.getString( 'move_selected' )" style="width:50px" onclick="dhisPaging_moveAllSelected( 'availableDataElementsList' );"/><br/>
+ <input type="button" value="<" title="$i18n.getString( 'remove_selected' )" style="width:50px" onclick="dhisPaging_moveAllSelected( 'groupMembers' );"/><br/>
+ <input type="button" value=">>" title="$i18n.getString('move_all')" style="width:50px" onclick="dhisPaging_moveAll( 'availableDataElementsList' );"/><br/>
+ <input type="button" value="<<" title="$i18n.getString('remove_all')" style="width:50px" onclick="dhisPaging_moveAll( 'groupMembers' );"/>
</td>
<td>
- <select id="groupMembers" name="groupMembers" size="2" multiple="multiple" style="min-width:25em; height:25em" ondblclick="moveSelectedById( 'groupMembers', 'availableDataElementGroups' )">
- </select>
- </td>
- <td>
- <a href="javascript:moveUpSelectedOption( 'groupMembers')" title="$i18n.getString( 'move_up' )"><img src="../images/move_up.png" alt="$i18n.getString( 'move_up' )"></a>
- <br/>
- <a href="javascript:moveDownSelectedOption( 'groupMembers' )" title="$i18n.getString( 'move_down' )"><img src="../images/move_down.png" alt="$i18n.getString( 'move_up' )"></a>
+ <select id="groupMembers" name="groupMembers" multiple="multiple" style="height: 100%; width: 100%;"></select>
</td>
</tr>
</table>
-<p><input type="submit" value="$i18n.getString( 'add' )" style="width:10em" /><input type="button" value="$i18n.getString( 'cancel' )" onclick="window.location.href='dataElementGroupSet.action'" style="width:10em"/></p>
+<p>
+ <input type="submit" value="$i18n.getString( 'add' )" style="width:10em" />
+ <input type="button" value="$i18n.getString( 'cancel' )" onclick="window.location.href='dataElementGroupSet.action'" style="width:10em"/>
+</p>
</form>
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/updateDataElementGroupSet.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/updateDataElementGroupSet.vm 2011-03-31 11:17:07 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/dhis-web-maintenance-datadictionary/updateDataElementGroupSet.vm 2011-05-24 20:20:45 +0000
@@ -1,4 +1,38 @@
<script type="text/javascript" src="javascript/updateDataElementGroupSet.js"></script>
+<script type="text/javascript">
+ function getRemoveDataElementGroups() {
+ var list = [
+ #foreach( $dataElementGroup in $selectedGroups )
+ ${dataElementGroup.id},
+ #end
+ ];
+
+ return list;
+ }
+
+ jQuery(function() {
+ jQuery("#availableDataElementGroupsList").dblclick(dhisPaging_availableList_dblclick("availableDataElementGroupsList", "groupMembers", "removeDataElementGroups"));
+ jQuery("#groupMembers").dblclick(dhisPaging_selectedList_dblclick("groupMembers", "availableDataElementGroupsList", "removeDataElementGroups"));
+
+ var removeDataElementGroupsList = getRemoveDataElementGroups();
+
+ jQuery("#availableDataElementGroupsList").dhisPaging({
+ source: "../dhis-web-commons-ajax-json/getDataElementGroups.action",
+ iterator: "dataElementGroups",
+ handler: function(item) {
+ var option = jQuery("<option />");
+ option.text( item.name );
+ option.attr( "value", item.id );
+
+ return option;
+ },
+ removeDataElementGroups: removeDataElementGroupsList,
+ params: {
+ removeDataElementGroups: removeDataElementGroupsList.join(",")
+ }
+ });
+ });
+</script>
<h3>$i18n.getString( "update_dataelementgroupset" ) : $dataElementGroupSet.name</h3>
@@ -18,49 +52,46 @@
</table>
<table>
+ <col style="width: 450px"/>
+ <col/>
+ <col/>
+
<tr>
- <th>$i18n.getString( "available_dataelementgroup" )</th><td></td><th>$i18n.getString( "group_members" )
- <select id="memberValidator" multiple="multiple" style="display:none" class="{validate:{required:true}}"/>
+ <th>$i18n.getString( "available_dataelementgroup" )</th>
+ <th></th>
+ <th>$i18n.getString( "group_members" )
+ <select id="memberValidator" multiple="multiple" style="display:none" class="{validate:{required:true}}"/>
</th>
</tr>
- <tr>
- <td><input type="text" id="availableDataElementGroupsFilter" onkeyup="filterList( this.value, 'availableDataElementGroups' )" style="width:25em"/></td>
- <td style="text-align:center">< $i18n.getString( "filters" ) ></td>
- <td><input type="text" id="groupMembersFilter" onkeyup="filterList( this.value, 'groupMembers' )" style="width:25em"/></td>
- </tr>
+
<tr>
<td>
- <select id="availableDataElementGroups" size="2" multiple="multiple" style="min-width:25em; height:25em" ondblclick="moveSelectedById( 'availableDataElementGroups', 'groupMembers' )">
- #foreach( $dataElementGroup in $availableGroups )
- <option value="$dataElementGroup.id">$encoder.htmlEncode( $dataElementGroup.name )</option>
- #end
- </select>
+ <select id="availableDataElementGroupsList" name="availableDataElementGroupsList" multiple="multiple" style="height: 200px; width: 100%;"></select>
</td>
- <td style="text-align:center">
- <input type="button" value=">" title="$i18n.getString('move_selected')" style="width:50px" onclick="moveSelectedById( 'availableDataElementGroups', 'groupMembers' )"/><br/>
- <input type="button" value="<" title="$i18n.getString('remove_selected')" style="width:50px" onclick="moveSelectedById( 'groupMembers', 'availableDataElementGroups' )"/><br/>
- <input type="button" value=">>" title="$i18n.getString('move_all')" style="width:50px" onclick="moveAllById( 'availableDataElementGroups', 'groupMembers' )"/><br/>
- <input type="button" value="<<" title="$i18n.getString('remove_all')" style="width:50px" onclick="moveAllById( 'groupMembers', 'availableDataElementGroups' )"/>
+ <td style="text-align:center">
+ <input type="button" value=">" title="$i18n.getString( 'move_selected' )" style="width:50px" onclick="dhisPaging_moveAllSelected( 'availableDataElementGroupsList' );"/><br/>
+ <input type="button" value="<" title="$i18n.getString( 'remove_selected' )" style="width:50px" onclick="dhisPaging_moveAllSelected( 'groupMembers' );"/><br/>
+ <input type="button" value=">>" title="$i18n.getString('move_all')" style="width:50px" onclick="dhisPaging_moveAll( 'availableDataElementGroupsList' );"/><br/>
+ <input type="button" value="<<" title="$i18n.getString('remove_all')" style="width:50px" onclick="dhisPaging_moveAll( 'groupMembers' );"/>
</td>
-
+
<td>
- <select id="groupMembers" name="groupMembers" size="2" multiple="multiple" style="min-width:25em; height:25em" ondblclick="moveSelectedById( 'groupMembers', 'availableDataElementGroups' )">
+ <select id="groupMembers" name="groupMembers" multiple="multiple" style="height: 100%; width: 100%;">
#foreach( $dataElementGroup in $selectedGroups )
<option value="$dataElementGroup.id">$encoder.htmlEncode( $dataElementGroup.name )</option>
#end
</select>
</td>
- <td>
- <a href="javascript:moveUpSelectedOption( 'groupMembers')" title="$i18n.getString( 'move_up' )"><img src="../images/move_up.png" alt="$i18n.getString( 'move_up' )"/></a>
- <br/>
- <a href="javascript:moveDownSelectedOption( 'groupMembers' )" title="$i18n.getString( 'move_down' )"><img src="../images/move_down.png" alt="$i18n.getString( 'move_up' )"/></a>
- </td>
</tr>
</table>
-<p><input type="submit" value="$i18n.getString( 'update' )" style="width:10em"/><input type="button" value="$i18n.getString( 'cancel' )" onclick="window.location.href='dataElementGroupSet.action'" style="width:10em"/></p>
+<p>
+ <input type="submit" value="$i18n.getString( 'update' )" style="width:10em"/>
+ <input type="button" value="$i18n.getString( 'cancel' )" onclick="window.location.href='dataElementGroupSet.action'" style="width:10em"/>
+</p>
+
</form>
<span id='message'></span>