How filter tasks in a custom application using default task list resource

1
0
-1

In a custom app that implement custompage_tasklist, we want to use the task filter by parameter like we can do using the portal home page like that:
http://localhost:8080/bonita/portal/homepage?_p=tasklistinguser&_pf=1&ca...
We try use the same in our app url for task, but it's never filter the tasks:
http://localhost:8080/bonita/apps/MyApp/my-tasks/?_p=tasklistinguser&_pf...

Comments

Submitted by nicolas.chabanoles on Tue, 02/15/2022 - 17:30

Hello joser79,

Could you give us more details on what you are trying to achieve in term of functional behavior?

The URL parameters you are mentioning were used by Bonita Portal but are not understandable by an app. So I will need more information in order to help you figure out how to answer your use case.

Captain Bonita

1 answer

1
+1
-1
This one is the BEST answer!

Hello,

unfortunately the default Layout does not support the conversion of the URL parameters to the AngularJS "#" parameters required by the "custompage_tasklist".

There is two way to cover your use case.

1 - you can modify the "Bonita layout", by editing the "BonitaLayoutMenu" widget

In this BonitaLayoutMenu, you will need to edit the controller, to pass the URL parameter as # parameter.

To do this, just add the following Green code to this line :

$scope.properties.targetUrl = "../../../portal/resource/app/"+ctrl.applicationToken+"/"+ ctrl.pageToken+"/content/"+ $window.location.search + searchSeparator() + "app=" + ctrl.applicationToken + "#" + $window.location.search ;

then you will be able to use link like the following one in your application:
http://localhost:8080/bonita/apps/MyApp/my-tasks/?case=1852

(It could be more clean, to only pass specific URL parameters like "case", instead of always passing everything)

2 - Generate dedicated links:

This second solution is to use a UI Designer widget link in your page that target "the current frame":

Frame = "Current frame (_self)"

with an URL like:

URL = "../../my-tasks/content/#?case=" + caseIdQueryParameter

This solution will not update the top URL, but it could be less impactful for your application than modifying the layout. Note that this kind of link will only work in applications where the page token of your task list is "my-tasks".

Hope this helps,

Julien.

Notifications