In the Component View, a textbox is used to extract a free-form text value from the user.
The following is a list of attributes that can be set on a textbox parameter.
- FIELD. For a textbox, this is "TEXT".
- NAME. A unique name for the textbox. Used in the begin, main, and end Javajet files.
- NUM_ROW. Row position of the components. If used in more than one component, more than one UI control will appear in the same row.
- REQUIRED. Displays an asterisk ("*") next to the textbox. Will flag an error if parameter is not provided when run.
- SHOW_IF. An expression that toggles the display of textbox.
- READONLY. The textbox is not editable.
- DEFAULT. A child element containing text initially displayed when the component is put on the canvas
DEFAULT is a child element (not an attribute) that can contain a text string to be displayed when the component is first put on the canvas. If the DEFAULT is overwritten by saving a value from the Component View, you'll need to create another component to see the DEFAULT value again.
READONLY will make the textbox not editable. There are variations READONLY_IF and NOT_READONLY_IF that will make the textbox uneditable if a condition is met as in SHOW_IF. The condition is in the JavaScript-styled Talend scripting implementation.
XML Descriptor
Here is a list of sample values from the XML descriptor rendered in the Component Designer perspective.
Values for 3 FIELD=TEXT PARAMETERS |
The display of the sample values is in the following tab.
Display of 3 FIELD=TEXT PARAMETERS |
Code
The following is a sample Java JET main that prints the variable values.
<%
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
INode node = (INode)codeGenArgument.getArgument();
String cid = node.getUniqueName();
String param1 = ElementParameterParser.getValue(node, "__PARAM1__");
String param2 = ElementParameterParser.getValue(node, "__PARAM2__");
String showp3_s = ElementParameterParser.getValue(node, "__SHOW_P3__");
Boolean showp3 = new Boolean(showp3_s);
String param3 = ElementParameterParser.getValue(node, "__PARAM3__");
%>
System.out.println("p1=<%= param1 %>");
System.out.println("p2=<%= param2 %>");
if( <%= showp3_s %> ) {
System.out.println("p3=<%= param3 %>");
}
The textbox is a flexible way to gather input from the user to configure a component. NUM_ROWS controls the position of the textbox in the Component View. SHOW_IF and REQUIRED show/hide and validate the textbox.
No comments:
Post a Comment