There are five custom lists in a site collection, all have same content type. I would like to get all items from those five lists using JavaScript. Is there a way to get all items from all lists having a specific content type using JavaScript?
This is my code:
var clientContext = new SP.ClientContext.get_current();
var hostweburl = decodeURIComponent(getQueryStringParameter("SPHostUrl"));
var parentContext = new SP.AppContextSite(clientContext, hostweburl);
var parentWeb = parentContext.get_web();
var listCollection = parentWeb.get_lists();
var list;
var context = SP.ClientContext.get_current();
var user = context.get_web().get_currentUser();
$(document).ready(function () {
context.load(listCollection);
context.load(user);
function onGetUserNameSuccess() {
Filter()
}
function onGetUserNameFail(sender, args) {
message("Failed to get user name. Error:" + args.get_message(), "danger", "glyphicon glyphicon-remove");
}
context.executeQueryAsync(onGetUserNameSuccess, onGetUserNameFail)
});
function getQueryStringParameter(paramToRetrieve) {
var params = document.URL.split("?")[1].split("&");
var strParams = "";
for (var i = 0; i < params.length; i = i + 1) {
var singleParam = params[i].split("=");
if (singleParam[0] == paramToRetrieve) {
return singleParam[1];
}
}
}
function Filter() {
var listString = "";
var listEnumerator1 = listCollection.getEnumerator();
while (listEnumerator1.moveNext()) {
var currentItm = listEnumerator1.get_current();
listString = currentItm.get_title();
var query = new SP.CamlQuery();
query.set_viewXml("<View><Query><Where><And><Eq><FieldRef Name='Author' /><Value Type='User'>" + user.get_title() + "</Value></Eq><Eq><FieldRef Name='ContentType' /><Value Type='Computed'>Nintex</Value></Eq></And></Where></Query></View>");
var items = listCollection.getByTitle(listString).getItems(query);
clientContext.load(items);
function onSuccess() {
var itmString = "";
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
var currentItem = enumerator.get_current();
var id = currentItem.get_id();
itmString += "<div class='alert alert-danger divHeader' data-id='" + id + "' innerHTML=<label class='divHeader'>" + currentItem.get_item("Title") + "</label></div><div class='alert alert-warning divContent' id='" + id + "' style= 'display: none;' ></div>";
}
$("#minaBlanketter").html(itmString);
}
function onFail(sender, args) {
message("Error:" + args.get_message(), "danger", "glyphicon glyphicon-remove");
}
clientContext.executeQueryAsync(onSuccess, onFail);
}
}