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