Как предотвратить перемещение Po pfacePanel Richfaces в JavaScript?
Я использую компоненты rich:PopupPanel для отображения некоторого контента, и я хочу, чтобы их можно было максимизировать и восстановить пользователем. Я уже реализовал изменение размера и позиционирование компонента, но проблема в том, как предотвратить перемещение popupPanel во время его максимизации и разрешить его при восстановлении.
Это мой код кнопки, которая отвечает за максимизацию и восстановление popupPanel
<!-- language: lang-js -->
<a4j:commandLink id="maximizeRestoreButton" execute="@none"
render="@none" value="Maximize"
oncomplete="
var comp = #{rich:component(cc.attrs.popupId)};
if (comp.isMaximized) {
var rv = comp.restoreValues;
comp.moveTo(rv.top, rv.left);
comp.resize(rv.width - comp.width(), rv.height - comp.height());
comp.isMaximized = false;
} else {
var rv = new Object();
rv.top = comp.getTop();
rv.left = comp.getLeft();
rv.width = comp.width();
rv.height = comp.height();
comp.moveTo(0,0);
comp.resize(window.innerWidth - comp.width(), window.innerHeight - comp.height());
comp.isMaximized = true;
comp.restoreValues = rv;
}
return false;" />
1 ответ
Я предлагаю вам использовать теги popupPanel для создания всплывающей панели для перемещения и изменения размера вместо внешней функции js. установите movable=false и resizable = false в расширенном теге popupPanel. Например,
<rich:popupPanel resizable="false" movable="false" ...>
.....
</rich:popupPanel>