Bug com p:editor readOnly [RESOLVIDO]

Olá pessoal,

Alguém sabe resolver o problema do componente p:editor PrimeFaces 2.2.1

Quando você desabilita o componente para que ele fique readOnly o conteudo some e fica apenas a String “true”.


<p:editor  id="consulta-historico"  value="#{consultaBean.consulta.paciente.prontuario}" widgetVar="editor" width="400" disabled="true" />

Para este tipo de componente WYSIWYG é recomendado que vc não use disabled, readonly ou tecnicas do tipo. Isso pq existe toda uma biblioteca JS por trás que cria o editor e são mantidas por outros projetos (Primefaces apenas utiliza, não implementa o editor).

Como alternativa, quando precisar colocar como readonly, use um rendered para não mostrar o editor e simplesmente imprima o HTML em tela. Algo como:

<h:outputText rendered="#{condicao para mostrar editor}">
    <p:editor  id="consulta-historico"  value="#{consultaBean.consulta.paciente.prontuario}" widgetVar="editor" width="400" disabled="true" />
</h:outputText>

<h:outputText rendered="#{condicao para nao mostrar editor}" value="#{consultaBean.consulta.paciente.prontuario" escape="false"/>

Eu escrevi o codigo acima de cabeça… É possível que tenha algo errado, mas a idéia mantém.

[quote=Guilherme Gomes]Para este tipo de componente WYSIWYG é recomendado que vc não use disabled, readonly ou tecnicas do tipo. Isso pq existe toda uma biblioteca JS por trás que cria o editor e são mantidas por outros projetos (Primefaces apenas utiliza, não implementa o editor).

Como alternativa, quando precisar colocar como readonly, use um rendered para não mostrar o editor e simplesmente imprima o HTML em tela. Algo como:

<h:outputText rendered="#{condicao para mostrar editor}">
    <p:editor  id="consulta-historico"  value="#{consultaBean.consulta.paciente.prontuario}" widgetVar="editor" width="400" disabled="true" />
</h:outputText>

<h:outputText rendered="#{condicao para nao mostrar editor}" value="#{consultaBean.consulta.paciente.prontuario" escape="false"/>

Eu escrevi o codigo acima de cabeça… É possível que tenha algo errado, mas a idéia mantém.[/quote]

Muito obrigado pela dica Guilherme. Vou testar e dou o feedback aqui.
Abs.

Valeu Guilherme. Funcionou!