Is there an accepted method of getting a click event on a Collection Widget tile to trigger a Navigation to a parameterized mashup?
Mashup A: Main full size mashup for a Production Line
Mashup B: Small mashup that shows key data for a machine on the line. A service on Mashup A populates a Collection Widget with these.
Mashup C: Boiler Plate Mashup that shows more detail about the machine.
I would like to set up navigation so when the user clicks on a Machine in the Collection, the Thingname of the machine (used to populate data on Mashup B) is passed to Mashup C.
Now, I can get this to work by setting up a Navigation Function on Mashup A and binding the Collection CellWasClicked Event to the Evaluate input and the Event:Thingname to the Parameter of the Mashup. This works at runtime, until I refresh the composer and I get "Obsolete bindings for <NavigationFunction>" and the Mashup Parameter binding is removed.
I've been searching round for ages for a solution to this. There are a couple of topics on this that I can't get to work either, including setting a Session Parameter with the Machine Name and passing that to the Navigation Function.
This seems like a fairly common thing to want to do, surely there's an easier way?
I'm using ThingWorx v9.0, if that matters.
I am able to navigate to mashupC from mashupA by rendering mashupB on each row of collection/grid on mashupA. Output url after navigation shows me this (Thingworx/Runtime/index.html?mashup=MashupA#mashup=MashupC&inputThingName=Thing2). I dont understand your "Obsolete bindings for <NavigationFunction>" issue.
This message is displayed after I refresh the composer and it removes the binding.
Another instance I have found this morning, I also see the same behaviour when trying to bind SelectedRows from a Grid Advanced widget to Mashup Parameter of a Navigation function
I am using ThingWorx 9.0.0-b9557 version of thingworx but I don't see any message. I am attaching all the entities here and you import them and see if you any issue there. It could be related to browser specific issue as well as I am using chrome Version 83.0.4103.116 (Official Build) (64-bit).
Few widgets like Open Street Map and Collections does't show some properties in good shape. For example, in collection we have a UID property which is a required field and help to uniquely identify the rows in collection. When I am trying to bind my info table to collection it shows me an error message regarding this UID required field. However there is a dropdown that is supposed to be in front of UID field but it only shows a black space not a dropdown. Same case with Open Street Map where if we bind a child mashup, it should show child mashup's input parameters as new propertied but it show 3 new properties, with a blank name but those properties has some values as a dropdown. This is quite weird behavior
Note: Import thing template first followed by two things then, Mashup C,B and A.
If the previous response answered your question, please mark it as the Accepted Solution for the benefit of others with the same question.
Thank you for participating in our community!
Not really, in the example posted the binding of the Mashup Parameters in the Navigation function is gone. Which is exactly my issue.
FYI, I have been given a workaround of doing the same thing but using a Navigation widget, which works. Once you have that working, you can let the Composer upgrade the widget to a Navigation Function and you can still bind mashup parameters to the function.
There appears to be an issue with the normally created Navigation functions, they are somehow different to the ones upgraded from a widget. It's a known issue at some level within PTC, unsure how seriously it is being worked on.