Estensioni IBM al Dojo Toolkit

Libreria Atom, archivio dati e widget

Esempi di utilizzo di widget Atom:

Per il feed utilizzato in queste dimostrazioni, consultare il pacchetto di documentazione:

<?xml version='1.0' encoding='utf-8'?>
<feed xmlns='http://www.w3.org/2005/Atom' xml:lang='en-US'>
	<title>Example.com</title>
	<link rel="alternate" type="text/html" href="http://example.com/" hreflang="en" title="Example.com" />
	<subtitle type='text'>Feed di esempio di Example.com</subtitle>
	<rights>Copyright Example.com</rights>
	<id>http://example.com/samplefeed.xml</id>
	<updated>2007-08-07T20:00:00-05:00</updated>
	<link rel="self" type="application/atom+xml" href="http://www.example.com/samplefeed.xml"/>
	<entry>
		<title>Voce di verifica n.1</title>
		<id>http://example.com/samplefeed.xml/entry/1</id>
		<link rel='alternate' href='http://example.com/1.html'/>
		<summary type='html'>
			<p>Questa è una voce di esempio nel feed Atom. È semplicemente un paragrafo di grandi
dimensioni nel riepilogo.<p>
			<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras cursus. Aliquam eget metus sed leo lacinia 
			rutrum. Nunc lacus lacus, viverra placerat, laoreet nec, placerat vel, eros. Donec nec magna id sem commodo rutrum. 
			Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Aenean pede. Quisque vel 
			leo. In vitae nisi. Curabitur sodales congue nibh. Maecenas ultrices ante nec ipsum. Aenean quis nibh. Aenean semper, 
			quam vitae ullamcorper euismod, arcu leo tincidunt nunc, vel pulvinar turpis dolor a elit. Praesent nonummy nunc 
			faucibus nibh. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus laoreet, 
			ante auctor condimentum venenatis, magna quam varius elit, at feugiat dolor metus id quam. Etiam enim.<p>
		</summary>
		<author>
			<name>Utente di verifica</name>
			<email>test@example.com</email>
		</author>
		<updated>2007-08-07T04:00:00-05:00</updated>
	</entry>
	<entry>
		<title>Voce di verifica n.2</title>
		<id>http://example.com/samplefeed.xml/entry/2</id>
		<link rel='alternate' href='http://example.com/2.html'/>
		<summary type='text'>
			Questa è una voce di esempio nel feed Atom. È semplicemente un paragrafo di grandi
dimensioni nel riepilogo. Si tratta di testo diretto.
			Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras cursus. Aliquam eget metus sed leo lacinia 
			rutrum. Nunc lacus lacus, viverra placerat, laoreet nec, placerat vel, eros. Donec nec magna id sem commodo rutrum. 
			Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Aenean pede. Quisque vel 
			leo. In vitae nisi. Curabitur sodales congue nibh. Maecenas ultrices ante nec ipsum. Aenean quis nibh. Aenean semper, 
			quam vitae ullamcorper euismod, arcu leo tincidunt nunc, vel pulvinar turpis dolor a elit. Praesent nonummy nunc 
			faucibus nibh. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus laoreet, 
			ante auctor condimentum venenatis, magna quam varius elit, at feugiat dolor metus id quam. Etiam enim.
		</summary>
		<author>
			<email>test@example.com</email>
		</author>
		<updated>2007-08-07T06:00:00-05:00</updated>
	</entry>
</feed>

Il pacchetto ibm_atom include tre widget di livello superiore: FeedViewer, FeedEntryViewer e FeedEntryEditor. FeedViewer viene utilizzato per visualizzare le date ed i titoli di voci in un feed. È possibile creare delle istanze di tali feed nella markup o in modo programmatico. Per informazioni sulla creazione dichiarativa di un visualizzatore di feed, consultare il seguente esempio:

<div dojoType="ibm_atom.widget.FeedViewer" 
	 widgetId="fv1"
	 url="samplefeed.xml"
	 entrySelectionTopic="atomfeed/entry/topic" />

Se il suddetto codice viene inserito in una pagina di verifica, l'esempio è totalmente semplice e privo di stile. Per correggere tale situazione, inserire i fogli di stile delle pagine di verifica.

I widget FeedEntryViewer e FeedEntryEditor sono identici con l'eccezione che il widget dell'editor dispone di controlli per la creazione di nuove voci e la modifica di voci esistente. È possibile creare un'istanza del widget FeedEntryEditor nella markup nel modo seguente:

<div dojoType="ibm_atom.widget.FeedEntryViewer" 
	 widgetId="feedEditor"
	 enableMenu="true"
	 enableMenuFade="true"
	 enableEdit="true"
	 displayEntrySections="title,authors,summary"
	 entrySelectionTopic="atomfeed/entry/topic" />

L'entrySelectionTopic è comune sia per FeedViewer che per FeedEntryEditor. Questo è l'evento che li collega. Se l'attributo entrySelectionTopic viene definito correttamente su ognuno, i due widget possono comunicare tra di loro e verranno aggiornati in modo adeguato.