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.     
  33.     // add some default feeds
  34.     feeds.addFeed({
  35.         url:'http://feeds.feedburner.com/extblog',
  36.         text: 'ExtJS.com Blog'
  37.     }, false, true);
  38.     feeds.addFeed({
  39.         url:'http://extjs.com/forum/external.php?type=RSS2',
  40.         text: 'ExtJS.com Forums'
  41.     }, true);
  42.     feeds.addFeed({
  43.         url:'http://feeds.feedburner.com/ajaxian',
  44.         text: 'Ajaxian'
  45.     }, true);
  46.     
  47.     Ext.get('header').on('click', function() {
  48.         viewport.focus();
  49.     });
  50.     
  51.     feeds.focus();
  52. });
  53. // This is a custom event handler passed to preview panels so link open in a new windw
  54. FeedViewer.LinkInterceptor = {
  55.     render: function(p){
  56.         p.body.on({
  57.             'mousedown': function(e, t){ // try to intercept the easy way
  58.                 t.target = '_blank';
  59.             },
  60.             'click': function(e, t){ // if they tab + enter a link, need to do it old fashioned way
  61.                 if(String(t.target).toLowerCase() != '_blank'){
  62.                     e.stopEvent();
  63.                     window.open(t.href);
  64.                 }
  65.             },
  66.             delegate:'a'
  67.         });
  68.     }
  69. };