Skip to main content

How to use dojo.query to filter out few unwanted elements

Ever had scenario where you use a dojo.query to get the list of elements with some specific class but then realized you need to ignore few more elements from the result but cannot as those elements also have the same class defined.
No problem you can modify your query string to add the not function and pass in the new unique class which only these controls have. Not able to find any unique class, no issues, you can manually assign one custom class and use it in the query.
I encountered this requirement while working in IBM BPM Coaches but this is not specific to BPM instead it's a pattern for dojo query.
So here is an example of filtering the controls using the class names in the dojo.query

dojo.query(".CPP") gives me the list of all the interactive controls in the page. But I don't want the button controls and my button control has another class as "Button" to my modified query will be

dojo.query(".CPP:not(.Button)")
This query will list all the elements with CPP class and exlude those which has CPP & Button class together.



Cheers, Saroj

Comments

Popular posts from this blog

How to get URL of web file in IBM BPM

In IBM BPM, sometimes we need the URL of the web files added to the process app. Below is the script that can be used to get the actual URL of the web file dynamically helping to avoid the static hardcoding. com_ibm_bpm_coach.getManagedAssetUrl("file.png",com_ibm_bpm_coach.assetType_WEB Hope this will be helpful. Thank you for stopping by. Please leave comment and share if this helps you. Cheers!!

How to pass parameter to function while calling it in spark controls

This is extension to the article of Creating Custom Functions in Spark UI Toolkit. It don't have option to explain how to define the function with real input parameter and invoke it with data. To understand how to Create Custom Function in Spark, please refer this  link. Here I'll explain how to define the function with real input parameter (not the control input) and how to invoke it with the data. It's the normal way of writing any parameterized function in custom HTML (Advanced control) in IBM BPM, like openLink(control, val) {//code here;}. Screenshot below. In this you can see I'm using val variable to get the input and deciding the link to open based on it's value. The suggested way to call the function in spark on any control event is like @openLink() as shown below.   But this will not pass any value. Interestingly as per the explanation in the Spack help, it pass the control reference in the function. and you can't try the combinations of passing the e...

Basic guidelines to use Alerts from SPARK UI Toolkit

SPARK UI Toolkit is a boon for IBM BPM developers as it's improving day by day and IBM will be accepting it as official toolkit and merge the controls in their System Data toolkit. In this post I'll share some simple tips to use the SPARK Alert controls apart from those which are not mentioned in Salient Process JS Docs . These are few additional guidelines to use the SPARK Alert component in more effective way. You can reuse the alert instance to change the style, text, and title of it To do this, first use the getAlert(id) to get the alert object*. Now you can use setText(text), setTitle(title), setStyle(style) to change the desired thing in the existing alert. You can close the selected alert from the list of alerts. To do this, use the getAlert(id) to get the alert object*. Now you can use close() function to close that alert. * You need to assign the id in appendAlert() while creating new alert message. Cheers, Saroj