-
\ No newline at end of file
+
+
+
\ No newline at end of file
=== modified file 'dhis-2/dhis-web/dhis-web-excel-reporting/src/main/webapp/dhis-web-excel-reporting/javascript/excelitems.js'
--- dhis-2/dhis-web/dhis-web-excel-reporting/src/main/webapp/dhis-web-excel-reporting/javascript/excelitems.js 2010-01-12 06:16:58 +0000
+++ dhis-2/dhis-web/dhis-web-excel-reporting/src/main/webapp/dhis-web-excel-reporting/javascript/excelitems.js 2010-01-18 03:21:24 +0000
@@ -270,48 +270,46 @@
byId( target ).value += value;
}
-// ===============================================================================
-// Copy selected items Form
-// ===============================================================================
-
-function copySelectedExcelItemForm() {
-
- var request = new Request();
- request.setResponseTypeXML( 'xmlObject' );
- request.setCallbackSuccess( copySelectedExcelItemFormReceived);
- request.send( "getAllExcelItemGroup.action" );
-}
-
-function copySelectedExcelItemFormReceived( xmlObject ) {
-
- var groups = xmlObject.getElementsByTagName("excelitemgroup");
- var selectList = document.getElementById("targetExcelItemGroup");
- var options = selectList.options;
-
- options.length = 0;
-
- for( var i = 0 ; i < groups.length ; i++ ) {
-
- var id = groups[i].getElementsByTagName("id")[0].firstChild.nodeValue;
- var name = groups[i].getElementsByTagName("name")[0].firstChild.nodeValue;
- options.add(new Option(name,id), null);
- }
-
- $("#copyToExcelItem").showAtCenter( true );
-}
-
-// ===============================================================================
-// Validate copy Excel Items
-// ===============================================================================
+// -----------------------------------------------------------------------
+// SAVE COPY EXCEL ITEM(s) TO EXCEL_ITEM_GROUP
+// -----------------------------------------------------------------------
sheetId = 0;
-reportItemIds = null;
+noItemsChecked = 0;
+ExcelItemsSaved = null;
excelItemsCurTarget = null;
excelItemsDuplicated = null;
-function validateCopyExcelItems() {
-
- sheetId = byId("targetExcelItemGroupSheetNo").value;
+function copySelectedItemToGroup() {
+
+ var request = new Request();
+ request.setResponseTypeXML( 'xmlObject' );
+ request.setCallbackSuccess( copySelectedItemToGroupReceived );
+ request.send( "getAllExcelItemGroup.action" );
+
+}
+
+function copySelectedItemToGroupReceived( xmlObject ) {
+
+ var reports = xmlObject.getElementsByTagName("excelitemgroup");
+ var selectList = document.getElementById("targetGroup");
+ var options = selectList.options;
+
+ options.length = 0;
+
+ for( var i = 0 ; i < reports.length ; i++ ) {
+
+ var id = reports[i].getElementsByTagName("id")[0].firstChild.nodeValue;
+ var name = reports[i].getElementsByTagName("name")[0].firstChild.nodeValue;
+ options.add(new Option(name,id), null);
+ }
+
+ $("#copyTo").showAtCenter( true );
+}
+
+function validateCopyExcelItemsToExcelItemGroup() {
+
+ sheetId = byId("targetSheetNo").value;
var message = '';
@@ -320,7 +318,7 @@
message = i18n_input_sheet_no;
}
- if ( byId("targetExcelItemGroup").value == -1 )
+ if ( byId("targetGroup").value == -1 )
{
message += " " + i18n_choose_report;
}
@@ -339,12 +337,12 @@
var request = new Request();
request.setResponseTypeXML( 'xmlObject' );
- request.setCallbackSuccess( validateCopyExcelItemsReceived );
- request.send( "getExcelItemsByGroup.action?excelItemGroupId=" + byId("targetExcelItemGroup").value + "&sheetNo=" + sheetId);
+ request.setCallbackSuccess( validateCopyExcelItemsToExcelItemGroupReceived );
+ request.send( "getExcelItemsByGroup.action?excelItemGroupId=" + byId("targetGroup").value );
}
-function validateCopyExcelItemsReceived(xmlObject){
+function validateCopyExcelItemsToExcelItemGroupReceived( xmlObject ) {
var items = xmlObject.getElementsByTagName('excelitem');
@@ -353,61 +351,60 @@
excelItemsCurTarget.push(items[i].getElementsByTagName('name')[0].firstChild.nodeValue);
}
- splitDuplicatedItems();
+ splitDuplicatedExcelItems( 'excelItemChecked', 'excelItemID', 'excelItemName' );
- saveCopyExcelItems();
+ saveCopiedExcelItemsToExcelItemGroup();
}
-function splitDuplicatedItems() {
+function splitDuplicatedExcelItems( itemCheckID, itemIDAttribute, itemNameAttribute ) {
var flag = -1;
- var reportItemsChecked = new Array();
- var listRadio = document.getElementsByName('reportItemCheck');
-
- reportItemIds = null;
- reportItemIds = new Array();
+ var itemsChecked = new Array();
+ var listRadio = document.getElementsByName( itemCheckID );
+
+ ExcelItemsSaved = null;
+ ExcelItemsSaved = new Array();
for (var i = 0 ; i < listRadio.length ; i++) {
+
if ( listRadio.item(i).checked ) {
- reportItemsChecked.push( listRadio.item(i).getAttribute("reportItemID") + "#" + listRadio.item(i).getAttribute("reportItemName"));
+ itemsChecked.push( listRadio.item(i).getAttribute(itemIDAttribute) + "#" + listRadio.item(i).getAttribute(itemNameAttribute));
}
}
- iReportItemsChecked = reportItemsChecked.length;
+ noItemsChecked = itemsChecked.length;
- for (var i in reportItemsChecked)
+ for (var i in itemsChecked)
{
flag = i;
for (var j in excelItemsCurTarget)
{
- if ( reportItemsChecked[i].split("#")[1] == excelItemsCurTarget[j] )
+ if ( itemsChecked[i].split("#")[1] == excelItemsCurTarget[j] )
{
flag = -1;
- excelItemsDuplicated.push( reportItemsChecked[i].split("#")[1] );
+ excelItemsDuplicated.push( itemsChecked[i].split("#")[1] );
break;
}
}
-
if ( flag >= 0 )
{
- reportItemIds.push( reportItemsChecked[i].split("#")[0] );
+ ExcelItemsSaved.push( itemsChecked[i].split("#")[0] );
}
}
}
warningMessages = "";
-function saveCopyExcelItems() {
-
- warningMessages = " ======= Sheet [" + sheetId + "] ======= ";
-
+function saveCopiedExcelItemsToExcelItemGroup() {
+
+ warningMessages = "";
// If have ReportItem(s) in Duplicating list
// preparing the warning message
if ( excelItemsDuplicated.length > 0 ) {
warningMessages +=
- "[" + (excelItemsDuplicated.length) + "/" + (iReportItemsChecked) + "]:: "
+ "[" + (excelItemsDuplicated.length) + "/" + (noItemsChecked) + "]:: "
+ i18n_copy_items_duplicated
+ "
";
@@ -419,27 +416,27 @@
+ "
";
}
- warningMessages += "======================
";
+ warningMessages += " ";
}
// If have also ReportItem(s) in Copying list
// do copy and prepare the message notes
- if ( reportItemIds.length > 0 ) {
+ if ( ExcelItemsSaved.length > 0 ) {
var request = new Request();
request.setResponseTypeXML( 'xmlObject' );
- request.setCallbackSuccess( saveCopyExcelItemsReceived );
+ request.setCallbackSuccess( saveCopiedExcelItemsToExcelItemGroupReceived );
- var params = "excelItemGroupId=" + byId("targetExcelItemGroup").value;
+ var params = "excelItemGroupDestId=" + byId("targetGroup").value;
params += "&sheetNo=" + sheetId;
- for (var i in reportItemIds)
+ for (var i in ExcelItemsSaved)
{
- params += "&reportItemIds=" + reportItemIds[i];
+ params += "&itemIds=" + ExcelItemsSaved[i];
}
request.sendAsPost(params);
- request.send( "copyExcelItems.action");
+ request.send( "copyExcelItemsToGroup.action");
}
// If have no any ReportItem(s) will be copied
// and also have ReportItem(s) in Duplicating list
@@ -448,110 +445,32 @@
setMessage( warningMessages );
}
- hideById("copyToExcelItem");
+ hideById("copyTo");
deleteDivEffect();
}
-function saveCopyExcelItemsReceived( data ) {
+function saveCopiedExcelItemsToExcelItemGroupReceived( data ) {
var type = data.getAttribute("type");
if ( type == "success" ) {
- //alert(warningMessages);
+
warningMessages +=
- " [" + (reportItemIds.length) + "/" + (iReportItemsChecked) + "]:: "
+ " ======= Sheet [" + sheetId + "] ========"
+ + " [" + (ExcelItemsSaved.length) + "/" + (noItemsChecked) + "]:: "
+ i18n_copy_successful
+ " ======================
";
-
-
+
}
setMessage( warningMessages );
}
-// -----------------------------------------------------------------------
-// SAVE COPY EXCEL ITEM TO GROUP
-// -----------------------------------------------------------------------
-
-function copySelectedItemToGroup(){
-
- var request = new Request();
- request.setResponseTypeXML( 'xmlObject' );
- request.setCallbackSuccess( copySelectedItemToGroupReceived );
- request.send( "getAllExcelItemGroup.action" );
-
-}
-
-function copySelectedItemToGroupReceived( xmlObject ) {
-
- var reports = xmlObject.getElementsByTagName("excelitemgroup");
- var selectList = document.getElementById("targetGroup");
- var options = selectList.options;
-
- options.length = 0;
-
- for( var i = 0 ; i < reports.length ; i++ ) {
-
- var id = reports[i].getElementsByTagName("id")[0].firstChild.nodeValue;
- var name = reports[i].getElementsByTagName("name")[0].firstChild.nodeValue;
- options.add(new Option(name,id), null);
- }
-
- $("#copyTo").showAtCenter( true );
-}
-
-// -----------------------------------------------------------------------
-// SAVE COPY EXCEL ITEM TO GROUP
-// -----------------------------------------------------------------------
-
-function saveCopyExcelItemsToGroup() {
-
- var list = document.getElementsByName('excelItemChecked');
-
- // If have also ReportItem(s) in Copying list
- // do copy and prepare the message notes
- if ( list.length > 0 ) {
-
- var request = new Request();
- request.setResponseTypeXML( 'xmlObject' );
- request.setCallbackSuccess( saveCopyExcelItemsToGroupReceived );
-
- var params = "excelItemGroupDestId=" + byId("targetGroup").value;
- params += "&sheetNo=" + byId('targetSheetNo').value;
-
- for (var i=0 ;i"+ choose_report;
+ message += " "+ i18n_choose_report;
}
if ( message.length > 0 )
@@ -279,15 +280,15 @@
return;
}
- reportItemsCurTarget = null;
- reportItemsDuplicated = null;
+ itemsCurTarget = null;
+ itemsDuplicated = null;
- reportItemsCurTarget = new Array();
- reportItemsDuplicated = new Array();
+ itemsCurTarget = new Array();
+ itemsDuplicated = new Array();
var request = new Request();
request.setResponseTypeXML( 'xmlObject' );
- request.setCallbackSuccess( validateCopyReportItemsReceived );
+ request.setCallbackSuccess( validateCopyReportItemsToReportExcelReceived );
var param = "reportId=" + byId("targetReport").value;
param += "&sheetNo=" + sheetId;
@@ -297,76 +298,77 @@
}
-function validateCopyReportItemsReceived( data ) {
+function validateCopyReportItemsToReportExcelReceived( data ) {
var items = data.getElementsByTagName('reportItem');
for (var i = 0 ; i < items.length ; i ++)
{
- reportItemsCurTarget.push(items[i].getElementsByTagName('name')[0].firstChild.nodeValue);
+ itemsCurTarget.push(items[i].getElementsByTagName('name')[0].firstChild.nodeValue);
}
- splitDuplicatedReportItems();
- saveCopyItems();
+ splitDuplicatedItems( 'reportItemCheck', 'reportItemID', 'reportItemName' );
+ saveCopyReportItemsToReportExcel();
}
-
-function splitDuplicatedReportItems() {
+function splitDuplicatedItems( itemCheckID, itemIDAttribute, itemNameAttribute ) {
var flag = -1;
- var reportItemsChecked = new Array();
- var listRadio = document.getElementsByName( 'reportItemCheck' );
+ var itemsChecked = new Array();
+ //var listRadio = document.getElementsByName( 'reportItemCheck' );
+ var listRadio = document.getElementsByName( itemCheckID );
- reportItems = null;
- reportItems = new Array();
+ ItemsSaved = null;
+ ItemsSaved = new Array();
for (var i = 0 ; i < listRadio.length ; i++) {
if ( listRadio.item(i).checked ) {
- reportItemsChecked.push( listRadio.item(i).getAttribute("reportItemID") + "#" + listRadio.item(i).getAttribute("reportItemName"));
+ //itemsChecked.push( listRadio.item(i).getAttribute("reportItemID") + "#" + listRadio.item(i).getAttribute("reportItemName"));
+ itemsChecked.push( listRadio.item(i).getAttribute(itemIDAttribute) + "#" + listRadio.item(i).getAttribute(itemNameAttribute));
}
}
- iReportItemsChecked = reportItemsChecked.length;
+ NoItemsChecked = itemsChecked.length;
- for (var i in reportItemsChecked)
+ for (var i in itemsChecked)
{
flag = i;
- for (var j in reportItemsCurTarget)
+ for (var j in itemsCurTarget)
{
- if ( reportItemsChecked[i].split("#")[1] == reportItemsCurTarget[j] )
+ if ( itemsChecked[i].split("#")[1] == itemsCurTarget[j] )
{
flag = -1;
- reportItemsDuplicated.push( reportItemsChecked[i].split("#")[1] );
+ itemsDuplicated.push( itemsChecked[i].split("#")[1] );
break;
}
}
if ( flag >= 0 )
{
- reportItems.push( reportItemsChecked[i].split("#")[0] );
+ ItemsSaved.push( itemsChecked[i].split("#")[0] );
}
}
}
-function saveCopyItems() {
+function saveCopyReportItemsToReportExcel() {
var warningMessage = " ======= Sheet [" + sheetId + "] ======= ";
// If have ReportItem(s) in Duplicating list
// preparing the warning message
- if ( reportItemsDuplicated.length > 0 ) {
+ if ( itemsDuplicated.length > 0 ) {
warningMessage +=
- "[" + (reportItemsDuplicated.length) + "/" + (iReportItemsChecked) + "]:: "
+ "[" + (itemsDuplicated.length) + "/" + (NoItemsChecked) + "]:: "
+ i18n_copy_items_duplicated
+ "
";
- for (var i in reportItemsDuplicated) {
+ for (var i in itemsDuplicated) {
warningMessage +=
"(*) "
- + reportItemsDuplicated[i]
+ + itemsDuplicated[i]
+ "
";
}
@@ -375,13 +377,13 @@
// If have also ReportItem(s) in Copying list
// do copy and prepare the message notes
- if ( reportItems.length > 0 ) {
+ if ( ItemsSaved.length > 0 ) {
$.post("copyReportExcelItems.action",
{
reportId:$("#targetReport").val(),
sheetNo:sheetId,
- reportItems:reportItems
+ reportItems:ItemsSaved
},
function (data)
{
@@ -391,7 +393,7 @@
if ( type == "success" ) {
warningMessage +=
- " [" + (reportItems.length) + "/" + (iReportItemsChecked) + "]:: "
+ " [" + (ItemsSaved.length) + "/" + (NoItemsChecked) + "]:: "
+ i18n_copy_successful
+ " ======================
";
}
@@ -402,7 +404,7 @@
}
// If have no any ReportItem(s) will be copied
// and also have ReportItem(s) in Duplicating list
- else if ( reportItemsDuplicated.length > 0 ) {
+ else if ( itemsDuplicated.length > 0 ) {
setMessage( warningMessage );
}
@@ -412,6 +414,165 @@
}
+/**
+* COPY SELECTED REPORTITEM(s) TO EXCEL_ITEM_GROUP
+*/
+
+//function copySelectedExcelItemForm() {
+function copySelectedReportItemToExcelItemGroup() {
+
+ var request = new Request();
+ request.setResponseTypeXML( 'xmlObject' );
+ request.setCallbackSuccess( copySelectedReportItemToExcelItemGroupReceived );
+ request.send( "getAllExcelItemGroup.action" );
+}
+
+function copySelectedReportItemToExcelItemGroupReceived( xmlObject ) {
+
+ var groups = xmlObject.getElementsByTagName("excelitemgroup");
+ var selectList = document.getElementById("targetExcelItemGroup");
+ var options = selectList.options;
+
+ options.length = 0;
+
+ for( var i = 0 ; i < groups.length ; i++ ) {
+
+ var id = groups[i].getElementsByTagName("id")[0].firstChild.nodeValue;
+ var name = groups[i].getElementsByTagName("name")[0].firstChild.nodeValue;
+ options.add(new Option(name,id), null);
+ }
+
+ $("#copyToExcelItem").showAtCenter( true );
+}
+
+/*
+* Validate copy Report Items to Excel Item Group
+*/
+
+//function validateCopyExcelItems() {
+function validateCopyReportItemsToExcelItemGroup() {
+
+ sheetId = byId("targetExcelItemGroupSheetNo").value;
+
+ var message = '';
+
+ if ( sheetId < 1 )
+ {
+ message = i18n_input_sheet_no;
+ }
+
+ if ( byId("targetExcelItemGroup").value == -1 )
+ {
+ message += " " + i18n_choose_report;
+ }
+
+ if ( message.length > 0 )
+ {
+ setMessage( message );
+ return;
+ }
+
+ itemsCurTarget = null;
+ itemsDuplicated = null;
+
+ itemsCurTarget = new Array();
+ itemsDuplicated = new Array();
+
+ var request = new Request();
+ request.setResponseTypeXML( 'xmlObject' );
+ request.setCallbackSuccess( validateCopyReportItemsToExcelItemGroupReceived );
+ request.send( "getExcelItemsByGroup.action?excelItemGroupId=" + byId("targetExcelItemGroup").value );
+
+}
+
+function validateCopyReportItemsToExcelItemGroupReceived( xmlObject ) {
+
+ var items = xmlObject.getElementsByTagName('excelitem');
+
+ for (var i = 0 ; i < items.length ; i ++) {
+
+ itemsCurTarget.push(items[i].getElementsByTagName('name')[0].firstChild.nodeValue);
+ }
+
+ splitDuplicatedItems( 'reportItemCheck', 'reportItemID', 'reportItemName' );
+
+ saveCopiedReportItemsToExcelItemGroup();
+}
+
+warningMessages = "";
+
+function saveCopiedReportItemsToExcelItemGroup() {
+
+ warningMessages = "";
+
+ // If have ReportItem(s) in Duplicating list
+ // preparing the warning message
+ if ( itemsDuplicated.length > 0 ) {
+
+ warningMessages +=
+ "[" + (itemsDuplicated.length) + "/" + (NoItemsChecked) + "]:: "
+ + i18n_copy_items_duplicated
+ + "
";
+
+ for (var i in itemsDuplicated) {
+
+ warningMessages +=
+ "(*) "
+ + itemsDuplicated[i]
+ + "
";
+ }
+
+ warningMessages += " ";
+ }
+
+ // If have also ReportItem(s) in Copying list
+ // do copy and prepare the message notes
+ if ( ItemsSaved.length > 0 ) {
+
+ var request = new Request();
+ request.setResponseTypeXML( 'xmlObject' );
+ request.setCallbackSuccess( saveCopyExcelItemsReceived );
+
+ var params = "excelItemGroupId=" + byId("targetExcelItemGroup").value;
+ params += "&sheetNo=" + sheetId;
+
+ for (var i in ItemsSaved)
+ {
+ params += "&reportItemIds=" + ItemsSaved[i];
+ }
+
+ request.sendAsPost(params);
+ request.send( "copyExcelItems.action");
+ }
+ // If have no any ReportItem(s) will be copied
+ // and also have ReportItem(s) in Duplicating list
+ else if ( itemsDuplicated.length > 0 ) {
+
+ setMessage( warningMessages );
+ }
+
+ hideById("copyToExcelItem");
+ deleteDivEffect();
+}
+
+function saveCopyExcelItemsReceived( data ) {
+
+ var type = data.getAttribute("type");
+
+ if ( type == "success" ) {
+
+ warningMessages +=
+ " ======= Sheet [" + sheetId + "] ========"
+ + " [" + (ItemsSaved.length) + "/" + (NoItemsChecked) + "]:: "
+ + i18n_copy_successful
+ + " ======================