magritton
3/23/2016 - 8:14 PM

This code get the XML view query from a list that has already done the hard work of getting the correct data. rather than recreating the whe

This code get the XML view query from a list that has already done the hard work of getting the correct data. rather than recreating the wheel I used this code to get the view's XML query. This also is an example of using SOD to load SP libraries first and the use of the inline function to handle the success.

<script type="text/javascript" src="https://xxxxx/jquery-1.11.2.min.js"></script>
Enter List Name:<br/><br/>
<input type="text" id="ListName" value="Fleet Assignment" style="width:200px;"/><br/><br/>
Enter view name:<br/><br/>
<input type="text" id="ViewName" value="Expected Delivery Next 7 Days" style="width:200px;"/><br/><br/>
<input type="button" value="Get Xml" onclick="getGetXml();"/><br/><br/>
<textarea cols="100" rows="35" id="resultXml"></textarea>
<script type="text/javascript">

function getGetXml()
{
	SP.SOD.executeFunc('sp.js', 'SP.ClientContext', getViewXML);
}

function getViewXML() {

    var clientContext = new SP.ClientContext.get_current();
    var oList = clientContext.get_web().get_lists().getByTitle($('#ListName').val());
    var camlQuery = new SP.CamlQuery();
		var viewTitle = $('#ViewName').val();
		var view = oList.get_views().getByTitle(viewTitle);

		clientContext.load(view,'ViewQuery');
    clientContext.executeQueryAsync(
      function() {
        var viewQry = "<View><Query>" + view.get_viewQuery() + "</Query></View>";
        getQueryXML(viewQry);
      },
      onQueryFailed);      
}

function getQueryXML(queryText) 
{
	$('#resultXml').val(queryText);
	//console.log(queryText);		
}  

function onQueryFailed(sender, args) {
    alert('Request failed. ' + args.get_message());
}
$(document).ready(function() {
	SP.SOD.executeFunc('sp.js', 'SP.ClientContext', getViewXML);
});

function getViewXML() {

    var clientContext = new SP.ClientContext.get_current();
    var oList = clientContext.get_web().get_lists().getByTitle('Fleet Assignment');
    var camlQuery = new SP.CamlQuery();
		var viewTitle = 'Expected Delivery Next 7 Days';
		var view = oList.get_views().getByTitle(viewTitle);

		clientContext.load(view,'ViewQuery');
    clientContext.executeQueryAsync(
      function() {
        var viewQry = "<View><Query>" + view.get_viewQuery() + "</Query></View>";
        success(viewQry);
      },
      onQueryFailed);      
}

function getQueryXML(queryText) 
{
	console.log(queryText);		
}  

function onQueryFailed(sender, args) {
    console.log('Request failed. ' + args.get_message());
}