Vizible’s Blog

OpenLaszlo : RSS news feed

Posted in Programming by wearetherock on October 26, 2008
<canvas>
   <dataset type="http" name="newsfeed" request="true"
			src="http://rss.news.yahoo.com/rss/topstories"/>
      <button y="50" text="Change">
      <attribute name="cnt" value="1" type="number"/>
      <handler name="onclick">
         if (this.cnt % 2) {
		newsfeed.setSrc("http://rss.cnn.com/rss/cnn_topstories.rss");} 
         else
		newsfeed.setSrc("http://rss.news.yahoo.com/rss/topstories");		
         newsfeed.doRequest();
         this.setAttribute("cnt", this.cnt+1);
      </handler>
   </button>
   <window title="RSS Reader" x="80" height="150" width="350" resizable="true">
      <view>
          <view datapath="newsfeed:/rss/channel/item">
             <text name="txt" fontsize="9" resize="true"
                   text="$path{'title/text()'}" fgcolor="blue"/>
          </view>
          <simplelayout axis="y"/>
      </view>
      <scrollbar/>
   </window>
</canvas>

ภายใน canvas มีสมาชิกตัวหนึ่ง เป็น dataset ซึ่งจะดึง feed ผ่าน http request (feed ของ yahoo : http://rss.news.yahoo.com/rss/topstories) , มีปุ่ม Change ซึ่ง Implement ฟังก์ชัน onclick (handler name=”onclick) เมื่อคลิกปุ่ม Change dataset ที่ถูกกำหนด src เป็น yahoo จะเปลี่ยนมาเป็น cnn  หน้าต่าง RSS Reader จะอัปเดตเป็น cnn อัตโนมัติตาม dataset ที่เปลี่ยนแปลง ซึ่งจะเปลี่ยนกลับมาเป็น yahoo อีกครั้งเมื่อคลิกปุ่ม Change ครั้งต่อไป (ขึ้นอยู่กับค่า attribute cnt)

โค้ดจาก Manning: Laszlo in Action

Advertisements
Tagged with: , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: