Hallo zusammen,
ich bin for kurzem auf folgendes Problem gestoßen:
- Ausgangslage: Ich habe ein <xp:inputRichText> Element, dem ich eine Style-Klasse zuweise - abhängig davon, ob das gerade geöffnete Dokument editable ist oder nicht.
- Problem: Ich öffne das Dokument im read only und die richtige Klasse wird gezogen. Wenn ich aber in den edit mode gehe (über einen Link mit der action <xp:changeDocumentMode mode="edit" var="comm" />), ändert sich der Style des RichTexts nicht.
Ich habe es dann noch mit disableTheme versucht (true wenn editable, sonst eine themeId die der ursprünglichen Style-Klasse entspricht), das Ergebnis ist das gleiche (siehe Code unten). Der Wechsel des Attributs disabled true/false beim Wechsel des document mode funktioniert allerdings - hat jemand eine Erklärung, oder eine Idee für einen Workaround?
<xp:inputRichText id="rt_notice_body" value="#{comm.Body}"
disabled="#{javascript:return (comm.isEditable())?false:true}"
htmlConversionWarning="noWarning" themeId="cois.form.body.notice"
disableTheme="${javascript:(comm.isEditable())?true:false;}">
<xp:this.dojoAttributes>
<xp:dojoAttribute name="toolbar">
<xp:this.value>
<![CDATA[#{javascript:
var features = "[[ 'Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo' ], \n"
+ "[ 'Find','Replace','SelectAll' ], \n"
+ "[ 'Bold','Italic','Underline','-','RemoveFormat' ], \n"
+ "[ 'NumberedList','BulletedList'], \n"
+ "[ 'Table','SpecialChar' ]]"
return features;}]]>
</xp:this.value>
</xp:dojoAttribute>
</xp:this.dojoAttributes>
</xp:inputRichText>