2
function showEditLeftSideExpressionForm()
4
var description = htmlEncode( document.getElementById( "leftSideDescription" ).value );
5
var expression = htmlEncode( document.getElementById( "leftSideExpression" ).value );
6
var textualExpression = htmlEncode( document.getElementById( "leftSideTextualExpression" ).value );
8
showExpressionForm( "left", description, expression, textualExpression );
11
function showEditRightSideExpressionForm()
13
var description = htmlEncode( document.getElementById( "rightSideDescription" ).value );
14
var expression = htmlEncode( document.getElementById( "rightSideExpression" ).value );
15
var textualExpression = htmlEncode( document.getElementById( "rightSideTextualExpression" ).value );
17
showExpressionForm( "right", description, expression, textualExpression );
20
function showExpressionForm( side, description, expression, textualExpression )
22
var url = "showEditExpressionForm.action?side=" + side +
23
"&description=" + description +
24
"&expression=" + expression +
25
"&textualExpression=" + textualExpression;
27
var dialog = window.open( url, "_blank", "directories=no, \
28
height=560, width=790, location=no, menubar=no, status=no, \
29
toolbar=no, resizable=no");
32
function insertText( inputAreaName, inputText )
34
var inputArea = document.getElementById( inputAreaName );
36
var startPos = inputArea.selectionStart;
37
var endPos = inputArea.selectionEnd;
39
var existingText = inputArea.value;
40
var textBefore = existingText.substring( 0, startPos );
41
var textAfter = existingText.substring( endPos, existingText.length );
43
inputArea.value = textBefore + inputText + textAfter;
45
updateTextualExpression( inputAreaName );
48
function filterDataElements( dataElementGroupSelectName, filterName )
50
var dataElementGroup = document.getElementById( dataElementGroupSelectName );
51
var dataElementGroupId = dataElementGroup.options[ dataElementGroup.selectedIndex ].value;
52
var filter = htmlEncode( document.getElementById( filterName ).value );
54
var url = "getFilteredDataElements.action?dataElementGroupId=" + dataElementGroupId + "&filter=" + filter;
56
var request = new Request();
57
request.setResponseTypeXML( 'operand' );
58
request.setCallbackSuccess( getFilteredDataElementsReceived );
62
function getFilteredDataElementsReceived( xmlObject )
64
var operandList = document.getElementById( "dataElementId" );
66
operandList.options.length = 0;
68
var operands = xmlObject.getElementsByTagName( "operand" );
70
for ( var i = 0; i < operands.length; i++)
72
var id = operands[ i ].getElementsByTagName( "id" )[0].firstChild.nodeValue;
73
var elementName = operands[ i ].getElementsByTagName( "name" )[0].firstChild.nodeValue;
75
var option = document.createElement( "option" );
76
option.value = "[" + id + "]";
77
option.text = elementName;
78
operandList.add( option, null );
82
function updateTextualExpression( expressionFieldName )
84
var expression = htmlEncode( document.getElementById( expressionFieldName ).value );
86
var url = "getTextualExpression.action?expression=" + expression;
88
var request = new Request();
89
request.setCallbackSuccess( updateTextualExpressionReceived );
93
function updateTextualExpressionReceived( messageElement )
95
document.getElementById( "textualExpression" ).innerHTML = messageElement;
98
function validateExpression()
100
var description = htmlEncode( document.getElementById( "description" ).value );
101
var expression = htmlEncode( document.getElementById( "expression" ).value );
103
var url = "validateExpression.action?description=" + description + "&expression=" + expression;
105
var request = new Request();
106
request.setResponseTypeXML( "message" );
107
request.setCallbackSuccess( validateExpressionReceived );
111
function validateExpressionReceived( xmlObject )
113
var type = xmlObject.getAttribute( 'type' );
114
var message = xmlObject.firstChild.nodeValue;
116
if ( type == "success" )
120
else if ( type == "error" )
122
document.getElementById( "textualExpression" ).innerHTML = message;
126
function saveExpression()
128
var description = document.getElementById( "description" ).value;
129
var expression = document.getElementById( "expression" ).value;
130
var textualDescription = document.getElementById( "textualExpression" ).innerHTML;
132
var side = htmlEncode( document.getElementById( "side" ).value );
134
if ( window.opener && !window.opener.closed )
136
if ( side == "left" )
138
window.opener.document.getElementById( "leftSideDescription" ).value = description;
139
window.opener.document.getElementById( "leftSideExpression" ).value = expression;
140
window.opener.document.getElementById( "leftSideTextualExpression" ).value = textualDescription;
142
else if ( side == "right" )
144
window.opener.document.getElementById( "rightSideDescription" ).value = description;
145
window.opener.document.getElementById( "rightSideExpression" ).value = expression;
146
window.opener.document.getElementById( "rightSideTextualExpression" ).value = textualDescription;