Modal Modal для загрузки документа: Изменение параметров диалога для формы редактирования

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/43458

Вопрос

Так что я использую upload.aspx для DOC Lib с GUID, чтобы загрузить на пользовательском месте на странице.Я думаю, что его форма редактирования, которая всплывает сразу после загрузки документа, чтобы добавить метаданные.Это отлично, а что мне нужно, однако есть один маленький кусок, с которой мне нужна помощь.Если я установлю параметры для диалога, я использую с помощью Upload.aspx Ширина и высота для формы редактирования, которая открывается после и в любом случае выглядит плохо.Я либо делаю смеховчиво большой диалог для загрузки для размещения редактирования или Visa Versa.

Так что я предполагаю, что есть способ справиться с тем, что в обратном вызове, просто не совсем уверен.

Вот в основном то, что я звоню от 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 
     }
.

Есть ли что-нибудь, чтобы исправить это?Спасибо как всегда для вас, помогите парням!всегда ценится.

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

Решение

Так что, что вы хотите сделать, это изменить размер диалога при завершении загрузки.aspx.Попробуйте этот код

ExecuteOrDelayUntilScriptLoaded(function () {

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

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

Кроме того, если вы хотите автоматически разместить диалог, не указав высоту и ширину, используйте это:

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");
.

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