Error de selección de color en el componente RichTextEditor de Flex


Hoy andaba trabajando con el componente RichTextEditor de Flex y me encontré con un fallo del componente en relación a la selección del color desde el ColorPicker para una selección de texto. Este bug ya venía de Flex 3, y parece que en Flash Builder 4 sigue sin solucionarse.

El fallo consiste en que si desde el colorPicker introducimos directamente el código del color en el campo de texto al presionar la tecla ENTER para validar el color introducido, este ENTER nos introduce tambien un salto de línea dentro de la caja de texto del editor haciendo a su vez que el texto seleccionado desaparezca. Un error del compomente bastante impresentable :(

Pero la solución es bastante fácil. Basta con hacer que el TextArea del componente no sea editable en el momento en el que abrimos el colorPicker, de manera de que el ENTER de validación del color no afectará al texto. Una vez cerrado el colorPicker volveremos a hacer editable el texto.

En cuanto al código, únicamente necesitaremos escuchar los eventos de apertura y cierre del colorPicker, y modificar la propiedad editable del TrextArea.

Podemos crearnos un componente propio que extienda del componente RichTextEditor implementando este código. Este sería el componente:

&lt;?xml version=“1.0″ encoding=“utf-8″?&gt;<br />&lt;mx:RichTextEditor xmlns:fx=“http://ns.adobe.com/mxml/2009″<br /> xmlns:s=“library://ns.adobe.com/flex/spark”<br /> xmlns:mx=“library://ns.adobe.com/flex/mx”<br /> creationComplete=“init()”&gt;<br /> &lt;fx:Script&gt;<br /> &lt;![CDATA[<br /> import mx.events.DropdownEvent;<br /> private function init():void<br /> {<br /> this.colorPicker.addEventListener(DropdownEvent.OPEN, colorPickerOpen);<br /> this.colorPicker.addEventListener(DropdownEvent.CLOSE, colorPickerClose);<br /> }<br /> private function colorPickerOpen(event:Event):void<br /> {<br /> this.textArea.editable=false;<br /> }<br /> private function colorPickerClose(event:Event):void<br /> {<br /> this.textArea.editable=true;<br /> }<br /> ]]&gt;<br /> &lt;/fx:Script&gt;<br />&lt;/mx:RichTextEditor&gt;

Comparte:

Meneame
Twitter
Facebook
Google Bookmarks
del.icio.us
Technorati
email
Print



Related posts:

  1. Acceder a los itemRenderer de un componente lista en Flex
  2. Modificar datos en componentes Flex con ItemEditors
  3. Cómo personalizar el icono del panel de Alerta de Flex

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay

Related posts:

  1. Tutorial JSFL – Creación de Paneles con Flex 2ª parte Bienvenidos a este nuevo tutorial de jsfl, en esta ocasión...

Related posts brought to you by Yet Another Related Posts Plugin.

  1. No comments yet.
(will not be published)

Powered by WP Hashcash


Get Adobe Flash playerPlugin by wpburn.com wordpress themes