STEP 1 :
<aui:select id="region" name="region" label="" cssClass="regionDropdown">
<aui:option value="0" selected="selected">Region</aui:option>
</aui:select>
STEP2 :
<script type="text/javascript">
window.addEventListener("load", onloadSingleRecord);
function onloadSingleRecord() {
populateAllDropdowns();
}
function populateAllDropdowns() {
var urlAction = "<%=retrieveDropdownListURL.toString()%>";
$.ajax({
url: urlAction,
type: 'POST',
dataType : "json",
success: function(result){
if(result["STATUS"] == "SUCCESS") {
populateRegionDropdown(result["REGION_DROPDOWN"]);
}
}
});
}
STEP 3:
<portlet:resourceURL id="LOAD_DROPDOWN_LIST" var="retrieveDropdownListURL" />
<script>
var retrieveDropdownListURL = '<%=HtmlUtil.escapeJS(retrieveDropdownListURL.toString()) %>';
</script>
STEP 4:
@SuppressWarnings("static-access")
@Override
public void serveResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse)throws IOException, PortletException {
String resourceId = resourceRequest.getResourceID();
if (null == resourceId || resourceId.isEmpty()) {
resourceResponse.setProperty(resourceResponse.HTTP_STATUS_CODE, "400");
resourceResponse.getWriter().write("This is not a valid request");
return;
}
if (resourceId.equals("LOAD_DROPDOWN_LIST")) {
fetchDropdownListUsingResource(resourceResponse);
}
/* This is for Region drop down */
function populateRegionDropdown(resultData) {
if(resultData != null) {
var numberOfRows = resultData["REGION_DROPDOWN_ROWS"];
var dropDownObj = document.getElementById("<portlet:namespace/>region");
for(var rowCtr = 0; rowCtr < parseInt(numberOfRows); rowCtr++) {
var option_value = resultData[rowCtr]["RegionPK"] + '@@' + resultData[rowCtr]["RegionName"]
var newRow = new Option(resultData[rowCtr]["RegionName"], option_value);
dropDownObj.options[dropDownObj.length] = newRow;
}
}
}
STEP 5 :
public static void fetchDropdownListUsingResource(ResourceResponse resourceResponse) throws IOException {
JSONObject json = null;
try {
json = JSONFactoryUtil.createJSONObject();
json.put("REGION_DROPDOWN", getRegionDropdownJSON());
json.put("STATUS", "SUCCESS");
resourceResponse.getWriter().write(json.toString());
resourceResponse.flushBuffer();
} catch (IOException e) {
json.put("STATUS", "FAILED");
resourceResponse.getWriter().write(json.toString());
resourceResponse.flushBuffer();
_log.error(e.getMessage());
}
}
STEP 6 :
private static JSONObject getRegionDropdownJSON() {
JSONObject dropdownJson = JSONFactoryUtil.createJSONObject();
JSONObject rowData = null;
List<VwTcDropdownLists> listObj = VwTcDropdownListsLocalServiceUtil.getRegionDropDown();
if (listObj != null && (!listObj.isEmpty())) {
dropdownJson.put("REGION_DROPDOWN_ROWS", "" + listObj.size());
VwTcDropdownLists beanObj = null;
for (int i = 0; i < listObj.size(); i++) {
beanObj = listObj.get(i);
rowData = JSONFactoryUtil.createJSONObject();
rowData.put("RegionPK", "" + beanObj.getItemTreePosition());
rowData.put("RegionName", "" + beanObj.getItemName());
dropdownJson.put("" + i, rowData);
}
} else {
dropdownJson.put("REGION_DROPDOWN_ROWS", "" + 0);
}
return dropdownJson;
}
No comments:
Post a Comment