FeedViewer.js
上传用户:shuoshiled
上传日期:2018-01-28
资源大小:10124k
文件大小:2k
源码类别:

中间件编程

开发平台:

JavaScript

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