Dynamic Detail Views in a list or dynamic Tab Container
0
Hello I am trying to achieve the following, but fail: I use an entity LIST to manage different lists. Each list is associated with n STEP items from a different entity. From the LIST overview I open a new overview page to show the STEP items associated with a particular LIST item. Just creating a data grid of the LIST items works without a problem. What I want to achieve is opening a detail view on the first ENTITY object with a forward button to go to a detail view to the 2nd, 3rd…. item. Even better would be a wizard style timeline showing the number of associated STEP items to a list. Any ideas on how to achieve this? A possible take: I could imagine to use the “Tab Container” widget and apply some styling for the wizard effect. I don’t know how to apply the STEPs in a list as tab pages in the container dynamically. Any suggestions?
asked
Jakob Schillinger
1 answers
2
Hi Jakob,
There can be several different ways to achieve this. Couple of the ways I can think of ATM are;
Use listen to widget source but you cannot have forward button. Detail view will be shown based on the LIST object that is selected
Add custom logic yourself
You can add an attribute called StepNumber to the STEP entity
When new step is created, auto allocate StepNumber (e.g. 1 for the first step, don't use autonumber because you can use 1 as StepNumber again for other LIST object)
Make sure its in ascending order and is unique for the associated LIST
If a STEP object is deleted, then reallocate the StepNumber of all the STEP objects for the associated LIST accordingly
Add a microflow to open the first step from the LIST overview
If you want to retrieve from database then, set datasource = database, XPath = [Data_Ingest.STEP_LIST = $LIST] range = First and sorting = StepNumber ascending (this will give you STEP1)
If you want to retrieve from association then, datasource = association, select $LIST/STEP_LIST to retrieve STEP List.
Add list operation action and set operation = sort, list = STEPList, add a new sorting (select StepNumber attribute and sort order = Ascending). Set List name = STEPList_Sorted
Add another list operation action and set operation = head and List = STEPList_Sorted (this will give you STEP1)
Than use show page action to call the detail view page and pass in STEP1 object
In this page you can show forward or back buttons
For forward button add a microflow, pass in the parameter of STEP1 object, create a variable called StepNumber and increment StepNumber (that is Step1/StepNumber+1) and then use retrieve action to retrieve next STEP object where datasource = database, XPath = [Data_Ingest.STEP_LIST = $LIST] [StepNumber=$StepNumber] range = First and sorting = StepNumber ascending (this will give you STEP2). (this is hardcoded or static way but you can also explore dynamic way if you are interested)
For previous or back button you can follow the above steps but decrement StepNumber instead of increment
For showing wizard on top of the page, you can use progress wizard building block