Componente para aplicar una animación de precarga a una imagen remota en Flex. El componente muestra un indicador de carga hasta que se muestra la imagen o un error de enlace roto.

Se puede configurar el tamaño del spinner mediante a propiedad spinnerSize.

Código fuenteHaz clic con el botón derecho para obtener el código fuente.

Versión 1.1 de PhotoInBlog, el plug-in para Wordpress (y ahora también para Joomla) que permite mostrar las fotos de los usuarios en tu blog.

PhotoInBlog

Nuevas características:

  • Histórico de fotos
  • Comentarios asociados a cada foto
  • Sistema público (todos los usuarios ven las fotos) y privado (sólo el usuario registrado ve sus fotos)
  • Sólo los usuarios registrados pueden borrar sus fotos. Los usuarios administradores pueden borrar las fotos de todos.

Versión Wordpress

Instalación

- Copiar la carpeta de PhotoInBlog en la carpeta de plug-ins de Wordpress.
- Activar el plugin en la página de administración de Wordpress.

Uso

- Copiar el fichero ‘photoinblog_view.php’ en la carpeta del tema actual e insertar el siguiente código en las plantillas del tema:

<?php include("photoinblog_view.php"); ?>

Versión Joomla

Instalación

- Desde el panel de administración de Joomla instala el módulo y el componente con el instalador.

Uso

- Crea un módulo nuevo de PhotoInBlog y establece los parámetros deseados para su visualización.

Por defecto el número de fotos a mostrar es de 10. Para cambiar este número (para que no exista límite usa el valor 0) puedes hacerlo desde el gestor de módulos en Joomla y en la variable maxPhotos del fichero de photoinblog_view.php en Wordpress.

Las colecciones que son a su vez propiedad de un objeto no provocan el binding automático al realizar las operaciones de actualización de los elementos. Esto provoca que los enlaces no se refresquen debidamente y no se muestren los cambios.

Para forzar el binding de la colección del objeto a un destino en flex podemos incluir un componente ArrayCollection que hace de puente entre los datos originales y su destino final.

Origen:

[Bindable]
private var object:Object;

Destino:

<mx:Label id="destination" text="{items}"/>

Colección auxiliar:

<mx:ArrayCollection id="items" list="{object.collection}"
   collectionChange="{onCollectionChange(event)}"/>

Método listener de actualización:

private function onCollectionChange(event:CollectionEvent):void {
   // Update code here
   destination.executeBindings();
}

Corrección del error de los checkbox activos al desplegar el componente ComboCheck.

¡Gracias giorgio por tu comentarlo!

Alegria es un componente Flex para representar de forma sencilla y rápida una galería de imágenes.
Se pueden configurar las propiedades:

  • numItems para indicar el número de imágenes a mostrar por página


Código fuenteHaz clic con el botón derecho para obtener el código fuente.

MyEventCalendar es un componente para el manejo de eventos en Joomla.

Este componente proporciona una manera sencilla de visualizar eventos creados y gestionados por el usuario y eventos generados por el administrador del sistema que se comparten entre todos los ususarios registrados.

La instalación se realiza a través del instalador de Joomla y es necesario incluir tanto el componente como el módulo para la visualización.

Versión 0.9

  • Creación, edición y borrado de eventos para usuario registrado.
  • Modo administrador para la generación de eventos compartidos.

Visualización

Edición

Administración




Excelente tutorial (en inglés) que explica cómo realizar temas (themes) para Wordpress:

Cuando usamos colecciones paginadas (en GraniteDS) como fuente de datos de una lista desplegable obtenemos el siguiente error:

Error: Items pending from 0 to 20 for index 10
	at org.granite.tide.collections::PagedCollection/getItemAt()[C:\workspace\graniteds\as3\framework\org\granite\tide\collections\PagedCollection.as:507]
	at ListCollectionViewCursor/moveNext()
	at mx.controls::ComboBox/calculatePreferredSizeFromData()
	at mx.controls::ComboBase/measure()
	at mx.controls::ComboBox/measure()
	at mx.core::UIComponent/measureSizes()
	at mx.core::UIComponent/validateSize()
	at mx.managers::LayoutManager/validateSize()
	at mx.managers::LayoutManager/doPhasedInstantiation()
	at Function/http://adobe.com/AS3/2006/builtin::apply()
	at mx.core::UIComponent/callLaterDispatcher2()
	at mx.core::UIComponent/callLaterDispatcher()

SOLUCIÓN: Si, a pesar de todo, seguimos empeñados en usar innumerables datos para este componente podemos usar la lista completa (sin paginar) de este modo:

private function onCreationComplete():void {
	myList.addEventListener(CollectionEvent.COLLECTION_CHANGE, myListBinding);
}
private function myListBinding(event:CollectionEvent):void {
	myCombo.executeBindings();
}
[...]
<mx:ComboBox id="myCombo" dataProvider="{myList.list}"/>

Más información en los foros de graniteds.

Ejemplo de proyecto flex con BlazeDS para Eclipse.
Hay muchos tutoriales por internet para hacer este tipo de proyectos y son muy sencillos de seguir:

  • Crear un proyecto Flex con naturaleza J2EE
  • Importar el war de BlazeDS para que generar la estructura del proyecto
  • Configurar los ficheros flex para remoting
  • Crear los servicios java y registrarlos en los ficheros de configuración
  • Crear los componentes RemoteObject en Flex cliente para que apunten a esos servicios

La clase Amf3Output incluida en las librerías de BlazeDS permite una sencilla forma de serializar objetos desde el servidor al cliente para enviarlos en formato AMF3.

Creative Commons License
Esta obra está bajo una licencia de Creative Commons, excepto donde se indique expresamente lo contrario.
Special thanks to Mark James for the icon set used in this blog.