Freigeben über


Vwa.VwaControl.setActivePage Method

Letzte Änderung: Donnerstag, 21. Juni 2012

Gilt für: apps for SharePoint | SharePoint Server 2013

Versucht, die aktuell gerenderte Seite Webzeichnung in den durch pageIDangegebenen ändern.

var value = VwaControl.setActivePage(string pageID)

Parameter

pageID Eine Zeichenfolge, die Kennung (ID) der Seite, legen Sie als die aktive Seite angibt.

Rückgabewert

Boolean   true Wenn die Webzeichnung Seite geändert wird; andernfalls false.

Hinweise

Wenn Sie die ID eines Zeichenblatts erhalten möchten, verwenden Sie die Vwa.Page.getId -Methode. Wenn Sie eine Liste der gültigen Seite alle IDs erhalten möchten, verwenden Sie die GetAllPageIds -Methode.

Die setActivePage -Methode ist asynchron. Aufruf löst eine Aktualisierung des Inhalts der aktuell gerenderten Zeichnung, aber die-Methode zurückgegeben wird, ohne warten, bis die Aktualisierung abgeschlossen ist. Wenn Sie die setActivePage -Methode aufrufen, wenn Visio Services in Microsoft SharePoint Server 2013 aufgrund eines vorherigen Anrufs bereits den Inhalt aktualisiert wird, wird die Methode hat keine Auswirkungen und gibt falsezurück. Visio Services löst das Diagramcomplete -Ereignis, wenn die Aktualisierung abgeschlossen ist.

Wenn Sie einen Wert, der für pageIDnicht gültig ist übergeben, löst die Methode eine Ausnahme aus.

Weitere Informationen zum Hinzufügen eines Visio Web Access-Webparts zu einer SharePoint-Webparts-Seite finden Sie unter Customizing Visio Web Drawings in the Visio Web Access Web Part.

Beispiel

Das folgende Beispiel zeigt eine benutzerdefinierte HTML-Nachricht in das Visio Web Access-Webpart, in der jede Seite in der Webzeichnung aufgelistet.

<script type='text/javascript'>

// Add a button to display or dismiss the custom message.
document.write("<input type='button' value='Show Message' onclick='buildPageList()' />");

// Declare global variables.
var vwaControl;
var vwaPages;
var isPageSet;
 
// Hook into the AJAX Sys.Application.load event.
Sys.Application.add_load(onApplicationLoad)

// Capture a reference to the current session of the Visio Web Access Web Part.
function onApplicationLoad() {
    try{
        vwaControl= new Vwa.VwaControl(getVWAWebPartID());
        vwaControl.addHandler("diagramcomplete", onDiagramComplete);
    }
    catch(err){
        alert(err);
    }
}

// Search the SharePoint page to get the WebPartID# for the Visio Web Access Web Part.
function getVWAWebPartID() {
    
    // Get a NodesList of all the div tags on the page. 
    var divArray = document.getElementsByTagName("div");
    var webPartElementID;
    
    // Iterate through the NodesList to get the node with the class attribute "VisioWebAccess."
    for (var i = 0; i < divArray.length; i++) {
        var node = divArray[i];
        
        // Return the first instance of the Visio Web Access Web Part.
        if (node.className == "VisioWebAccess") {
            webPartElementID = node.parentNode.parentNode.id;
            break;
        }
    }
    return webPartElementID;
}

// Check to see whether the currently rendered page has already been selected by user.
function onDiagramComplete() {
    if (!isPageSet) {
        buildPageList();
    }
}

// Create list of pages in the currently displayed Web Drawing.
function buildPageList() {
    try{
        // Get references to the pages in the Web Drawing.
        vwaPages = vwaControl.getAllPageIds();
        var pageCount = vwaPages.length;
        var vwaPage = vwaControl.getActivePage();
        var vwaPageName = vwaPage.getId();
        var vwaPageId;

        // Create an HTML fragment.
        var htmlBuilder = "<h1>Pages In This Diagram</h1>";
        htmlBuilder += "Select a page from the list to dismiss this message.<br />"
        htmlBuilder += "<ol id='pages'></ol>";
        
        // Display the HTML fragment in Visio Web Access Web Part.
        vwaControl.displayCustomMessage(htmlBuilder);

        // Add DOM nodes (HTML content) in the displayed HTML fragment for each page in the Web Drawing.
        for (var i = 0; i < pageCount; i++){
            // Get page ID from array of pages IDs.
            vwaPageId = vwaPages[i];

            // Create a new list item element and text for the list item.
            var newNode = document.createElement("li");
            var newText = document.createTextNode(vwaPageId);
            
            // Append new nodes to the displayed HTML fragment. 
            newNode.appendChild(newText);
            document.getElementById("pages").appendChild(newNode);

            // Add a new text node if the page is currently displayed in Web Drawing.
            if (vwaPageName == vwaPageId){
                var activeText = document.createTextNode(" (Current)");
                newNode.appendChild(activeText);
            }

            // Set the id attribute for list item to the ID of the VwaPage object and set callback for the onclick event.
            newNode.setAttribute("id", vwaPageId);
            newNode.setAttribute("onclick", "javascript:setPage(this)");

        }
    }
    catch(err){
        alert(err);
    }
}

// Go to the page in the list clicked by the user and dismiss the displayed message.
function setPage(callingNode) {
    try {
    
        // Dismiss the custom HTML message.
        vwaControl.hideCustomMessage();
        isPageSet = true;

        // Get id from calling DOM node and set the corresponding page.
        vwaControl.setActivePage(callingNode.id);
    }
    catch(err) {
        alert(err);
    }
}

</script>

Siehe auch

Referenz

Vwa.VwaControl Class

Vwa.VwaControl Class Methods