We announce the immediate availability of Servoy 3.5 rc 6
NOTE: this is PRE-RELEASE SOFTWARE, use with caution and make BACKUPS before you start.
This version will be available shortly through auto update for users of versions later than 3.5 b2 (check via help menu → check for new version)
Changes
[chg] now possible to disable duplicate server and delete inactive server on admin page
[fix] popup menu plugin working for tabpanel forms in webclient
[fix] agent plugin not working
[fix] headless client combobox values wouldn’t be stored
[fix] don’t return the complete record to string representation in fields without dataprovider in list view
[fix] when altering tabs (adding,inserting or removing) the onTabChange will not be fired
[fix] labels choke on html tags in web client
[fix] application.isFormInDialog() always returning true when it has been shown in a dialog before
[fix] focus cycle should also ignore non-visible components
[fix] propagate readonly attribute to all forms in tabpanel in webclient
[fix] sql result of databaseManager.getSQL can be used in loadRecords again
[fix] cannot close window through the default windows close button
[fix] extend search on releated form losing relation
[fix] controller.loadRedcords(sql) sometimes failed with syntax error on Oracle
[fix] table filter parameter was not applied to n-m table on type-ahead fields
[fix] detect identity PK columns in the database
[fix] tableview focus update problem
[fix] find criteria not applied in webclient
Previous release
http://forum.servoy.com/viewtopic.php?t=8739
(Relatively) newbie question: can someone give me an example of how to use onTabChange correctly? (proper syntax and what situations it would be good for, etc.)
When I tried it here, it just hid the tabs other than the first one… ![Confused :?]()
Thanks,
Ben
Have a look here: http://forum.servoy.com/viewtopic.php?p … e0e7bfb752 for the history of this new feature.
The onTabChange event will fire when the user selects another tab.
The onTabChange event will automatically receive 1 parameter, which is the tabIndex of the tab the user was on BEFORE he selected another tab.
Inside the onTabChange event you can get the name of the tabPanel and the form the tabPanel is on, using
var _form = application.getMethodTriggerFormName
var _element = application.getMethodTriggerElementName
With these two, you can get to the tab that is currently selected, by the following code:
forms[_form].elements[_element].tabIndex
That will give you the tabIndex of the tab where the user anvigated to.
So, the new event allows you to figure out which tab/form the user navigated away from and to where he/she went.
Paul
Did take a look, but it’s still not clear to me - and why should all tabs except the first one disappear from the tabpanel when I use that function? ![Sad :(]()
Ben
Ok, there must be something wrong with me here - now all the tabs show up as expected. Weird! ![Confused :?]()
However, when I try this code with a tabpanel with 4 tabs on it:
var _form = application.getMethodTriggerFormName;
var _element = application.getMethodTriggerElementName;
if ( forms[_form].elements[_element].tabIndex == "1" )
{
plugins.dialogs.showInfoDialog( "Info", "Hello!", "Ok")
}
I get the following error:
ConversionError - the undefined value has no properties calling elements (onTabChange, line 5)
and these are the contents of my vars in the debugger:
_element function js_getMethodTriggerElementName() {/* java.lang.String js_getMethodTriggerElementName() */}
_form function js_getMethodTriggerFormName() {/* java.lang.String js_getMethodTriggerFormName() */}
I’m running Servoy Developer v3.5RC6 build 511.
Thanks for shedding some light on this for me! ![Smile :)]()
Ben
var _form = application.getMethodTriggerFormName;
var _element = application.getMethodTriggerElementName;
is missing the brackets behind the function…
Should be:
var _form = application.getMethodTriggerFormName();
var _element = application.getMethodTriggerElementName();
Typed the code from the top of my head, sorry 'bout that…
Paul
Thanks for clearing this up, Paul - I should’ve seen this also. Another thing to add to my learning curve! ![Wink :wink:]()
It works as expected now. Thanks for this great feature - you guys keep making our jobs easier all the time.
Sincerely,
Ben
np, glad to be of service ![Smile :-)]()
I have several global relationships based on integer values…like:
currentuser_activities: (inner join)
globals.currentuser = user_id
globals.value_1 = open (integer 1/0 field)
In recent rc releases, these relationships now fail if there are NULL values in the foreign integer value (the “open” field in the example).
If all the values in open are 0 or 1, it works fine, but if any values are NULL, it returns no result.
These always used to work fine. Clearly, I should auto-enter a 0, which I can do if necessary – just wondering if this is a bug or a planned change.
Thanks, greg.
Greg,
This is not a planned change.
I tried to reproduce this, but in my solution the relation worked fine.
What database are you using?
Please create a small sample solution and enter a case in our support system.
http://forum.servoy.com/viewtopic.php?t=6789
Rob