2
// -----------------------------------------------------------------------------
3
// DataSet details form
4
// -----------------------------------------------------------------------------
6
function showDataSetDetails( dataSetId )
8
var request = new Request();
9
request.setResponseTypeXML( 'dataSet' );
10
request.setCallbackSuccess( dataSetRecieved );
11
request.send( 'getDataSet.action?dataSetId=' + dataSetId );
14
function dataSetRecieved( dataSetElement )
16
setFieldValue( 'idField', getElementValue( dataSetElement, 'id' ) );
17
setFieldValue( 'nameField', getElementValue( dataSetElement, 'name' ) );
19
setFieldValue( 'frequencyField', getElementValue( dataSetElement, 'frequency' ) );
21
setFieldValue( 'dataElementCountField', getElementValue( dataSetElement, 'dataElementCount' ) );
23
setFieldValue( 'dataEntryFormField', getElementValue( dataSetElement, 'dataentryform' ) );
28
// -----------------------------------------------------------------------------
30
// -----------------------------------------------------------------------------
36
function removeDataSet( dataSetId, dataSetName )
38
var result = window.confirm( i18n_confirm_delete + '\n\n' + dataSetName );
42
window.location.href = 'delDataSet.action?dataSetId=' + dataSetId;
46
// ----------------------------------------------------------------------
48
// ----------------------------------------------------------------------
50
function viewDataEntryForm( dataSetId )
52
window.location.href = 'viewDataEntryForm.action?dataSetId=' + dataSetId;
55
// ----------------------------------------------------------------------
56
// Filter by DataElementGroup
57
// ----------------------------------------------------------------------
59
function filterByDataElementGroup( selectedDataElementGroup )
61
var request = new Request();
63
var requestString = 'filterAvailableDataElementsByDataElementGroup.action';
65
var params = 'dataElementGroupId=' + selectedDataElementGroup;
67
var selectedList = document.getElementById( 'selectedList' );
69
for ( var i = 0; i < selectedList.options.length; ++i)
71
params += '&selectedDataElements=' + selectedList.options[i].value;
75
var availableList = document.getElementById( 'availableList' );
77
availableList.options.length = 0;
79
request.setResponseTypeXML( 'dataElementGroup' );
80
request.setCallbackSuccess( filterByDataElementGroupCompleted );
81
request.sendAsPost( params );
82
request.send( requestString );
85
function filterByDataElementGroupCompleted( dataElementGroup )
87
var dataElements = dataElementGroup.getElementsByTagName( 'dataElements' )[0];
88
var dataElementList = dataElements.getElementsByTagName( 'dataElement' );
90
var availableList = document.getElementById( 'availableList' );
92
for ( var i = 0; i < dataElementList.length; i++ )
94
var dataElement = dataElementList[i];
95
var name = dataElement.firstChild.nodeValue;
96
var id = dataElement.getAttribute( 'id' );
98
availableList.add( new Option( name, id ), null );
102
// ----------------------------------------------------------------------
104
// ----------------------------------------------------------------------
106
function validateAddDataSet()
108
var request = new Request();
109
request.setResponseTypeXML( 'message' );
110
request.setCallbackSuccess( addDataSetValidationCompleted );
112
var requestString = 'validateDataSet.action?name=' + document.getElementById( 'name' ).value +
113
'&shortName=' + document.getElementById( 'shortName' ).value +
114
'&code=' + document.getElementById( 'code' ).value;
116
request.send( requestString );
121
function addDataSetValidationCompleted( messageElement )
123
var type = messageElement.getAttribute( 'type' );
124
var message = messageElement.firstChild.nodeValue;
126
if ( type == 'success' )
128
// Both edit and add form has id='dataSetForm'
129
document.forms['addDataSetForm'].submit();
132
else if ( type == 'error' )
134
window.alert( 'Adding the organisation unit failed with the following message:\n' + message );
137
else if ( type == 'input' )
139
document.getElementById( 'message' ).innerHTML = message;
140
document.getElementById( 'message' ).style.display = 'block';
144
function validateEditDataSet()
146
var request = new Request();
147
request.setResponseTypeXML( 'message' );
148
request.setCallbackSuccess( editDataSetValidationCompleted );
150
var requestString = 'validateDataSet.action?name=' + document.getElementById( 'name' ).value +
151
'&shortName=' + document.getElementById( 'shortName' ).value +
152
'&code=' + document.getElementById( 'code' ).value +
153
'&dataSetId=' + document.getElementById( 'dataSetId' ).value;
155
request.send( requestString );
160
function editDataSetValidationCompleted( messageElement )
162
var type = messageElement.getAttribute( 'type' );
163
var message = messageElement.firstChild.nodeValue;
165
if ( type == 'success' )
167
// Both edit and add form has id='dataSetForm'
168
document.forms['editDataSetForm'].submit();
171
else if ( type == 'error' )
173
window.alert( 'Adding the organisation unit failed with the following message:\n' + message );
176
else if ( type == 'input' )
178
document.getElementById( 'message' ).innerHTML = message;
179
document.getElementById( 'message' ).style.display = 'block';
183
// ----------------------------------------------------------------------
185
// ----------------------------------------------------------------------
191
var list = document.getElementById( 'selectedList' );
193
for ( id in dataSetMembers )
195
list.add( new Option( dataSetMembers[id], id ), null );
198
list = document.getElementById( 'availableList' );
200
for ( id in availableDataElements )
202
list.add( new Option( availableDataElements[id], id ), null );
206
function filterDataSetMembers()
208
var filter = document.getElementById( 'dataSetMembersFilter' ).value;
209
var list = document.getElementById( 'selectedList' );
211
list.options.length = 0;
213
for ( var id in dataSetMembers )
215
var value = dataSetMembers[id];
217
value = value.toLowerCase();
218
filter = filter.toLowerCase();
220
if ( value.indexOf( filter ) != -1 )
222
list.add( new Option( value, id ), null );
227
function filterAvailableDataElements()
229
var filter = document.getElementById( 'availableDataElementsFilter' ).value;
230
var list = document.getElementById( 'availableList' );
232
list.options.length = 0;
234
for ( var id in availableDataElements )
236
var value = availableDataElements[id];
238
value = value.toLowerCase();
239
filter = filter.toLowerCase();
241
if ( value.indexOf( filter ) != -1 )
243
list.add( new Option( value, id ), null );
248
function addDataSetMembers()
250
var list = document.getElementById( 'availableList' );
252
while ( list.selectedIndex != -1 )
254
var id = list.options[list.selectedIndex].value;
256
list.options[list.selectedIndex].selected = false;
258
dataSetMembers[id] = availableDataElements[id];
260
delete availableDataElements[id];
263
filterDataSetMembers();
264
filterAvailableDataElements();
267
function removeDataSetMembers()
269
var list = document.getElementById( 'selectedList' );
271
while ( list.selectedIndex != -1 )
273
var id = list.options[list.selectedIndex].value;
275
list.options[list.selectedIndex].selected = false;
277
availableDataElements[id] = dataSetMembers[id];
279
delete dataSetMembers[id];
282
filterDataSetMembers();
283
filterAvailableDataElements();