IBM Erweiterungen zum Dojo Toolkit

ATOM-Bibliothek, Datenspeicher und Fensterobjekte

Verwendungsbeispiele für ATOM-Fensterobjekte

Den in diesen Demonstrationen enthaltenen Feed finden Sie im Dokumentationspaket.

<?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'>Example.com's Sample Feed</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>Test Entry #1</title>
		<id>http://example.com/samplefeed.xml/entry/1</id>
		<link rel='alternate' href='http://example.com/1.html'/>
		<summary type='html'>
			<p>This is a sample entry in our Atom feed.  It is simply a large paragraph in the summary.<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>Test User</name>
			<email>test@example.com</email>
		</author>
		<updated>2007-08-07T04:00:00-05:00</updated>
	</entry>
	<entry>
		<title>Test Entry #2</title>
		<id>http://example.com/samplefeed.xml/entry/2</id>
		<link rel='alternate' href='http://example.com/2.html'/>
		<summary type='text'>
			This is a sample entry in our Atom feed.  It is simply a large paragraph in the summary. This is straight text.
			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>

Das Paket ibm_atom enthält drei allgemeine Fensterobjekte: FeedViewer, FeedEntryViewer und FeedEntryEditor. FeedViewer wird für die Anzeige von Datum und Titel der Feed-Einträge verwendet. Dieses Fensterobjekt kann in Markup oder programmgesteuert instanziiert werden. Das folgende Beispiel zeigt die deklarative Erstellung eines Feed-Viewers:

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

Wenn Sie den obigen Code auf eine Testseite stellen, sehen Sie ein sehr einfaches Beispiel ohne jeden Darstellungsstil. Bei Bedarf können Sie die Formatvorlagen von den Testseiten verwenden, um die Darstellung zu verbessern.

Die Fensterobjekte FeedEntryViewer und FeedEntryEditor unterscheiden sich nur dahingehend, dass das Editorfensterobjekt Steuerelemente für die Erstellung neuer Einträge und die Bearbeitung vorhandener Einträge enthält. Das Fensterobjekt FeedEntryEditor kann wie folgt in Markup instanziiert werden:

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

Wie Sie sehen, kommt entrySelectionTopic sowohl im FeedViewer als auch im FeedEntryEditor vor. Dies ist das verbindende Element der beiden Fensterobjekte. Wenn das Attribut entrySelectionTopic jeweils ordnungsgemäß definiert ist, können die beiden Fensterobjekte miteinander kommunizieren und sich selbst entsprechend aktualisieren.