How to integrate a Tab Application within another Application

Hi there.
How can we integrate a Tab Application within another Application?
It’s currently not possible to do it inside the following Application types:

  • Dashboard
  • Form
  • Control
    The only way I was able to do it is from a Menu which does not help me a lot.
    So how can we achieve the following:
  • have a Form Application (Single record) with 2 blocks
  • in the first block I have the fields from the table in the database
  • in the second block I’d like to have a Tab Application that would receveive a parameter and trasnfer it to the other Applications it contains.
    Thanks a lot.

I’m not sure what exactly you want to achive, but I think the nearest way is with a master/detail form.

Alternatively, I’ve a few similar workspaces, which are actually dashboards with embedded apps. When you change something in app1, it sets a global variable (or several) and when the apps initiate after the redirect, they pickup the globals and react accordingly.

You do have to have a bit of thought to what they do the first time the dashboard initiates and make sure you refresh the dashboard itself, but other than that they seem to work OK.

You can checkout a demo here https://idmb.uk/Webapps/P_Assist2/Demo/

look at admin/users or Plans/Tasks Workspace

@ibatey

Very nice left menu.
Could you share the css with us?

There is no special css

It’s a standard scriptcase vertical menu, with mainly default settings. The CSS comes from one of the standard sc themes

Hi ibatey. Thx a lot for sharing thissolution.
I had tried the master-detail features andI found out bugs that prevented me to use this.
I gave up on having the master fields on the top horizontal or vertical section and finally used a simple Tab App.

Here is a full decription of my App and the new issue about using Tab Applications. See the whole description in the attached file. I’m so eager to find a solution because it prevents me to deploy this App. BUG-ID-mix-20200719.pdf (1.1 MB)

Haven’t tried this … just found it tonight in this forum:

Yes; that works. But not perfect; it loads the scriptcase menu if I edit the record. Except that I put this code in “onRecord”:

{custom_edit} = “<a href=“javascript:openmyform(’{id}’);” class=“scGridFieldOddLink” >Edit”;

And I did this (on the form)

Fields > (choose the field that you want to see in the tab) > save Variable > var_name
Layout > Header and Footer > {lang_othr_frmu_title} [glo_username]
Application > Global Variable > glo_username = OUT

Your basic problem is that there is only one global variable… not one per browser/tab. I usually try and avoid multiple windows for this very reason. You have a couple of options:

  1. Stop multiple windows opening at any one time
  2. Use a non-global variable that is held in the tab (e.g. use {user}, rather than [user]… then link using the {user} value from the tab.

It just gets tricky when you have multiple tabs.

Thx for your thoughts. The issue is the same when we open multiple tabs WITHIN the App (no other browser tab).
And saving the ID in a field could work, but the Tab Application has no event nor fields available :frowning:
I solve my issue by adding all the details tabs in the same Master Form App and hiding/showing them when needed. Not the best layout but I can move forward.
I will indeed dig a little bit about teh Form App, pages and blocks; maybe there is something here …
Thx a lot.

Did you use page to be a new tab. I create new tap in my main form and use “page” as Tab and use block to control the fields and grid to show.
I hope this one can help you. Good luck.

Hi jonathanwang.
Thx for your answer.
My issue is that within a tab, I can only add a “master-detail” related App and not any App.
I’d like for example be able to add a “Tab Application” in another Master App’s tab.
My goal is to have a master App related to a table then a few tabs which would also contain tabs with App. I haven’t found a way to achieve this!

Hi,
Why a global variable and not a parameter?
When you use a parameter, its scope is only local
When you write the query state WHERE campo=[parameter1]
when you make the link between the master and the new tab the parameter1 will be modified and then when you call again the parameter will be modified locally, so none global variable is needed.

sorry if I don’t understand your issue

regards

Hello aamartinezz.
Thx for your answer.
So far as I know, a parameter used in your example “… WHERE mydbcolumn = [param1]” becomes automatically global. Let’s say I have a grid with clients. I open client #1 and then click on a detail tab let’s say “adresses”. Param1 will be the ID of client #1 and I’ll see the adresses of client #1 = GREAT.
Now let’s restart: I open client #1 and don’t click on “adresses” tab. I open client #2 (which opens a second tab within my app) and I click on his “Adresses tab”. [Param1] = id of client 32. I now return to client #1 and click on his “Adresses” tab, [Param1] still has the ID of client #2. This is really annoying. There is no way (so fair as I know) to catch the “tab click” event to refresh the parameter.