Изменить ширину/высоту Rich:modalpanel с помощью JS?

Это возможно? Если да, то есть ли у кого-нибудь пример?

Заранее спасибо.


person Community    schedule 16.10.2012    source источник
comment
Не очень полезно минусовать и не рассказывать, почему, ребята ...   -  person    schedule 16.10.2012


Ответы (3)


Я не думаю, что для этого есть js API, предоставляемый Richfaces. Если вы просмотрите исходный код страницы, вы заметите множество вложенных div-ов, из которых состоит модальная панель, и они имеют установленный размер в пикселях (не имеет значения, имеет ли модальное значение autosized=true или нет). Может быть, вы можете настроить размер этих div, но, конечно, это плохой способ. (Я использую Richfaces 3.3.3)

person nigi    schedule 17.10.2012
comment
Я знаю, что это не очень "элегантный" способ сделать это, но это то, что я пытаюсь сделать, в любом случае спасибо. - person ; 17.10.2012

В ричфейсах 3.3.1.SP3 было как-то скучновато, но я нашел решение:

Максимизация Rich:modalPanel:

var PAD = 30; //const
var idModalPanel = "#{idModalPanel}";
var modal = return #{rich:component(idModalPanel)};
modal.setLeft(PAD);
modal.setTop(PAD);
var width = Richfaces.getWindowSize().width - (2 * PAD);
var height = Richfaces.getWindowSize().height - (2 * PAD);
modal.getContentElement().style.width = width + "px";
modal.getContentElement().style.height = height + "px";
//Update the modal points. That's the trick!
var borders = modal.borders;
for (var i = 0; i < borders.length; i++) {
    b = borders[i];
    b.startDrag(b.sizer);
    b.doDrag(b.id);
    b.endDrag();
}
modal.doResizeOrMove(ModalPanel.Sizer.Diff.EMPTY);
person MhagnumDw    schedule 04.09.2015

Существует Javascript API для изменения размера всплывающей панели в Richfaces 4.3.x.

function changePanelSize() {
    var modalPanel = #{rich:component('PanelName')};
    modalPanel.setLeft(200);
    modalPanel.setTop(200);
    modalPanel.resize(500,800);
};
person Vasil Lukach    schedule 14.11.2013