Изменить богатство: ширина / высота модалпанели с помощью JS?
Это возможно? Если да, есть ли у кого-нибудь пример?
Заранее спасибо.
3 ответа
Решение
Я не думаю, что для этого есть js API, предоставляемый richfaces. Если вы просматриваете исходный код страницы, вы заметите много вложенных div-ов, из которых состоит модальная панель, и у них установлен размер в пикселях (не имеет значения, что модал имеет autosized=true или no). Может быть, вы можете настроить размер этих элементов, но, конечно, это плохо. (Я использую richfaces 3.3.3)
В richfaces 3.3.1.SP3 было довольно скучно, но я нашел решение:
Максимизация богатых: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);
В Richfaces 4.3.x есть Javascript API для всплывающей панели изменения размера.
function changePanelSize() {
var modalPanel = #{rich:component('PanelName')};
modalPanel.setLeft(200);
modalPanel.setTop(200);
modalPanel.resize(500,800);
};