2
// -----------------------------------------------------------------------------
4
// -----------------------------------------------------------------------------
8
function runAndViewChart( chartId )
10
tempChartId = chartId;
12
var request = new Request();
13
request.setCallbackSuccess( runAndViewChartReceived );
14
request.send( "createChart.action?id=" + chartId );
17
function runAndViewChartReceived( messageElement )
22
function getChartStatus()
24
var url = "getStatus.action";
26
var request = new Request();
27
request.setResponseTypeXML( "status" );
28
request.setCallbackSuccess( chartStatusReceived );
32
function chartStatusReceived( xmlObject )
34
var statusMessage = getElementValue( xmlObject, "statusMessage" );
35
var finished = getElementValue( xmlObject, "finished" );
37
if ( finished == "true" )
39
var url = "viewChart.action?id=" + tempChartId;
45
setTimeout( "getChartStatus();", 2000 );
49
function viewChart( url )
51
window.open( url, "_blank", "directories=no, height=560, width=760, location=no, menubar=no, status=no, toolbar=no, resizable=no, scrollbars=no" );
54
// -----------------------------------------------------------------------------
56
// -----------------------------------------------------------------------------
58
function removeChart( chartId, chartTitle )
60
var result = window.confirm( i18n_confirm_delete + '\n\n' + chartTitle );
64
window.location.href = "removeChart.action?id=" + chartId;
68
// -----------------------------------------------------------------------------
70
// -----------------------------------------------------------------------------
72
function showChartDetails( chartId )
74
var request = new Request();
75
request.setResponseTypeXML( 'chart' );
76
request.setCallbackSuccess( chartReceived );
77
request.send( 'getChart.action?id=' + chartId );
80
function chartReceived( xmlObject )
82
setFieldValue( 'titleField', getElementValue( xmlObject, 'title' ) );
83
setFieldValue( 'dimensionField', getElementValue( xmlObject, 'dimension' ) );
84
setFieldValue( 'indicatorsField', getElementValue( xmlObject, 'indicators' ) );
85
setFieldValue( 'periodsField', getElementValue( xmlObject, 'periods' ) );
86
setFieldValue( 'organisationUnitsField', getElementValue( xmlObject, 'organisationUnits' ) );
91
// -----------------------------------------------------------------------------
93
// -----------------------------------------------------------------------------
97
if ( validateCollections() )
99
var id = document.getElementById( "id" ).value;
100
var title = document.getElementById( "title" ).value;
102
var url = "validateChart.action?id=" + id + "&title=" + htmlEncode( title );
104
var request = new Request();
105
request.setResponseTypeXML( 'message' );
106
request.setCallbackSuccess( saveChartReceived );
111
function saveChartReceived( messageElement )
113
var type = messageElement.getAttribute( 'type' );
114
var message = messageElement.firstChild.nodeValue;
115
var dimension = document.getElementById( "dimension" ).value;
117
if ( type == "input" )
119
setMessage( message );
123
else if ( type == "success" )
125
selectAllById( "selectedIndicators" );
127
if ( dimension == "period" )
129
selectAllById( "selectedPeriods" );
131
else if ( dimension == "organisationUnit" )
133
selectAllById( "selectedOrganisationUnits" );
136
document.getElementById( "chartForm" ).submit();
140
function validateCollections()
142
if ( !hasElements( "selectedIndicators" ) )
144
setMessage( i18n_must_select_at_least_one_indicator );
149
if ( !hasElements( "selectedOrganisationUnits" ) )
151
setMessage( i18n_must_select_at_least_one_unit );
156
if ( !hasElements( "selectedPeriods" ) ) //&& !relativePeriodsChecked() )
158
setMessage( i18n_must_select_at_least_one_period );
166
function relativePeriodsChecked()
168
if ( isChecked( "reportingMonth" ) == true ||
169
isChecked( "last3Months" ) == true ||
170
isChecked( "last6Months" ) == true ||
171
isChecked( "last9Months" ) == true ||
172
isChecked( "last12Months" ) == true ||
173
isChecked( "last3To6Months" ) == true ||
174
isChecked( "last6To9Months" ) == true ||
175
isChecked( "last9To12Months" ) == true ||
176
isChecked( "last12IndividualMonths" ) == true ||
177
isChecked( "soFarThisYear" ) == true ||
178
isChecked( "soFarThisFinancialYear" ) == true ||
179
isChecked( "individualMonthsThisYear" ) == true ||
180
isChecked( "individualQuartersThisYear" ) == true )