Pergunta

Portanto, estou usando o Upload.aspx para doc lib com GUID para fazer o upload em um local personalizado em uma página.Acho que é o formulário de edição que aparece logo após você carregar um documento para adicionar os metadados.Isso é ótimo e é o que eu preciso, mas há uma pequena peça com a qual preciso de ajuda.Se eu definir as opções para a caixa de diálogo que estou usando com o Upload.aspx, a largura e a altura serão fixadas no formulário de edição que será aberto depois e, de qualquer forma, ficará ruim.Eu crio uma caixa de diálogo ridiculamente grande para o upload para acomodar a edição ou vice-versa.

Então, acho que há uma maneira de lidar com isso no retorno de chamada, mas não tenho certeza.

Aqui está basicamente o que estou chamando de um onclick:

function openDialog() {
   var dialogOptions = SP.UI.$create_DialogOptions();
   dialogOptions.url = "server/site/_layouts/Upload.aspx?List={GUID}&IsDlg=1";
   dialogOptions.width = 700  //works for the upload not for the edit
   dialogOptions.height = 185 //same as above; works for the upload
   dialogOptions.title = "My Title"
   dialogOptions.dialogReturnValueCallback = Function.createDelegate(null, CloseCallBack);
   SP.UI.ModalDialog.showModalDialog(dialogOptions); }

function CloseCallBack (result, returnValue) {
     if (result == SP.UI.DialogResult.OK) {
         // logic
     } else {
        // logic 
     }

Existe alguma maneira de remediar isso?obrigado como sempre pela ajuda pessoal!sempre apreciado.

Foi útil?

Solução

Então o que você quer fazer é alterar o tamanho da caixa de diálogo quando upload.aspx for fechado.Experimente este código

ExecuteOrDelayUntilScriptLoaded(function () {

 var dlg = window.parent.SP.UI.ModalDialog.get_childDialog();
 dlg.$Q_0(800, 800); //width, height

}, "sp.ui.dialog.js");

Além disso, se você quiser dimensionar a caixa de diálogo automaticamente sem especificar a altura e a largura, use isto:

ExecuteOrDelayUntilScriptLoaded(function () {

    //calling autoSize method will extend modal dialog beyond the size of the page
    SP.UI.ModalDialog.get_childDialog().autoSize();
    //calling this obfuscated method will trim the dialog back within the page boundaries.
    SP.UI.ModalDialog.get_childDialog().$2B_0();

}, "sp.ui.dialog.js");
Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top