Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Conditional convertToSingleSelect based on REST API response i.e free text when NULL response

Prasad Pendke April 29, 2019

I am using "convertToSingleSelect" to convert custom text field to drop-down . I want to make it conditional i.e 

a) Select dropdown when response is not NULL

b) Free text when response is NULL .

1 answer

1 accepted

Suggest an answer

Log in or Sign up to answer
0 votes
Answer accepted
Peter-Dave Sheehan
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 29, 2019

To do that, you would have to have to make your rest call twice, once to pre-validate if there is any response, and if so, then make the conversion with the ajaxOptions.

Alternatively, don't use the ajaxOptions, make your rest request, verify the response is not null then convert to single select with setFieldOptions

import groovyx.net.http.ContentType
import groovyx.net.http.HTTPBuilder
import groovyx.net.http.Method

def httpBuilder = new HTTPBuilder(urlOfYourDataSource)
def responseData
httpBuilder.request(Method.GET, ContentType.JSON) {
response.success = {resp, data ->
responseData = data
}
response.failure = {resp, text ->
log.error "Error: $text"
}
}
if(responseData){
//you may need to transform you data to get a map of id and values for the select
def map = someFunctionToTransformYourResponse(responseData)
def textFld = getFieldByName("textFieldToConvert")
textFld.ConvertToSingleSelect().setFielOptions(map)
}

Note that with this approach, you can't repeat the request with each keyPress.
But the typeAhead search/filtering will still work on the full data set.

Prasad Pendke April 29, 2019

Thanks for your quick response .

I have thought about this approach but it was taking two API calls that's where I stuck .

I want to make this in single API call other wise we can prepare drop-down using jQuery.

TAGS
AUG Leaders

Atlassian Community Events