<ui:define name="content">
<p:layout fullPage="false" rendered="#{controleAcesso.acessoLiberado}">
<p:layoutUnit id="layoutUnitConfViewLeft" position="west" minSize="300" gutter="2" collapsible="true">
<h:form>
<p:panel header="Configurações">
<p:menu style="border: none;">
<p:menuitem action="#{configuracoes.setAtual(1)}" update=":panelConfAtual" value=" Pessoais" icon="ui-icon ui-icon-wrench"/>
<p:menuitem action="#{configuracoes.setAtual(2)}" update=":panelConfAtual" value=" Banco de dados" icon="ui-icon-gear" rendered="#{documents.usuario.perfil.confBanco}"/>
<p:menuitem action="#{configuracoes.setAtual(3)}" update=":panelConfAtual" value=" Pasta de arquivos" icon="ui-icon-copy" rendered="#{documents.usuario.perfil.confCaminhoArquivos}"/>
<p:menuitem action="#{configuracoes.setAtual(4)}" update=":panelConfAtual" value=" Senha" icon="ui-icon ui-icon-key"/>
</p:menu>
</p:panel>
</h:form>
</p:layoutUnit>
<p:layoutUnit position="center">
<p:panel id="panelConfAtual">
<f:facet name="header">
<h:outputText value="#{configuracoes.headerAtual}"/>
</f:facet>
<h:form rendered="#{!configuracoes.headerAtual.isEmpty()}">
<p:toolbar id="toolBar" style="border: none">
<p:toolbarGroup align="left">
<p:commandLink style="float: right" immediate="true" update=":panelConfAtual" title="Cancelar" action="#{configuracoes.setAtual(0)}">
<h:outputText styleClass="ui-icon ui-icon-G ui-icon-G-cancel"/>
</p:commandLink>
<p:commandLink rendered="#{configuracoes.atual == 1}" style="float: right" process="@form" title="Salvar configurações pessoais" action="#{themeSwitcher.aplicarTema()}">
<h:outputText styleClass="ui-icon ui-icon-G ui-icon-G-check"/>
</p:commandLink>
<p:commandLink rendered="#{configuracoes.atual == 2}" style="float: right" process="@form" title="Salvar configurações de banco de dados" action="#{conexao.salvarConexao()}">
<h:outputText styleClass="ui-icon ui-icon-G ui-icon-G-check"/>
</p:commandLink>
<p:commandLink rendered="#{configuracoes.atual == 3}" style="float: right" process="@form" title="Salvar configurações de diretório" action="#{documents.salvarDiretorio()}">
<h:outputText styleClass="ui-icon ui-icon-G ui-icon-G-check"/>
</p:commandLink>
<p:commandLink rendered="#{configuracoes.atual == 4}" style="float: right" process="@form" title="Salvar nova senha" action="#{controleAcesso.alterarSenha()}">
<h:outputText styleClass="ui-icon ui-icon-G ui-icon-G-check"/>
</p:commandLink>
</p:toolbarGroup>
</p:toolbar>
<p:spacer height="5"/>
<p:panelGrid columns="1" rendered="#{configuracoes.atual == 1}">
<h:outputText style="font-weight: 600;" value="Tema atual"/>
<p:themeSwitcher style="150px" value="#{themeSwitcher.tema}" valueChangeListener="#{themeSwitcher.listenerTheme}">
<f:selectItems value="#{themeSwitcher.themes}"/>
</p:themeSwitcher>
</p:panelGrid>
<p:panelGrid columns="1" rendered="#{configuracoes.atual == 2}">
<h:outputText style="font-weight: 600;" value="Servidor" /><p:inputText style="width: 300px" value="#{conexao.servidor}" required="true" requiredMessage="O campo [Servidor] deve ser preenchido."/>
<p:spacer height="5"/>
<h:outputText style="font-weight: 600;" value="Porta" /><p:inputText style="width: 150px" value="#{conexao.porta}" required="true" requiredMessage="O campo [Porta] deve ser preenchido."/>
<p:spacer height="5"/>
<h:outputText style="font-weight: 600;" value="Banco" /><p:inputText style="width: 300px" value="#{conexao.banco}" required="true" requiredMessage="O campo [Banco] deve ser preenchido."/>
<p:spacer height="5"/>
<h:outputText style="font-weight: 600;" value="Usuário" /><p:inputText style="width: 300px" value="#{conexao.usuario}" required="true" requiredMessage="O campo [Usuário] deve ser preenchido."/>
<p:spacer height="5"/>
<h:outputText style="font-weight: 600;" value="Senha *" /><p:password style="width: 300px" match="confirmaPassBanco" value="#{conexao.senha}" required="true" requiredMessage="O campo [Nova senha] deve ser preenchido" validatorMessage="As duas senhas devem ser iguais."/>
<p:spacer height="5"/>
<h:outputText style="font-weight: 600;" value="Confirme a senha *" />
<p:password id="confirmaPassBanco" required="true" requiredMessage="O campo [Confirme a nova senha] deve ser preenchido" style="width: 300px"/>
</p:panelGrid>
<p:panelGrid columns="1" rendered="#{configuracoes.atual == 3}">
<h:outputText style="font-weight: 600;" value="Diretório " /><p:inputText style="width: 300px" value="#{documents.realPath}" required="true" requiredMessage="O campo [Diretório] deve ser preenchido."/>
<p:spacer height="5"/>
<h:outputText style="font-weight: 600;" value="Tamanho máximo dos arquivos *"/>
<p:inputMask style="width: 150px" mask="9999999999" value="#{documents.sizeMax}" required="true" requiredMessage="O campo [Tamanho máximo] deve ser preenchido."/>
<h:outputText value="* O tamanho deve ser em bytes."/>
<h:outputText value="** O Tamanho atual do diretório é: #{(documents.longSizeMax)/1024/1024} MB"/>
</p:panelGrid>
<p:panelGrid columns="1" rendered="#{configuracoes.atual == 4}">
<h:outputText style="font-weight: 600;" value="Senha atual *"/><p:password style="width: 300px" value="#{controleAcesso.senha}" required="true" requiredMessage="O campo [Senha atual] deve ser preenchido" />
<p:spacer height="5"/>
<h:outputText style="font-weight: 600;" value="Nova senha *" /><p:password style="width: 300px" id="novaSenha" match="confirmaSenha" value="#{controleAcesso.novaSenha}" feedback="true" promptLabel="Entre com a senha" weakLabel="Senha fraca"
goodLabel="Senha média" strongLabel="Senha forte" required="true" requiredMessage="O campo [Nova senha] deve ser preenchido" validatorMessage="As duas senhas devem ser iguais."/>
<p:spacer height="5"/>
<h:outputText style="font-weight: 600;" value="Confirme a nova senha *"/>
<p:password id="confirmaSenha" required="true" requiredMessage="O campo [Confirme a nova senha] deve ser preenchido" style="width: 300px"/>
</p:panelGrid>
</h:form>
</p:panel>
</p:layoutUnit>
</p:layout>
</ui:define>
</ui:composition>[/code]
Ai tipo, ao invés de deixar tudo na mesma página, vc pode usar Iframes nessa div de conteudo que vc quer, pq aí vc carregaria a pagina q quer, sem que todo o template seja recarregado.
Acho melhor vc fazer dessa forma que usar javascript. Acho mais complicado, mais difícil e mais suscetível a erros.