DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY (EXCEPT INSIDE THE DIV BELOW WITH ID=DESCRIPTION), UNLESS YOU KNOW WHAT YOU'RE DOING.
THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO AUTO UPDATE THE CONTENT THROUGH THE DOC GENERATOR.
Enter additional information related to this 'class' inside the {div} macro with 'id=description'
{column:width=80px|padding=0px}{column}{column}{column}
Constants Summary
{column:width=80px|padding=0px}{column}{column}{column}
Property Summary
dataSource
The names of the database server and table that this form is linked to.
onRecordSelection
The method that is triggered each time a record is selected.
serverName
Get the server name used by this form.
{column:width=80px|padding=0px}{column}{column}{column}
Method Summary
JSButton[]
getButtons()
Returns all JSButtons of this form, including the ones without a name.
getComponent(name)
Returns a JSComponent that has the given name; if found it will be a JSField, JSLabel, JSButton, JSPortal, JSBean or JSTabPanel.
getComponents()
Returns a array of all the JSComponents that a form has; they are of type JSField,JSLabel,JSButton,JSPortal,JSBean or JSTabPanel.
getInsetList(name)
Returns an existing inset list.
getInsetLists()
Gets all insets lists on the form.
JSMethod[]
getMethods()
Returns all existing form methods for this form.
[JSPart]
getPart(type)
Gets a part of the form from the given type (see JSPart constants).
getVariable(name)
Gets an existing form variable for the given name.
getVariables()
An array consisting of all form variables for this form.
newCalendar(dataprovider, y)
Creates a new JSCalendar field on the form.
newCalendar(dataprovider, y)
Creates a new JSCalendar field on the form.
newCombobox(dataprovider, y)
Creates a new JSCombobox field on the form.
newCombobox(dataprovider, y)
Creates a new JSCombobox field on the form.
newInsetList(yLocation, relationName, headerText, textDataProviderID)
Creates a new inset list mobile component in the given form.
newPassword(dataprovider, y)
Creates a new JSPassword field on the form.
newPassword(dataprovider, y)
Creates a new JSPassword field on the form.
newTextArea(dataprovider, y)
Creates a new JSTextArea field on the form.
newTextArea(dataprovider, y)
Creates a new JSTextArea field on the form.
newTextField(dataprovider, y)
Creates a new JSText field on the form.
newTextField(dataprovider, y)
Creates a new JSText field on the form.
newVariable(name, type)
Creates a new form JSVariable - based on the name of the variable object and the number type, uses the SolutionModel JSVariable constants.
newVariable(name, type, defaultValue)
Creates a new form JSVariable - based on the name of the variable object , the type and it's default value , uses the SolutionModel JSVariable constants.
removeBean(name)
Removes a JSBean that has the specified name.
removeButton(name)
Removes a JSButton that has the specified name.
removeComponent(name)
Removes a component (JSLabel, JSButton, JSField, JSPortal, JSBean, JSTabpanel) that has the given name.
removeField(name)
Removes a JSField that has the given name.
removeFooter()
Removes a JSFooter if it exists.
removeHeader()
Removes a JSHeader if it exists.
removeInsetList(name)
Removes inset list from the form.
removeLabel(name)
Removes a JSLabel that has the given name.
removeMethod(name)
Removes a form JSMethod - based on the specified code.
removeVariable(name)
Removes a form JSVariable - based on the name of the variable object.
{column:width=100%|padding=0px}{column}
Constants Details
{column:width=100%|padding=0px}{column}
Property Details
The names of the database server and table that this form is linked to.
Sample
var myForm = solutionModel.newForm('newForm', 'db:/a_server/a_table', 'aStyleName', false, 800, 600) myForm.dataSource = 'db:/anotherServerName/anotherTableName'
The name of the form.
Sample
var form = solutionModel.newForm('myForm',myDatasource,null,true,800,600); var formName = form.name; application.output(formName);
The navigator (previously named "controller")
that is used to control/navigate to the form. The navigator is shown at
the left or at the right side of the form, depending on the page orientation.
The following options are available:
-none- - no navigator is assigned.
DEFAULT - the Servoy default navigator is assigned.
IGNORE - the navigator last assigned to a previous form.
Custom - a custom navigator based on a selected form.
Sample
var aForm = solutionModel.newForm('newForm1', myDatasource); // you can also use SM_DEFAULTS.INGORE to just reuse the navigator that is already set. // here we assign an other new form as the navigator. var aNavigator = solutionModel.newForm('navForm', myDatasource); aForm.navigator = aNavigator;
The method that is triggered when another form is being activated.
NOTE: If the onHide method returns false, the form can be prevented from hiding.
For example, when using onHide with showFormInDialog, the form will not close by clicking the dialog close box (X).
Sample
form.onShow = form.newMethod('function onShow(firstShow, event) { application.output("onShow intercepted on " + event.getFormName() + ". first show? " + firstShow); return false; }'); form.onHide = form.newMethod('function onHide(event) { application.output("onHide blocked on " + event.getFormName()); return false; }');
The method that is triggered when a form is loaded/reloaded from the repository; used to alter elements, set globals, hide toolbars,
etc; onShow method can also be assigned.
NOTE: onShow should be used to access current foundset dataproviders; onLoad cannot be used because the foundset data is not loaded until after the form is loaded.
Also calls to loadRecords() should be done in the onShow method and not in the onLoad method
If you call loadRecords() in the onShow method, you may want to set the namedFoundSet property of the form to 'empty' to prevent the first default form query.
NOTE: the onLoad event bubbles down, meaning that the onLoad is first fired on the parent then on a tab in a tabpanel (and in tab of that tab panels if you are 3 deep)
Sample
form.onLoad = form.newMethod('function onLoad(event) { application.output("onLoad intercepted on " + event.getFormName()); }'); form.onUnLoad = form.newMethod('function onUnLoad(event) { application.output("onUnLoad intercepted on " + event.getFormName()); }');
The method that is triggered each time a record is selected.
If a form is in List view or Special table view - when the user clicks on it.
In Record view - after the user navigates to another record using the slider or clicks up or down for next/previous record.
NOTE: Data and Servoy tag values are returned when the onRecordSelection method is executed.
Sample
form.onRecordEditStart = form.newMethod('function onRecordEditStart(event) { application.output("onRecordEditStart intercepted on " + event.getFormName()); }'); form.onRecordEditStop = form.newMethod('function onRecordEditStop(record, event) { application.output("onRecordEditStop intercepted on " + event.getFormName() + ". record is: " + record); }'); form.onRecordSelection = form.newMethod('function onRecordSelection(event) { application.output("onRecordSelection intercepted on " + event.getFormName()); }');
The method that is triggered EVERY TIME the form is displayed; an argument must be passed to the method if this is the first time the form is displayed.
NOTE: onShow can be used to access current foundset dataproviders; onLoad cannot be used because the foundset data is not loaded until after the form is loaded.
NOTE: the onShow event bubbles down, meaning that the onShow event of a form displayed in a tabPanel is fired after the onShow event of the parent.
Sample
form.onShow = form.newMethod('function onShow(firstShow, event) { application.output("onShow intercepted on " + event.getFormName() + ". first show? " + firstShow); return false; }'); form.onHide = form.newMethod('function onHide(event) { application.output("onHide blocked on " + event.getFormName()); return false; }');
Get the server name used by this form.
Sample
var form = solutionModel.newForm('myForm',myDatasource,null,true,800,600); form.serverName = 'anotherServerName'; var theServerName = form.serverName; application.output(theServerName);
The [name of the table/SQL view].[the name of the database server connection] the form is based on.
Sample
var aForm = solutionModel.newForm('newForm1', myDatasource, null, true, 800, 600); aForm.tableName = 'anotherTableOfMine' if (forms['newForm1'].controller.find()) { columnTextDataProvider = '=aSearchedValue' columnNumberDataProvider = '>10'; forms['newForm1'].controller.search() }
{column:width=100%|padding=0px}{column}
Method Details
getBean
(name)
Returns a JSBean that has the given name.
Sample
var btn = myForm.getBean("mybean"); application.output(mybean.className);
getButton
(name)
Returns a JSButton that has the given name.
Parameters
{String} name – the specified name of the button
Sample
var btn = myForm.getButton("hello"); application.output(btn.text);
JSButton[]
getButtons
()
Returns all JSButtons of this form, including the ones without a name.
Returns
JSButton[] – the list of all JSbuttons on this forms
Sample
var buttons = myForm.getButtons(); for (var b in buttons) { if (buttons[b].name != null) application.output(buttons[b].name); else application.output(buttons[b].text + " has no name "); }
getComponent
(name)
Returns a JSComponent that has the given name; if found it will be a JSField, JSLabel, JSButton, JSPortal, JSBean or JSTabPanel.
Parameters
{String} name – the specified name of the component
Returns
JSComponent – a JSComponent object (might be a JSField, JSLabel, JSButton, JSPortal, JSBean or JSTabPanel)
Sample
var frm = solutionModel.getForm("myForm"); var cmp = frm.getComponent("componentName"); application.output("Component type and name: " + cmp);
getComponents
()
Returns a array of all the JSComponents that a form has; they are of type JSField,JSLabel,JSButton,JSPortal,JSBean or JSTabPanel.
Returns
JSComponent[] – an array of all the JSComponents on the form.
Sample
var form = solutionModel.getForm("myForm"); var components = form.getComponents(); for (var i in components) application.output("Component type and name: " + components[i]);
getField
(name)
The field with the specified name.
Sample
var form = solutionModel.getForm("myForm"); var field = form.getField("myField"); application.output(field.dataProviderID);
JSField[]
getFields
()
Returns all JSField objects of this form, including the ones without a name.
Sample
var frm = solutionModel.getForm("myForm"); var fields = frm.getFields(); for (var f in fields) { var fname = fields[f].name; if (fname != null) application.output(fname); }
getFooter
()
Get the Footer part on the form if it exists.
Sample
var footer = form.getFooter();
getHeader
()
Get the Header part on the form if it exists.
Sample
var header = form.getHeader();
getInsetList
(name)
Returns an existing inset list.
Returns
JSInsetList – the existing inset list, or null if it does not exist.
Sample
var form = solutionModel.getForm("myform"); var insetList = form.getInsetList('mylist1');
getInsetLists
()
Gets all insets lists on the form.
Sample
var form = solutionModel.getForm('test'); var insetLists = form.getInsetLists();
getLabel
(name)
Returns a JSLabel that has the given name.
Returns
JSLabel – a JSLabel object (or null if the label with the specified name does not exist)
Sample
var frm = solutionModel.getForm("myForm"); var label = frm.getLabel("myLabel"); application.output(label.text);
JSLabel[]
getLabels
()
Returns all JSLabels of this form (not including its super form), including the ones without a name.
Sample
var frm = solutionModel.getForm("myForm"); var labels = frm.getLabels(); for (var i in labels) { var lname = labels[i].name; if (lname != null) application.output(lname); }
getMethod
(name)
Gets an existing form method for the given name.
Parameters
{String} name – the specified name of the method
Returns
JSMethod – a JSMethod object (or null if the method with the specified name does not exist)
Sample
var frm = solutionModel.getForm("myForm"); var method = frm.getMethod("myMethod"); application.output(method.code);
JSMethod[]
getMethods
()
Returns all existing form methods for this form.
Sample
var frm = solutionModel.getForm("myForm"); var methods = frm.getMethods(); for (var m in methods) application.output(methods[m].getName());
[JSPart]
getPart
(type)
Gets a part of the form from the given type (see JSPart constants).
Parameters
{Number} type – The type of the part to retrieve.
Returns
[JSPart] – A JSPart instance representing the retrieved form part.
Sample
form.getPart(JSPart.HEADER).background = 'red'; form.getPart(JSPart.LEADING_SUBSUMMARY, 160).background = 'red';
getVariable
(name)
Gets an existing form variable for the given name.
Parameters
{String} name – the specified name of the variable
Sample
var frm = solutionModel.getForm("myForm"); var fvariable = frm.getVariable("myVarName"); application.output(fvariable.name + " has the default value of " + fvariable.defaultValue);
getVariables
()
An array consisting of all form variables for this form.
Returns
JSVariable[] – an array of all variables on this form
Sample
var frm = solutionModel.getForm("myForm"); var variables = frm.getVariables(); for (var i in variables) application.output(variables[i].name);
newBean
(name, y)
Creates a new JSBean object on the form.
Sample
var form = solutionModel.newForm('newForm1', 'db:/server1/table1'); var bean = form.newBean('bean', 1); forms['newForm1'].controller.show();
newButton
(txt, y, jsmethod)
Creates a new button on the form with the given text.
Sample
var form = solutionModel.newForm('newForm1', myDatasource); var method = form.newMethod('function onAction(event) { application.output("onAction intercepted on " + event.getFormName()); }'); var button = form.newButton('myButton', 1, method); application.output("The new button: " + button.name + " has the following onAction event handling method assigned " + button.onAction.getName());
newCalendar
(dataprovider, y)
Creates a new JSCalendar field on the form.
Parameters
{JSVariable} dataprovider – the specified dataprovider name/JSVariable of the JSField object
{Number} y – the vertical "y" position of the JSField object, defines the order of elements on the form
Sample
var form = solutionModel.newForm('newForm1',myDatasource); //choose the dataprovider or JSVariable you want for the field var x = null; //global JSVariable as the dataprovider //x = solutionModel.newGlobalVariable('globals', 'myGlobal', JSVariable.DATETIME); //or a form JSVariable as the dataprovider //x = form.newVariable('myFormVar', JSVariable.DATETIME); var field = form.newCalendar(x,1); //or a column data provider as the dataprovider //field.dataProviderID = columnTextDataProvider; forms['newForm1'].controller.show();
newCalendar
(dataprovider, y)
Creates a new JSCalendar field on the form.
Sample
var form = solutionModel.newForm('newForm1',myDatasource); //choose the dataprovider or JSVariable you want for the field var x = null; //global JSVariable as the dataprovider //x = solutionModel.newGlobalVariable('globals', 'myGlobal', JSVariable.DATETIME); //or a form JSVariable as the dataprovider //x = form.newVariable('myFormVar', JSVariable.DATETIME); var field = form.newCalendar(x,1); //or a column data provider as the dataprovider //field.dataProviderID = columnTextDataProvider; forms['newForm1'].controller.show();
newCheck
(dataprovider, y)
Creates a new JSChecks field on the form.
Parameters
{JSVariable} dataprovider – the specified dataprovider name/JSVariable of the JSField object
{Number} y – the vertical "y" position of the JSField object, defines the order of elements on the form
Sample
var form = solutionModel.newForm('newForm1',myDatasource); //choose the dataprovider or JSVariable you want for the field var x = null; //global JSVariable as the dataprovider //x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.INTEGER); //x.defaultValue = "'1'"; //or a form JSVariable as the dataprovider //x = form.newVariable('myFormVar',JSVariable.INTEGER); //x.defaultValue = "'1'"; var field = form.newCheck(x,1); //or a column data provider as the dataprovider //field.dataProviderID = columnTextDataProvider; forms['newForm1'].controller.show();
newCheck
(dataprovider, y)
Creates a new JSChecks field on the form.
Sample
var form = solutionModel.newForm('newForm1',myDatasource); //choose the dataprovider or JSVariable you want for the field var x = null; //global JSVariable as the dataprovider //x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.INTEGER); //x.defaultValue = "'1'"; //or a form JSVariable as the dataprovider //x = form.newVariable('myFormVar',JSVariable.INTEGER); //x.defaultValue = "'1'"; var field = form.newCheck(x,1); //or a column data provider as the dataprovider //field.dataProviderID = columnTextDataProvider; forms['newForm1'].controller.show();
newCombobox
(dataprovider, y)
Creates a new JSCombobox field on the form.
Parameters
{JSVariable} dataprovider – the specified dataprovider name/JSVariable of the JSField object
{Number} y – the vertical "y" position of the JSField object, defines the order of elements on the form
Sample
var form = solutionModel.newForm('newForm1',myDatasource); //choose the dataprovider or JSVariable you want for the field var x = null; //global JSVariable as the dataprovider //x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT); //x.defaultValue = "'Text from a global variable'"; //or a form JSVariable as the dataprovider //x = form.newVariable('myFormVar',JSVariable.TEXT); //x.defaultValue = "'Text from a form variable'"; var field = form.newCombobox(x,1); //or a column data provider as the dataprovider //field.dataProviderID = columnTextDataProvider; forms['newForm1'].controller.show();
newCombobox
(dataprovider, y)
Creates a new JSCombobox field on the form.
Sample
var form = solutionModel.newForm('newForm1',myDatasource); //choose the dataprovider or JSVariable you want for the field var x = null; //global JSVariable as the dataprovider //x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT); //x.defaultValue = "'Text from a global variable'"; //or a form JSVariable as the dataprovider //x = form.newVariable('myFormVar',JSVariable.TEXT); //x.defaultValue = "'Text from a form variable'"; var field = form.newCombobox(x,1); //or a column data provider as the dataprovider //field.dataProviderID = columnTextDataProvider; forms['newForm1'].controller.show();
newField
(dataprovider, type, y)
Creates a new JSField object on the form .
Parameters
{JSVariable} dataprovider – the specified dataprovider name/JSVariable of the JSField object
{Number} type – the display type of the JSField object (see the Solution Model -> JSField node for display types)
{Number} y – the vertical "y" position of the JSField object, defines the order of elements on the form
Sample
var form = solutionModel.newForm('newForm1', myDatasource, null, true, 800, 600); var variable = form.newVariable('myVar', JSVariable.TEXT); variable.defaultValue = "'This is a default value (with triple quotes)!'"; var field = form.newField(variable, JSField.TEXT_FIELD, 1); forms['newForm1'].controller.show();
newField
(dataprovider, type, y)
Creates a new JSField object on the form .
Parameters
{String} dataprovider – the specified dataprovider name/JSVariable of the JSField object
{Number} type – the display type of the JSField object (see the Solution Model -> JSField node for display types)
{Number} y – the vertical "y" position of the JSField object, defines the order of elements on the form
Sample
var form = solutionModel.newForm('newForm1', myDatasource, null, true, 800, 600); var variable = form.newVariable('myVar', JSVariable.TEXT); variable.defaultValue = "'This is a default value (with triple quotes)!'"; var field = form.newField(variable, JSField.TEXT_FIELD, 1); forms['newForm1'].controller.show();
newFooter
()
Creates a new Footer part on the form.
Returns
JSFooter – A JSFooter instance corresponding to the newly created Footer form part.
Sample
var footer = form.newFooter();
newHeader
()
Creates a new Header part on the form.
Returns
JSHeader – A JSHeader instance corresponding to the newly created Header form part.
Sample
var header = form.newHeader();
newInsetList
(yLocation, relationName, headerText, textDataProviderID)
Creates a new inset list mobile component in the given form. The inset list will be populated based on the given datasource and relation.
Parameters
{Number} yLocation – the vertical location of the inset list in the form's components list.
{String} relationName – the relation used to show data, just like it would happen in a related tab-panel.
{String} headerText – can be null; it's a convenience argument for setting the title (header text) for the inset list.
{String} textDataProviderID – can be null; it's a convenience argument for setting the dataprovider that will be used to populate the main text area of the list's items.
Sample
var f = solutionModel.newForm("created_by_sm_1","db:/udm/contacts"); // create an inset list var insetList = f.newInsetList(8,"accountmanager_to_companies","Companies","company_name"); insetList.subtextDataProviderID = "company_description"; insetList.onAction = f.newMethod("function buttonPressed() { plugins.dialogs.showWarningDialog('Title', 'inset list clicked','OK'); }");
newLabel
(txt, y)
Creates a new JSLabel object on the form.
Sample
var form = solutionModel.newForm('newForm1', myDatasource); var label = form.newLabel('The text on the label', 1); forms['newForm1'].controller.show();
newMethod
(code)
Creates a new form JSMethod - based on the specified code.
Parameters
{String} code – the specified code for the new method
Sample
var form = solutionModel.newForm('newForm1', myDatasource, null, true, 800, 600); var method = form.newMethod('function aMethod(event){application.output("Hello world!");}'); var button = myListViewForm.newButton('Show message!',50,50,100,30,method); forms['newForm1'].controller.show();
newPassword
(dataprovider, y)
Creates a new JSPassword field on the form.
Parameters
{JSVariable} dataprovider – the specified dataprovider name/JSVariable of the JSField object
{Number} y – the vertical "y" position of the JSField object, defines the order of elements on the form
Sample
var form = solutionModel.newForm('newForm1',myDatasource); //choose the dataprovider or JSVariable you want for the field var x = null; //global JSVariable as the dataprovider //x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT); //or a form JSVariable as the dataprovider //x = form.newVariable('myFormVar',JSVariable.TEXT); var field = form.newPassword(x,1); //or a column data provider as the dataprovider //field.dataProviderID = columnTextDataProvider; forms['newForm1'].controller.show();
newPassword
(dataprovider, y)
Creates a new JSPassword field on the form.
Sample
var form = solutionModel.newForm('newForm1',myDatasource); //choose the dataprovider or JSVariable you want for the field var x = null; //global JSVariable as the dataprovider //x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT); //or a form JSVariable as the dataprovider //x = form.newVariable('myFormVar',JSVariable.TEXT); var field = form.newPassword(x,1); //or a column data provider as the dataprovider //field.dataProviderID = columnTextDataProvider; forms['newForm1'].controller.show();
newRadios
(dataprovider, y)
Creates a new JSRadios field on the form.
Parameters
{JSVariable} dataprovider – the specified dataprovider name/JSVariable of the JSField object
{Number} y – the vertical "y" position of the JSField object, defines the order of elements on the form
Sample
var form = solutionModel.newForm('newForm1',myDatasource); //choose the dataprovider or JSVariable you want for the field var x = null; //global JSVariable as the dataprovider //x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT); //x.defaultValue = "'Text from a global variable'"; //or a form JSVariable as the dataprovider //x = form.newVariable('myFormVar',JSVariable.TEXT); //x.defaultValue = "'Text from a form variable'"; var field = form.newRadios(x,1); //or a column data provider as the dataprovider //field.dataProviderID = columnTextDataProvider; forms['newForm1'].controller.show();
newRadios
(dataprovider, y)
Creates a new JSRadios field on the form.
Sample
var form = solutionModel.newForm('newForm1',myDatasource); //choose the dataprovider or JSVariable you want for the field var x = null; //global JSVariable as the dataprovider //x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT); //x.defaultValue = "'Text from a global variable'"; //or a form JSVariable as the dataprovider //x = form.newVariable('myFormVar',JSVariable.TEXT); //x.defaultValue = "'Text from a form variable'"; var field = form.newRadios(x,1); //or a column data provider as the dataprovider //field.dataProviderID = columnTextDataProvider; forms['newForm1'].controller.show();
newTextArea
(dataprovider, y)
Creates a new JSTextArea field on the form.
Parameters
{JSVariable} dataprovider – the specified dataprovider name/JSVariable of the JSField object
{Number} y – the vertical "y" position of the JSField object, defines the order of elements on the form
Sample
var form = solutionModel.newForm('newForm1',myDatasource); //choose the dataprovider or JSVariable you want for the field var x = null; //global JSVariable as the dataprovider //x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT); //x.defaultValue = "'Text from a global variable'"; //or a form JSVariable as the dataprovider //x = form.newVariable('myFormVar',JSVariable.TEXT); //x.defaultValue = "'Text from a form variable'"; var field = form.newTextArea(x,1); //or a column data provider as the dataprovider //field.dataProviderID = columnTextDataProvider; forms['newForm1'].controller.show();
newTextArea
(dataprovider, y)
Creates a new JSTextArea field on the form.
Sample
var form = solutionModel.newForm('newForm1',myDatasource); //choose the dataprovider or JSVariable you want for the field var x = null; //global JSVariable as the dataprovider //x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT); //x.defaultValue = "'Text from a global variable'"; //or a form JSVariable as the dataprovider //x = form.newVariable('myFormVar',JSVariable.TEXT); //x.defaultValue = "'Text from a form variable'"; var field = form.newTextArea(x,1); //or a column data provider as the dataprovider //field.dataProviderID = columnTextDataProvider; forms['newForm1'].controller.show();
newTextField
(dataprovider, y)
Creates a new JSText field on the form.
Parameters
{JSVariable} dataprovider – the specified dataprovider name/JSVariable of the JSField object
{Number} y – the vertical "y" position of the JSField object, defines the order of elements on the form
Sample
var form = solutionModel.newForm('newForm1',myDatasource); //choose the dataprovider or JSVariable you want for the Text Field var x = null; //global JSVariable as the dataprovider //x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT); //x.defaultValue = "'Text from a global variable'"; //or a form JSVariable as the dataprovider //x = form.newVariable('myFormVar',JSVariable.TEXT); //x.defaultValue = "'Text from a form variable'"; var textField = form.newTextField(x,1); //or a column data provider as the dataprovider //textField.dataProviderID = columnTextDataProvider; forms['newForm1'].controller.show();
newTextField
(dataprovider, y)
Creates a new JSText field on the form.
Sample
var form = solutionModel.newForm('newForm1',myDatasource); //choose the dataprovider or JSVariable you want for the Text Field var x = null; //global JSVariable as the dataprovider //x = solutionModel.newGlobalVariable('globals', 'myGlobal',JSVariable.TEXT); //x.defaultValue = "'Text from a global variable'"; //or a form JSVariable as the dataprovider //x = form.newVariable('myFormVar',JSVariable.TEXT); //x.defaultValue = "'Text from a form variable'"; var textField = form.newTextField(x,1); //or a column data provider as the dataprovider //textField.dataProviderID = columnTextDataProvider; forms['newForm1'].controller.show();
newVariable
(name, type)
Creates a new form JSVariable - based on the name of the variable object and the number type, uses the SolutionModel JSVariable constants.
Sample
var form = solutionModel.newForm('newForm1', myDatasource, null, true, 800, 600); var variable = form.newVariable('myVar', JSVariable.TEXT , "'This is a default value (with triple quotes)!'"); //or variable = form.newVariable('myVar', JSVariable.TEXT) //variable.defaultValue = "'This is a default value (with triple quotes)!'" // setting the default value after the variable is created requires form recreation //variable.defaultValue = "{a:'First letter',b:'Second letter'}" var field = form.newField(variable, JSField.TEXT_FIELD, 100, 100, 200, 200); forms['newForm1'].controller.show();
newVariable
(name, type, defaultValue)
Creates a new form JSVariable - based on the name of the variable object , the type and it's default value , uses the SolutionModel JSVariable constants.
This method does not require the form to be destroyed and recreated. Use this method if you want to change the form's model without destroying the runtime form</b>
Sample
var form = solutionModel.newForm('newForm1', myDatasource, null, true, 800, 600); var variable = form.newVariable('myVar', JSVariable.TEXT , "'This is a default value (with triple quotes)!'"); //or variable = form.newVariable('myVar', JSVariable.TEXT) //variable.defaultValue = "'This is a default value (with triple quotes)!'" // setting the default value after the variable is created requires form recreation //variable.defaultValue = "{a:'First letter',b:'Second letter'}" var field = form.newField(variable, JSField.TEXT_FIELD, 100, 100, 200, 200); forms['newForm1'].controller.show();
removeBean
(name)
Removes a JSBean that has the specified name. Returns true if removal was successful, false otherwise.
Parameters
{String} name – the specified name of the JSBean to be removed
Returns
Boolean – true if the JSBean has been removed; false otherwise
Sample
var form = solutionModel.getForm('myform'); form.removeBean('mybean')
removeButton
(name)
Removes a JSButton that has the specified name. Returns true if removal was successful, false otherwise.
Parameters
{String} name – the specified name of the JSButton to be removed
Returns
Boolean – true if the JSButton has been removed; false otherwise
Sample
var form = solutionModel.newForm('newFormX',myDatasource,null,true,800,600); var b1 = form.newButton('This is button1',100,100,200,50,null); b1.name = 'b1'; var jsmethod = form.newMethod("function removeMe(event) { var form = solutionModel.getForm('newFormX'); if (form.removeButton('b1') == true) application.output('Button has been removed ok'); else application.output('Button could not be deleted'); forms['newFormX'].controller.recreateUI();}"); var b2 = form.newButton('Click here to remove button1',100,230,200,50,jsmethod); b2.name = 'b2'; forms['newFormX'].controller.show();
removeComponent
(name)
Removes a component (JSLabel, JSButton, JSField, JSPortal, JSBean, JSTabpanel) that has the given name. It is the same as calling "if(!removeLabel(name) && !removeButton(name) ....)".
Returns true if removal was successful, false otherwise.
Parameters
{String} name – the specified name of the component to be deleted
Returns
Boolean – true if component has been successfully deleted; false otherwise
Sample
var form = solutionModel.newForm('newFormX','db:/server1/parent_table',null,true,1000,750); var jsbutton = form.newButton('JSButton to delete',100,100,200,50,null); jsbutton.name = 'jsb'; var jslabel = form.newLabel('JSLabel to delete',100,200,200,50,null); jslabel.name = 'jsl'; jslabel.transparent = false; jslabel.background = 'green'; var jsfield = form.newField('scopes.globals.myGlobalVariable',JSField.TEXT_FIELD,100,300,200,50); jsfield.name = 'jsf'; var relation = solutionModel.newRelation('parentToChild','db:/server1/parent_table','db:/server1/child_table',JSRelation.INNER_JOIN); relation.newRelationItem('parent_table_id', '=', 'child_table_id'); var jsportal = form.newPortal('jsp',relation,100,400,300,300); jsportal.newField('child_table_id',JSField.TEXT_FIELD,200,200,120); var childOne = solutionModel.newForm('childOne','db:/server1/child_table',null,false,400,300); childOne.newField('child_table_id', JSField.TEXT_FIELD,10,10,100,20); var childTwo = solutionModel.newForm('childTwo','server1','other_table',null,false,400,300); childTwo.newField('some_table_id', JSField.TEXT_FIELD,10,10,100,100); var jstabpanel = form.newTabPanel('jst',450,30,620,460); jstabpanel.newTab('tab1','Child One',childOne,relation); jstabpanel.newTab('tab2','Child Two',childTwo); var jsmethod = form.newMethod("function removeMe(event) { var form = solutionModel.getForm('newFormX');\n if ((form.removeComponent('jsb') == true) && (form.removeComponent('jsl') == true) && (form.removeComponent('jsf') == true) && (form.removeComponent('jsp') == true) & (form.removeComponent('jst') == true)) application.output('Components removed ok'); else application.output('Some component(s) could not be deleted'); forms['newFormX'].controller.recreateUI();}"); var removerButton = form.newButton('Click here to remove form components',450,500,250,50,jsmethod); removerButton.name = 'remover'; forms['newFormX'].controller.show();
removeField
(name)
Removes a JSField that has the given name. Returns true if removal was successful, false otherwise.
Parameters
{String} name – the specified name of the JSField to remove
Returns
Boolean – true is the JSField has been successfully removed; false otherwise
Sample
var form = solutionModel.newForm('newFormX',myDatasource,null,true,800,600); var jsfield = form.newField(scopes.globals.myGlobalVariable,JSField.TEXT_FIELD,100,300,200,50); jsfield.name = 'jsf'; var jsmethod = form.newMethod("function removeMe(event) { var form = solutionModel.getForm('newFormX');\n if (form.removeComponent('jsf') == true) application.output('Field has been removed ok'); else application.output('Field could not be deleted'); forms['newFormX'].controller.recreateUI();}"); var removerButton = form.newButton('Click here to remove the field',450,500,250,50,jsmethod); removerButton.name = 'remover'; forms['newFormX'].controller.show();
removeFooter
()
Removes a JSFooter if it exists.
Returns
Boolean – true if the JSFooter has successfully been removed; false otherwise
Sample
var form = solutionModel.getForm('myform'); form.removeFooter()
removeHeader
()
Removes a JSHeader if it exists.
Returns
Boolean – true if the JSHeader has successfully been removed; false otherwise
Sample
var form = solutionModel.getForm('myform'); form.removeHeader()
removeInsetList
(name)
Removes inset list from the form.
Sample
var form = solutionModel.getForm('test'); form.removeInsetList('myinsetlist');
removeLabel
(name)
Removes a JSLabel that has the given name. Returns true if removal successful, false otherwise
Parameters
{String} name – the specified name of the JSLabel to be removed
Returns
Boolean – true if the JSLabel with the given name has successfully been removed; false otherwise
Sample
var form = solutionModel.newForm('newFormX',myDatasource,null,true,1000,750); var jslabel = form.newLabel('JSLabel to delete',100,200,200,50,null); jslabel.name = 'jsl'; jslabel.transparent = false; jslabel.background = 'green'; var jsmethod = form.newMethod("function removeMe(event) { var form = solutionModel.getForm('newFormX'); if (form.removeComponent('jsl') == true) application.output('Label has been removed'); else application.output('Label could not be deleted'); forms['newFormX'].controller.recreateUI();}"); var removerButton = form.newButton('Click here to remove the green label',450,500,250,50,jsmethod); removerButton.name = 'remover'; forms['newFormX'].controller.show();
removeMethod
(name)
Removes a form JSMethod - based on the specified code.
Parameters
{String} name – the specified name of the method
Returns
Boolean – true if method was removed successfully , false otherwise
Sample
var form = solutionModel.newForm('newForm1', null, null, true, 800, 600); var hello = form.newMethod('function aMethod(event){application.output("Hello world!");}'); var removeMethod = form.newMethod('function removeMethod(event){ \ solutionModel.getForm(event.getFormName()).removeMethod("aMethod"); \ forms[event.getFormName()].controller.recreateUI();\ }'); var button1 = form.newButton('Call method!',50,50,120,30,hello); var button2 = form.newButton('Remove Mehtod!',200,50,120,30,removeMethod); forms['newForm1'].controller.show();
removeVariable
(name)
Removes a form JSVariable - based on the name of the variable object.
Parameters
{String} name – the specified name of the variable
Returns
Boolean – true if removed, false otherwise (ex: no var with that name)
Sample
var form = solutionModel.newForm('newForm1', null, null, true, 800, 600); var variable = form.newVariable('myVar', JSVariable.TEXT); variable.defaultValue = "'This is a default value (with triple quotes)!'"; //variable.defaultValue = "{a:'First letter',b:'Second letter'}" var field = form.newField(variable, JSField.TEXT_FIELD, 100, 100, 200, 200); forms['newForm1'].controller.show(); variable = form.removeVariable('myVar'); application.sleep(4000); forms['newForm1'].controller.recreateUI();