Bug com p:editor readOnly [RESOLVIDO]

3 respostas
A

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" />

3 Respostas

G

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.

A

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.

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

A

Valeu Guilherme. Funcionou!

Criado 5 de outubro de 2011
Ultima resposta 8 de out. de 2011
Respostas 3
Participantes 2