Title: Get the Workflow Suspend details for Selected List
- <script type="text/javascript" src="/_layouts/15/init.js"></script>
- <script type="text/javascript" src="/_layouts/15/sp.runtime.js"></script>
- <script type="text/javascript" src="/_layouts/15/sp.js"></script>
- <script type="text/javascript" src="/_layouts/15/SP.WorkflowServices.js"></script>
- <script type="text/javascript" src="/_layouts/15/MicrosoftAjax.js"></script>
- <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
- <script type="text/javascript">
- $(document).ready(function ()
- {
- $("#btn-display").on('click', function () {
- var ListItemCollToBeUpdated = "";
- var listItemToBeUpdated = "";
- var oList = "";
- var list = "";
- var listID = ""
- var itemId= "";
- //Get List GUID
- getListId()
- //Get List Item ID
- updateItem()
- });
- });
- function updateItem()
- {
- var uniq = $("#txtCategoryUnique").val();
- var clientContext = new SP.ClientContext.get_current();
- oList = clientContext.get_web().get_lists().getByTitle('SKFList');
- var camlQuery = new SP.CamlQuery();
- camlQuery.set_viewXml('<View><Query></Query></View>');
- ListItemCollToBeUpdated = oList.getItems(camlQuery);
- clientContext.load(ListItemCollToBeUpdated);
- clientContext.executeQueryAsync(GetSuccess, getItemsToBeUpdatedFailed);
- }
- function GetSuccess()
- {
- ListItemToBeUpdated= ListItemCollToBeUpdated.getEnumerator();
- while(ListItemToBeUpdated.moveNext())
- {
- var oItem = ListItemToBeUpdated.get_current();
- itemId = oItem.get_id();
- alert(oItem.get_id())
- WorkflowStatus(listID, itemId)
- }
- }
- function getItemsToBeUpdatedFailed(sender, args)
- {
- alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
- }
- function getListId()
- {
- var list;
- //ExecuteOrDelayUntilScriptLoaded(init, "sp.js");
- SP.SOD.executeFunc('sp.js', 'SP.ClientContext', init)
- }
- function init() {
- var currentcontext = new SP.ClientContext.get_current();
- list = currentcontext.get_web().get_lists().getByTitle('SKFList');
- currentcontext.load(list, 'Id');
- currentcontext.executeQueryAsync(Function.createDelegate(this, ListIDresult), Function.createDelegate(this, oncListQueryFailed));
- }
- function ListIDresult() {
- listID = list.get_id();
- alert(listID);
- }
- function oncListQueryFailed(sender, args) {
- alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
- }
- /////////////////////////////
- function WorkflowStatus(listID, itemID)
- {
- alert("Hi")
- alert(itemID);
- alert(listID)
- var context = SP.ClientContext.get_current();
- var web = context.get_web();
- // connect to instance service
- var wfServiceManager = SP.WorkflowServices.WorkflowServicesManager.newObject(context, web);
- var instanceService = wfServiceManager.getWorkflowInstanceService();
- //Get All instances
- var wfInstances = instanceService.enumerateInstancesForListItem(listID, itemID);
- context.load(wfInstances);
- context.executeQueryAsync(
- function(sender, args){
- console.log("Instances load success. Attempting to terminate workflow.");
- var e = wfInstances.getEnumerator();
- while(e.moveNext()){
- var getcurrentitem = e.get_current()
- var wfstatus = getcurrentitem.get_status()
- if(wfstatus ==2)
- {
- }
- alert(wfstatus)
- alert("Hellolast")
- // Do something here to evaluate if this is the correct instance then
- // something like...
- // instanceService.terminateWorkflow(thisInstance);
- context.executeQueryAsync(
- function(sender, args){
- console.log("Successfully terminated workflow.");
- },
- function(sender, args){
- console.log("Failed to terminate workflow.");
- console.log("Error: " + args.get_message() + "\n" + args.get_stackTrace());
- }
- );
- }
- },
- function(sender,args){
- console.log("Failed to load instances.");
- console.log("Error: " + args.get_message() + "\n" + args.get_stackTrace());
- }
- );
- };
- ////////////////////////
- </script>
- <input type="button" value="Display" id="btn-display" />