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
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.
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
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?
You should bind the SelectedRowsChanged event from the service which fills the map to the navigation widget which loads the SiteId mashup.
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.
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
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.
That scenario shouldn't make a difference.
I believe that even in that scenario you can use session parameters. On the services and security side you do want to properly set up your services and use the System User as needed.
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.
Hello,
I am having the same problem. Did you find a proper way to do it? Can you share steps and images please.