Blanking StringList attributes
Hi all,
is there anybody out there than can help me on how to blank out a string list attribute based on the change of the "filed against" attribute ? I had to use the string list (associated to a HTTP Filtered Value Set) because there is not the possibility to manage a dependent enumeration value set for enumeration list attributes. My set of values depends upon the Work item category, and when I change this attribute I need to clean up my string list attribute because it usually contains incoherent values if populated with a different work item category. My solution should be to clean out the string list on the change of the category, and I would like to do it at client level, with any type of attribute customization, but I dont know how to do it. I tried with multi line text and javascript providers with no results: would you please help me ? Thanks, kind regards andrea |
Accepted answer
Ralph Schoon (63.6k●3●36●46)
| answered Oct 09 '14, 4:47 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
Hi Andrea,
I tried JavaScript and it does not work. This script should do it: /******************************************************************************* * Licensed Materials - Property of IBM * (c) Copyright IBM Corporation 2011. All Rights Reserved. * * Note to U.S. Government Users Restricted Rights: * Use, duplication or disclosure restricted by GSA ADP Schedule * Contract with IBM Corp. *******************************************************************************/ dojo.provide("com.example.CleanListValueProvider"); dojo.require("com.ibm.team.workitem.api.common.WorkItemAttributes"); (function() { var WorkItemAttributes = com.ibm.team.workitem.api.common.WorkItemAttributes; dojo.declare("com.example.CleanListValueProvider", null, { getValue: function(attribute, workItem, configuration) { //var category = workItem.getValue(WorkItemAttributes.FILED_AGAINST); var category = workItem.getLabel(WorkItemAttributes.FILED_AGAINST); console.log("Category: " + category); if (category=="Core"){ //var result= []; var result= null; return result; } // var result= null; // Works but not desired return workItem.getValue(attribute); // java.lang.String incompatible with java.util.Collection } }); })(); Unfortunately it does not. I can basically not even return the original value of the attribute (to not change the value in case it is not supposed to be). I think List attributes are currently at least not supported in JavaScript based calculated values. They work only for value sets. Feel free to file a defect or enhancement request. I can only return null to clear the values, but since I always have to return a value, that means it will always clear the attribute if the category changes. Not very helpful. you could try to follow https://rsjazz.wordpress.com/2013/06/26/attribute-customization-java-based-value-providers-conditions-and-validators/ and create a calculated value in Java. In this case you can return a List or Collection of string values, which should work. Andrea Perniciano selected this answer as the correct answer
Comments
Andrea Perniciano
commented Oct 09 '14, 7:37 a.m.
Hi Ralph,
|
Your answer
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.