Modal Modal для загрузки документа: Изменение параметров диалога для формы редактирования
-
09-12-2019 - |
Вопрос
Так что я использую 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");
.