Как предотвратить перемещение всплывающей панели 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;" />

person Tomasz Bekas    schedule 16.04.2012    source источник


Ответы (1)


Я предлагаю вам использовать теги popupPanel для предотвращения перемещения и изменения размера всплывающей панели вместо внешней функции js. установите movable=false и resizable = false в расширенном теге popupPanel. Например, для

<rich:popupPanel resizable="false" movable="false" ...>
.....
</rich:popupPanel>
person Usman Awan    schedule 16.04.2012