Vwa.Page.setPosition Method
Applies to: SharePoint Server 2010
Sets the position of the page in the viewport.
var value = Page.setPosition(integer x, integer y)
Parameters
x An integer that specifies the x-coordinate of the page, which is the signed value of the distance in pixels from the viewport's center to the left boundary of the page.
y An integer that specifies the y-coordinate of the page, which is the signed value of the distance in pixels from the viewport's center to the top boundary of the page.
Return Value
Void Returns nothing.
Remarks
The Cartesian coordinate system for x and y has its origin in the viewport's center. x grows from left to right, and y grows from top to bottom. The x-coordinate is not inverted for right-to-left (RTL) languages.
For more information about how to add a Visio Web Access Web Part to a SharePoint Web Parts page, see Customizing Visio Web Drawings in the Visio Web Access Web Part.
Example
The following example creates five HTML buttons that will display the current zoom level, change the zoom level, get the page’s position in the Visio Web Access Web Part, set the page’s position in the Web Part, and display the page’s size, respectively.
<script type='text/javascript'>
// Create the HTML input controls.
document.write("<div><input type='button' id='getzoom' value='Get Zoom' style='width:120px;height:30px' onclick='Update(this)' />" +
" Zoom Level: <span id='zoomoutput' style='color:#FF0000'></span></div>");
document.write("<div><input type='button' id='setzoom' value='Set Zoom' style='width:120px;height:30px' onclick='Update(this)' />" +
" <input id='zoominput' type='text' /></div>");
document.write("<div><input type='button' id='getpos' value='Get Position' style='width:120px;height:30px' onclick='Update(this)' />" +
" Page Position: <span id='posoutput' style='color:#FF0000'></span></div>");
document.write("<div><input type='button' id='setpos' value='Set Position' style='width:120px;height:30px' onclick='Update(this)' />" +
" <input id='posinput' type='text' /></div>");
document.write("<div><input type='button' id='getsize' value='Get Page Size' style='width:120px;height:30px' onclick='Update(this)' />" +
" Page Size: <span id='sizeoutput' style='color:#FF0000'></span></div>");
// Declare global variables.
var vwaControl;
var vwaPage;
// 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;
}
// Capture a reference to the vwaPage object in the global variable.
function onDiagramComplete(){
try{
vwaPage = vwaControl.getActivePage();
}
catch(err){
alert(err);
}
}
// Get or set the position of the page displayed in the Visio Web Access Web Part from user input.
function Update(callingNode){
try{
// Determine which input control called the function.
var callingNodeId = callingNode.id;
switch(callingNodeId)
{
// Get the current zoom level of the page and display it to the user.
case "getzoom":
var zoomLevel = vwaPage.getZoom();
document.getElementById("zoomoutput").innerHTML = "";
document.getElementById("zoomoutput").innerHTML = zoomLevel;
break;
// Set the zoom level of the page from user input.
case "setzoom":
var zoomLevel = document.getElementById("zoominput").value;
document.getElementById("zoominput").value = "";
vwaPage.setZoom(Number(zoomLevel));
document.getElementById("zoomoutput").innerHTML = zoomLevel;
break;
// Get the position of the page within the Web Part and display it to the user.
case "getpos":
var pagePos = vwaPage.getPosition();
var pageX = pagePos.x;
var pageY = pagePos.y;
document.getElementById("posoutput").innerHTML = "";
document.getElementById("posoutput").innerHTML = pageX + ", " + pageY;
break;
// Set the position of the page from user input.
case "setpos":
var pagePos = document.getElementById("posinput").value;
// Change user input from 'x, y' format to individual values.
var pagePosArray = pagePos.split(",");
var pageX = Number(pagePosArray[0]);
var pageY = Number(pagePosArray[1]);
vwaPage.setPosition(pageX, pageY);
document.getElementById("posinput").value = "";
document.getElementById("posoutput").innerHTML = pageX + ", " + pageY;
break;
// Get the size of the page displayed in the Web Part.
case "getsize":
var pageSize = vwaPage.getSize();
var pageWidth = pageSize.width;
var pageHeight = pageSize.height;
document.getElementById("sizeoutput").innerHTML = pageWidth + "px wide by " + pageHeight + "px high";
break;
}
}
catch(err)
{
alert(err);
}
}
</script>