2 * @class FeedViewer.FeedViewer
3 * @extends Ext.container.Viewport
5 * The main FeedViewer application
8 * Create a new Feed Viewer app
9 * @param {Object} config The config object
11 Ext.define('FeedViewer.App', {
12 extend: 'Ext.container.Viewport',
14 initComponent: function(){
17 extend: 'Ext.data.Model',
18 fields: ['title', 'url']
21 Ext.define('FeedItem', {
22 extend: 'Ext.data.Model',
23 fields: ['title', 'author', {
26 }, 'link', 'description', 'content']
32 items: [this.createFeedPanel(), this.createFeedInfo()]
34 this.callParent(arguments);
38 * Create the list of fields to be shown on the left
40 * @return {FeedViewer.FeedPanel} feedPanel
42 createFeedPanel: function(){
43 this.feedPanel = Ext.create('widget.feedpanel', {
51 url: 'http://feeds.feedburner.com/extblog'
53 title: 'Sencha Forums',
54 url: 'http://sencha.com/forum/external.php?type=RSS2'
57 url: 'http://feeds.feedburner.com/ajaxian'
61 feedselect: this.onFeedSelect
64 return this.feedPanel;
68 * Create the feed info container
70 * @return {FeedViewer.FeedInfo} feedInfo
72 createFeedInfo: function(){
73 this.feedInfo = Ext.create('widget.feedinfo', {
80 * Reacts to a feed being selected
83 onFeedSelect: function(feed, title, url){
84 this.feedInfo.addFeed(title, url);