ウィザードの最後のタブにある [戻る] ボタンを非表示にしたいと考えています。プライムフェイスを使用しています。それに対する解決策は何でしょうか?
ありがとうございました
ウィザードの最後のタブにある [戻る] ボタンを非表示にしたいと考えています。プライムフェイスを使用しています。それに対する解決策は何でしょうか?
ありがとうございました
jQuery を使用してクライアント側で実行できます。
ショーケースでウィザードを使用していると仮定します: http://www.primefaces.org/showcase/ui/wizard.jsf :
<p:wizard widgetVar="wiz"
flowListener="#{userWizard.onFlowProcess}"
onNext="hideBackOnLastTab()">
JavaScript:
function hideBackOnLastTab() {
if($("ul.ui-wizard-step-titles>li").last()
.is("ul.ui-wizard-step-titles>li.ui-state-highlight")) {
$("div.ui-wizard-navbar>button.ui-wizard-nav-back").css("display", "none");
}
}
また、ウィザードの [次へ] ボタンが、同じように最後のパネルで (PF クライアント側によって) 非表示になっていることがわかります。
私は長い間同じ問題を抱えていて、ついに解決しました。多分私の解決策は、将来他の人に役立つかもしれません:
ウェブページ:
<p:wizard id="dataLoadSetWizard" widgetVar="wiz" onnext="hideBackOnLastTab()" ...
Javascript:
function hideBackOnLastTab() {
if(PF('wiz').getStepIndex(PF('wiz').currentStep) > 0) {
PF('wiz').backNav.css("visibility", "hidden")
}
}
マネージドBeanからこれを試すことができます:
@ManagedBean(name = "testWizardBean")
@ViewScoped
public class TestWizardBean implements Serializable {
private RequestContext requestContext;
@PostConstruct
public void init() {
requestContext = RequestContext.getCurrentInstance();
if (testWizardDto.getDirection().isEmpty()) {
requestContext.execute("PF('signwzd').nextNav.hide();");
}
}
}