Skip to main content
1-Visitor
November 1, 2016
Question

using navigation widget to pass parameters between mashups

Hello Guys.

Mashup 1 contains a map which got its locations and the ids  from infotable,

I wanted to click on the location it should replace the  main mashup window with another mashup corresponding to that ID

Please help me how to achieve this using the navigation widget to pass parameters between mashups,

how can i configure navigation widget to link to different mashups corresponding to the IDs

what i have done so far

I mapped the IDs, location on to the Google Map, and figuring out how to do it

10 replies

22-Sapphire I
November 2, 2016

are you navigating to the SAME mashup but with a different ID context

or are you navigating to a Different mashup depending on the ID context?

When you add a Mashup definition in the Navigation Widget Properties, it will add new properties to the navigation widget that represent the Mashup parameters defined on the chosen mashup. You can now wire your 'selected row ID' to those.

If you are also dynamically determining the mashup name itself, you will have to wire that to the Mashup name property of the Navigation widget.

Translate
sreddy-211-VisitorAuthor
1-Visitor
November 2, 2016

I am navigating to a Different mashup depending on the ID .

Now I already wired the selected row ID (siteid) which is the parameter of the navigating mashup

But when I view mashup , there is no response when I click on the respective marker

Translate
1-Visitor
March 3, 2017

Sruchan,

Any update on this? Were any of the posts in the discussion helpful? If so, could you click on the "correct answer" or "mark as helpful" button and let us know?

Translate
1-Visitor
November 3, 2016

You should bind the SelectedRowsChanged event from the service which fills the map to the navigation widget which loads the SiteId mashup.

Translate
1-Visitor
February 23, 2017

As per your question, you could do it by following steps:-

If you are not maintaining session per user then

1- create a thing having all the properties that you want to show on the other mashup.

2- On SelectedRowsChanged Event set the values (to be shown in new mashup) in the thing properties through a service.

3- Link the navigate with the "ServiceInvokeCompleted" event with the navigate which would navigate to the new mashup.

4- "OnMashupLoad" event call the service to retrieve the values from the thing and bind them with the widgets on the new mashup.

If you are maintaining session per user then:

1- create properties to be shown in the new mashup as session properties. For this go to subsystem then go to UserManagementSubsystem and create properties by editing the GlobalSessionProperties.

2- Map the session properties(under session tab) with the widgets in design mode of mashup.

Translate
22-Sapphire I
February 23, 2017

Please note that the first method with a Thing with Properties will not work, because every logged in user will be creating 'race conditions' when they navigate. Since all are writing to the same Thing/Properties

Translate
1-Visitor
February 24, 2017

Pai, you are absolutely right but I thought if there is a situation where we have a single administrator who only can have access to certain things and services.Otherwise in general cases we can use user session.

Translate
1-Visitor
July 13, 2017

Suppose we have two DataTable or Things Thing1 and Thing2

We want navigate Mashup1 to Mashup2.

1.Create Mashup1 add Navigation widget.

2. Navigation widget have property MashupName="Mashup2"

3. Create Mashup2.

4.Mashup2 bind with Thing2.

5.In Thing2 create one property name username.

6.In Thing2 create service with name "setUsername" by javascript  like me.userName=userName;

7.Go to Navigation Widget it show "PopLinkClosed" button link "setUsername"


Likewise you can set value to other things as properties.

Translate
1-Visitor
October 11, 2017

Hello,

I am having the same problem. Did you find a proper way to do it? Can you share steps and images please.

Translate