Upgrade to ExtJS 3.0.0 - Released 07/06/2009
[extjs.git] / docs / source / FeedViewer.html
1 <html>\r
2 <head>\r
3   <title>The source code</title>\r
4     <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />\r
5     <script type="text/javascript" src="../resources/prettify/prettify.js"></script>\r
6 </head>\r
7 <body  onload="prettyPrint();">\r
8     <pre class="prettyprint lang-js">FeedViewer = {};\r
9 \r
10 Ext.onReady(function(){\r
11     Ext.QuickTips.init();\r
12 \r
13     Ext.state.Manager.setProvider(new Ext.state.SessionProvider({state: Ext.appState}));\r
14 \r
15     var tpl = Ext.Template.from('preview-tpl', {\r
16         compiled:true,\r
17         getBody : function(v, all){\r
18             return Ext.util.Format.stripScripts(v || all.description);\r
19         }\r
20     });\r
21     FeedViewer.getTemplate = function(){\r
22         return tpl;\r
23     }\r
24 \r
25     var feeds = new FeedPanel();\r
26     var mainPanel = new MainPanel();\r
27 \r
28     feeds.on('feedselect', function(feed){\r
29         mainPanel.loadFeed(feed);\r
30     });\r
31     \r
32     var viewport = new Ext.Viewport({\r
33         layout:'border',\r
34         items:[\r
35             new Ext.BoxComponent({ // raw element\r
36                 region:'north',\r
37                 el: 'header',\r
38                 height:32\r
39             }),\r
40             feeds,\r
41             mainPanel\r
42          ]\r
43     });\r
44 \r
45     // add some default feeds\r
46     feeds.addFeed({\r
47         url:'http://feeds.feedburner.com/extblog',\r
48         text: 'ExtJS.com Blog'\r
49     }, false, true);\r
50 \r
51     feeds.addFeed({\r
52         url:'http://extjs.com/forum/external.php?type=RSS2',\r
53         text: 'ExtJS.com Forums'\r
54     }, true);\r
55 \r
56     feeds.addFeed({\r
57         url:'http://feeds.feedburner.com/ajaxian',\r
58         text: 'Ajaxian'\r
59     }, true);\r
60     \r
61     Ext.get('header').on('click', function() {\r
62         viewport.focus();\r
63     });\r
64     \r
65     feeds.focus();\r
66 });\r
67 \r
68 // This is a custom event handler passed to preview panels so link open in a new windw\r
69 FeedViewer.LinkInterceptor = {\r
70     render: function(p){\r
71         p.body.on({\r
72             'mousedown': function(e, t){ // try to intercept the easy way\r
73                 t.target = '_blank';\r
74             },\r
75             'click': function(e, t){ // if they tab + enter a link, need to do it old fashioned way\r
76                 if(String(t.target).toLowerCase() != '_blank'){\r
77                     e.stopEvent();\r
78                     window.open(t.href);\r
79                 }\r
80             },\r
81             delegate:'a'\r
82         });\r
83     }\r
84 };</pre>    \r
85 </body>\r
86 </html>