Вопрос

Я пытаюсь найти решение или лучший способ сделать это, в основном у меня есть Visio Web Access WebPart на самой странице, из-за макета страницы его только отображают в небольшом виде, мы решили, что кнопка нажимает на кнопкуИ расширить его в полном режиме, я знаю, что используя на основе на базе Visiowebaccess.aspx, чтобы вызвать файл Visio, но мы не хотим, чтобы кнопка панели инструментов отображается.

Вопросы: Есть ли какие-либо запросы для VisioWebaccess.aspx, которые можно использовать?Или все равно в любом случае для модального диалога SharePoint, чтобы ввести какой-то JavaScript?

код как таковой:

// Hook into the AJAX Sys.Application.load event.
Sys.Application.add_load(onApplicationLoad)

// Define global variables.
var vwaControl; 
var webPartElementID;
var drawingURL ;
var vwaPage;

// Capture a reference to the current session of the Visio Web Access Web Part.
function onApplicationLoad() {
    try{
            webPartElementID = getVWAWebPartID();
            vwaControl= new Vwa.VwaControl(webPartElementID);
            drawingURL = vwaControl.getDiagramUrl();
            vwaPage = vwaControl.getActivePage();
    }
    catch(err){
        console.log(err);
        $("#btn_visioModal").hide();
    }
}

// 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;
}
function openInDialog() {
try{
    // Get the URL for the drawing currently displayed in the Visio Web Access Web Part.                 
    drawingURL = vwaControl.getDiagramUrl();

    // Setup option for the modal dialog            
    var options = {url: "http://sharepointportal/_layouts/15/VisioWebAccess/VisioWebAccess.aspx?id="
    +  drawingURL,
    width: 1280,
    height: 768,
    allowMaximize: false,
    showClose: true};

    SP.SOD.execute('sp.ui.dialog.js', 'SP.UI.ModalDialog.showModalDialog', options);
}
catch(err){
    console.log(err);
}
.

спасибо.

Это было полезно?

Решение

Похоже, я нашел решение: Вместо того, чтобы использовать Page VisiOWeBaccess, создайте новую пустую страницу с помощью The Visio Web Part, используйте контейнер-жидкость, если ваш сайт SharePoint имеет Bootstrap (какой у меня есть) при вызове модального пропускания в URL-адрес файла через QueryString и на модальной страницеВключите эту SCRPT:

function changeUrl(){   
    // Get the URL of the current file being displayed.
    fileURL = GetQueryStringParams('fileURL');
    var currDiagram = vwaControl.getDiagramUrl();
    currDiagram = currDiagram.replace("%20", " ");
    fileURL = decodeURI(fileURL);
    console.log(vwaControl.getDiagramUrl());
    console.log(fileURL);
    // Replace the currently displayed Web Drawing with the other Web Drawing.
    vwaControl.openDiagram(fileURL);
}
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top