それは可能ですか?もしそうなら、誰かに例がありますか?
前もって感謝します。
richfaces 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);
Richfaces 4.3.x には、サイズ変更ポップアップ パネル用のJavascript APIがあります。
function changePanelSize() {
var modalPanel = #{rich:component('PanelName')};
modalPanel.setLeft(200);
modalPanel.setTop(200);
modalPanel.resize(500,800);
};
これには、richfaces が提供する js API はないと思います。ページのソースを表示すると、モーダル パネルを構成する多くのネストされた div に気付くでしょう。サイズはピクセル単位で設定されています (モーダルの autosized=true または no は関係ありません)。これらの div のサイズを調整できるかもしれませんが、もちろん、それは悪い方法です。(リッチフェイス 3.3.3 を使用しています)