SharePoint Modal per il caricamento del documento: Modifica delle opzioni di dialogo per Modifica modulo
-
09-12-2019 - |
Domanda
Quindi sto usando l'upload.aspx per Doc Lib con GUID per poter caricare in un punto personalizzato su una pagina.Penso che sia il modulo di modifica che si apre subito dopo aver caricato un documento per aggiungere i metadati.Questo è fantastico e ciò di cui ho bisogno, tuttavia c'è un piccolo pezzo di cui ho bisogno di aiuto.Se imposti le opzioni per la finestra di dialogo che sto usando con l'upload.aspx la larghezza e il bastone di altezza per il modulo di modifica che si apre dopo e in entrambi i cattivi sembra male.O faccio un dialogo ridicolmente grande per il caricamento per accogliere la modifica o il visto VERSA.
Quindi immagino che ci sia un modo per gestirlo nel callback, solo non proprio sicuro.
Qui è fondamentalmente quello che sto chiamando da un 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
}
.
C'è un po 'per rimediare a questo?Grazie come sempre per te Aiuta i ragazzi!sempre apprezzato.
Soluzione
So what you want to do is to change the size of the dialog when the upload.aspx is closed. Try this code
ExecuteOrDelayUntilScriptLoaded(function () {
var dlg = window.parent.SP.UI.ModalDialog.get_childDialog();
dlg.$Q_0(800, 800); //width, height
}, "sp.ui.dialog.js");
Also, if you want to size the dialog automatically without specifying the height and width, use this:
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");