<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_DHTML%2FExt_JS%2FForum</id>
		<title>JavaScript DHTML/Ext JS/Forum - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_DHTML%2FExt_JS%2FForum"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Ext_JS/Forum&amp;action=history"/>
		<updated>2026-04-04T19:06:49Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_DHTML/Ext_JS/Forum&amp;diff=2454&amp;oldid=prev</id>
		<title> в 09:59, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Ext_JS/Forum&amp;diff=2454&amp;oldid=prev"/>
				<updated>2010-05-26T09:59:51Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 09:59, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_DHTML/Ext_JS/Forum&amp;diff=2455&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Ext_JS/Forum&amp;diff=2455&amp;oldid=prev"/>
				<updated>2010-05-26T07:21:30Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Forum.SearchView, Forum.TopicStore==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
/*!&lt;br /&gt;
 * Ext JS Library 3.0.0&lt;br /&gt;
 * Copyright(c) 2006-2009 Ext JS, LLC&lt;br /&gt;
 * licensing@extjs.ru&lt;br /&gt;
 * http://www.extjs.ru/license&lt;br /&gt;
 */&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Hello World Window&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;ext-3.0.0/resources/css/ext-all.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;ext-3.0.0/adapter/ext/ext-base.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;ext-3.0.0/ext-all.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;!-- Revised from demo code in ext3.0.0 --&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
/*!&lt;br /&gt;
 * Ext JS Library 3.0.0&lt;br /&gt;
 * Copyright(c) 2006-2009 Ext JS, LLC&lt;br /&gt;
 * licensing@extjs.ru&lt;br /&gt;
 * http://www.extjs.ru/license&lt;br /&gt;
 */&lt;br /&gt;
var Forum = {};&lt;br /&gt;
//////////////////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
// The data store for topics&lt;br /&gt;
Forum.TopicStore = function(){&lt;br /&gt;
    Forum.TopicStore.superclass.constructor.call(this, {&lt;br /&gt;
        remoteSort: true,&lt;br /&gt;
        proxy: new Ext.data.ScriptTagProxy({&lt;br /&gt;
            url: &amp;quot;http://extjs.ru/forum/topics-browse-remote.php&amp;quot;&lt;br /&gt;
        }),&lt;br /&gt;
        reader: new Ext.data.JsonReader({&lt;br /&gt;
            root: &amp;quot;topics&amp;quot;,&lt;br /&gt;
            totalProperty: &amp;quot;totalCount&amp;quot;,&lt;br /&gt;
            id: &amp;quot;threadid&amp;quot;&lt;br /&gt;
        }, [&lt;br /&gt;
            &amp;quot;title&amp;quot;, &amp;quot;forumtitle&amp;quot;, &amp;quot;forumid&amp;quot;, &amp;quot;author&amp;quot;,&lt;br /&gt;
            {name: &amp;quot;replycount&amp;quot;, type: &amp;quot;int&amp;quot;},&lt;br /&gt;
            {name: &amp;quot;lastpost&amp;quot;, mapping: &amp;quot;lastpost&amp;quot;, type: &amp;quot;date&amp;quot;, dateFormat: &amp;quot;timestamp&amp;quot;},&lt;br /&gt;
            &amp;quot;lastposter&amp;quot;, &amp;quot;excerpt&amp;quot;&lt;br /&gt;
        ])&lt;br /&gt;
    });&lt;br /&gt;
    this.setDefaultSort(&amp;quot;lastpost&amp;quot;, &amp;quot;desc&amp;quot;);&lt;br /&gt;
};&lt;br /&gt;
Ext.extend(Forum.TopicStore, Ext.data.Store, {&lt;br /&gt;
    loadForum : function(forumId){&lt;br /&gt;
        this.baseParams = {&lt;br /&gt;
            forumId: forumId&lt;br /&gt;
        };&lt;br /&gt;
        this.load({&lt;br /&gt;
            params: {&lt;br /&gt;
                start:0,&lt;br /&gt;
                limit:25&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
//////////////////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
// some renderers&lt;br /&gt;
Forum.Renderers = {&lt;br /&gt;
    topic : function(value, p, record){&lt;br /&gt;
        return String.format(&lt;br /&gt;
                &amp;quot;&amp;lt;div class=&amp;quot;topic&amp;quot;&amp;gt;&amp;lt;b&amp;gt;{0}&amp;lt;/b&amp;gt;&amp;lt;span class=&amp;quot;author&amp;quot;&amp;gt;{1}&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;,&lt;br /&gt;
                value, record.data.author, record.id, record.data.forumid);&lt;br /&gt;
    },&lt;br /&gt;
    lastPost : function(value, p, r){&lt;br /&gt;
        return String.format(&amp;quot;&amp;lt;span class=&amp;quot;post-date&amp;quot;&amp;gt;{0}&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;by {1}&amp;quot;, value.dateFormat(&amp;quot;M j, Y, g:i a&amp;quot;), r.data[&amp;quot;lastposter&amp;quot;]);&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
//////////////////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
Forum.SearchView = function(search){&lt;br /&gt;
    this.preview = new Ext.Panel({&lt;br /&gt;
        region:&amp;quot;south&amp;quot;,&lt;br /&gt;
        height:250,&lt;br /&gt;
        title:&amp;quot;View Message&amp;quot;,&lt;br /&gt;
        split:true&lt;br /&gt;
    });&lt;br /&gt;
    this.store = new Ext.data.Store({&lt;br /&gt;
        remoteSort: true,&lt;br /&gt;
        proxy: new Ext.data.ScriptTagProxy({&lt;br /&gt;
            url: &amp;quot;http://extjs.ru/forum/topics-browse-remote.php&amp;quot;&lt;br /&gt;
        }),&lt;br /&gt;
        reader: new Ext.data.JsonReader({&lt;br /&gt;
            root: &amp;quot;topics&amp;quot;,&lt;br /&gt;
            totalProperty: &amp;quot;totalCount&amp;quot;,&lt;br /&gt;
            id: &amp;quot;post_id&amp;quot;&lt;br /&gt;
        }, [&lt;br /&gt;
            {name: &amp;quot;postId&amp;quot;, mapping: &amp;quot;post_id&amp;quot;},&lt;br /&gt;
            {name: &amp;quot;title&amp;quot;, mapping: &amp;quot;topic_title&amp;quot;},&lt;br /&gt;
            {name: &amp;quot;topicId&amp;quot;, mapping: &amp;quot;topic_id&amp;quot;},&lt;br /&gt;
            {name: &amp;quot;author&amp;quot;, mapping: &amp;quot;author&amp;quot;},&lt;br /&gt;
            {name: &amp;quot;lastPost&amp;quot;, mapping: &amp;quot;post_time&amp;quot;, type: &amp;quot;date&amp;quot;, dateFormat: &amp;quot;timestamp&amp;quot;},&lt;br /&gt;
            {name: &amp;quot;excerpt&amp;quot;, mapping: &amp;quot;post_text&amp;quot;}&lt;br /&gt;
        ])&lt;br /&gt;
    });&lt;br /&gt;
    this.store.setDefaultSort(&amp;quot;lastpost&amp;quot;, &amp;quot;desc&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    this.grid = new Ext.grid.GridPanel({&lt;br /&gt;
        region:&amp;quot;center&amp;quot;,&lt;br /&gt;
        store: this.store,&lt;br /&gt;
        cm: new Ext.grid.ColumnModel([{&lt;br /&gt;
           id: &amp;quot;topic&amp;quot;,&lt;br /&gt;
           header: &amp;quot;Post Title&amp;quot;,&lt;br /&gt;
           dataIndex: &amp;quot;title&amp;quot;,&lt;br /&gt;
           width: 420,&lt;br /&gt;
           renderer: Forum.Renderers.topic&lt;br /&gt;
        },{&lt;br /&gt;
           id: &amp;quot;last&amp;quot;,&lt;br /&gt;
           header: &amp;quot;Date Posted&amp;quot;,&lt;br /&gt;
           dataIndex: &amp;quot;lastpost&amp;quot;,&lt;br /&gt;
           width: 150,&lt;br /&gt;
           renderer: Ext.util.Format.dateRenderer(&amp;quot;M j, Y, g:i a&amp;quot;)&lt;br /&gt;
        }]),&lt;br /&gt;
        sm: new Ext.grid.RowSelectionModel({&lt;br /&gt;
            singleSelect:true&lt;br /&gt;
        }),&lt;br /&gt;
        trackMouseOver:false,&lt;br /&gt;
        loadMask: {msg:&amp;quot;Searching...&amp;quot;},&lt;br /&gt;
        viewConfig: {&lt;br /&gt;
            forceFit:true,&lt;br /&gt;
            enableRowBody:true,&lt;br /&gt;
            showPreview:true,&lt;br /&gt;
            getRowClass : function(record, rowIndex, p, ds){&lt;br /&gt;
                if(this.showPreview){&lt;br /&gt;
                    p.body = &amp;quot;&amp;lt;p&amp;gt;&amp;quot;+record.data.excerpt+&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
                    return &amp;quot;x-grid3-row-expanded&amp;quot;;&lt;br /&gt;
                }&lt;br /&gt;
                return &amp;quot;x-grid3-row-collapsed&amp;quot;;&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        bbar: new Ext.PagingToolbar({&lt;br /&gt;
            pageSize: 25,&lt;br /&gt;
            store: ds,&lt;br /&gt;
            displayInfo: true,&lt;br /&gt;
            displayMsg: &amp;quot;Displaying results {0} - {1} of {2}&amp;quot;,&lt;br /&gt;
            emptyMsg: &amp;quot;No results to display&amp;quot;&lt;br /&gt;
        })&lt;br /&gt;
    });&lt;br /&gt;
    Forum.SearchView.superclass.constructor.call(this, {&lt;br /&gt;
        layout:&amp;quot;border&amp;quot;,&lt;br /&gt;
        title:&amp;quot;Search: &amp;quot;+Ext.util.Format.htmlEncode(&amp;quot;&amp;quot;&amp;quot;+search+&amp;quot;&amp;quot;&amp;quot;),&lt;br /&gt;
        items:[ this.grid, this.preview ]&lt;br /&gt;
     });&lt;br /&gt;
    this.store.baseParams = {&lt;br /&gt;
        query: search&lt;br /&gt;
    };&lt;br /&gt;
    this.store.load({params:{start:0, limit: 25}});&lt;br /&gt;
};&lt;br /&gt;
Ext.extend(Forum.SearchView, Ext.Panel);&lt;br /&gt;
&lt;br /&gt;
Ext.onReady(function(){&lt;br /&gt;
    Ext.QuickTips.init();&lt;br /&gt;
    var ds = new Forum.TopicStore();&lt;br /&gt;
    var cm = new Ext.grid.ColumnModel([{&lt;br /&gt;
           id: &amp;quot;topic&amp;quot;,&lt;br /&gt;
           header: &amp;quot;Topic&amp;quot;,&lt;br /&gt;
           dataIndex: &amp;quot;title&amp;quot;,&lt;br /&gt;
           width: 420,&lt;br /&gt;
           renderer: Forum.Renderers.topic&lt;br /&gt;
        },{&lt;br /&gt;
           header: &amp;quot;Author&amp;quot;,&lt;br /&gt;
           dataIndex: &amp;quot;author&amp;quot;,&lt;br /&gt;
           width: 100,&lt;br /&gt;
           hidden: true&lt;br /&gt;
        },{&lt;br /&gt;
           header: &amp;quot;Replies&amp;quot;,&lt;br /&gt;
           dataIndex: &amp;quot;replycount&amp;quot;,&lt;br /&gt;
           width: 70,&lt;br /&gt;
           align: &amp;quot;right&amp;quot;&lt;br /&gt;
        },{&lt;br /&gt;
           id: &amp;quot;last&amp;quot;,&lt;br /&gt;
           header: &amp;quot;Last Post&amp;quot;,&lt;br /&gt;
           dataIndex: &amp;quot;lastpost&amp;quot;,&lt;br /&gt;
           width: 150,&lt;br /&gt;
           renderer: Forum.Renderers.lastPost&lt;br /&gt;
        }]);&lt;br /&gt;
    cm.defaultSortable = true;&lt;br /&gt;
    var viewport = new Ext.Viewport({&lt;br /&gt;
        layout:&amp;quot;border&amp;quot;,&lt;br /&gt;
        items:[&lt;br /&gt;
            new Ext.BoxComponent({ // raw&lt;br /&gt;
                region:&amp;quot;north&amp;quot;,&lt;br /&gt;
                el: &amp;quot;header&amp;quot;,&lt;br /&gt;
                height:32&lt;br /&gt;
            }),&lt;br /&gt;
            new Ext.tree.TreePanel({&lt;br /&gt;
                id:&amp;quot;forum-tree&amp;quot;,&lt;br /&gt;
                region:&amp;quot;west&amp;quot;,&lt;br /&gt;
                title:&amp;quot;Forums&amp;quot;,&lt;br /&gt;
                split:true,&lt;br /&gt;
                width: 325,&lt;br /&gt;
                minSize: 175,&lt;br /&gt;
                maxSize: 400,&lt;br /&gt;
                collapsible: true,&lt;br /&gt;
                margins:&amp;quot;0 0 5 5&amp;quot;,&lt;br /&gt;
                loader: new Forum.TreeLoader(),&lt;br /&gt;
                rootVisible:false,&lt;br /&gt;
                lines:false,&lt;br /&gt;
                autoScroll:true,&lt;br /&gt;
                root: new Ext.tree.AsyncTreeNode({&lt;br /&gt;
                          text: &amp;quot;Forums&amp;quot;,&lt;br /&gt;
                          expanded:true&lt;br /&gt;
                      })&lt;br /&gt;
            }),&lt;br /&gt;
            new Ext.TabPanel({&lt;br /&gt;
                id:&amp;quot;main-tabs&amp;quot;,&lt;br /&gt;
                activeTab:0,&lt;br /&gt;
                region:&amp;quot;center&amp;quot;,&lt;br /&gt;
                margins:&amp;quot;0 5 5 0&amp;quot;,&lt;br /&gt;
                resizeTabs:true,&lt;br /&gt;
                tabWidth:150,&lt;br /&gt;
                items: {&lt;br /&gt;
                    id:&amp;quot;main-view&amp;quot;,&lt;br /&gt;
                    layout:&amp;quot;border&amp;quot;,&lt;br /&gt;
                    title:&amp;quot;Loading...&amp;quot;,&lt;br /&gt;
                    items:[&lt;br /&gt;
                        new Ext.grid.GridPanel({&lt;br /&gt;
                            region:&amp;quot;center&amp;quot;,&lt;br /&gt;
                            id:&amp;quot;topic-grid&amp;quot;,&lt;br /&gt;
                            store: ds,&lt;br /&gt;
                            cm: cm,&lt;br /&gt;
                            sm:new Ext.grid.RowSelectionModel({&lt;br /&gt;
                                singleSelect:true,&lt;br /&gt;
                                listeners: {&lt;br /&gt;
                                    selectionchange: function(sel){&lt;br /&gt;
                                        var rec = sel.getSelected();&lt;br /&gt;
                                        if(rec){&lt;br /&gt;
                                            Ext.getCmp(&amp;quot;preview&amp;quot;).body.update(&amp;quot;&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;&amp;quot; + rec.get(&amp;quot;title&amp;quot;) + &amp;quot;&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Post details here.&amp;quot;);&lt;br /&gt;
                                        }&lt;br /&gt;
                                    }&lt;br /&gt;
                                }&lt;br /&gt;
                            }),&lt;br /&gt;
                            trackMouseOver:false,&lt;br /&gt;
                            loadMask: {msg:&amp;quot;Loading Topics...&amp;quot;},&lt;br /&gt;
                            viewConfig: {&lt;br /&gt;
                                forceFit:true,&lt;br /&gt;
                                enableRowBody:true,&lt;br /&gt;
                                showPreview:true,&lt;br /&gt;
                                getRowClass : function(record, rowIndex, p, ds){&lt;br /&gt;
                                    if(this.showPreview){&lt;br /&gt;
                                        p.body = &amp;quot;&amp;lt;p&amp;gt;&amp;quot;+record.data.excerpt+&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
                                        return &amp;quot;x-grid3-row-expanded&amp;quot;;&lt;br /&gt;
                                    }&lt;br /&gt;
                                    return &amp;quot;x-grid3-row-collapsed&amp;quot;;&lt;br /&gt;
                                }&lt;br /&gt;
                            },&lt;br /&gt;
                            tbar:[&lt;br /&gt;
                                {&lt;br /&gt;
                                    text:&amp;quot;New Topic&amp;quot;,&lt;br /&gt;
                                    iconCls: &amp;quot;new-topic&amp;quot;,&lt;br /&gt;
                                    handler:function(){alert(&amp;quot;Not implemented.&amp;quot;);}&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot;-&amp;quot;,&lt;br /&gt;
                                {&lt;br /&gt;
                                    pressed: true,&lt;br /&gt;
                                    enableToggle:true,&lt;br /&gt;
                                    text:&amp;quot;Preview Pane&amp;quot;,&lt;br /&gt;
                                    tooltip: {title:&amp;quot;Preview Pane&amp;quot;,text:&amp;quot;Show or hide the Preview Pane&amp;quot;},&lt;br /&gt;
                                    iconCls: &amp;quot;preview&amp;quot;,&lt;br /&gt;
                                    toggleHandler: togglePreview&lt;br /&gt;
                                },&lt;br /&gt;
                                &amp;quot; &amp;quot;,&lt;br /&gt;
                                {&lt;br /&gt;
                                    pressed: true,&lt;br /&gt;
                                    enableToggle:true,&lt;br /&gt;
                                    text:&amp;quot;Summary&amp;quot;,&lt;br /&gt;
                                    tooltip: {title:&amp;quot;Post Summary&amp;quot;,text:&amp;quot;View a short summary of each post in the list&amp;quot;},&lt;br /&gt;
                                    iconCls: &amp;quot;summary&amp;quot;,&lt;br /&gt;
                                    toggleHandler: toggleDetails&lt;br /&gt;
                                }&lt;br /&gt;
                            ],&lt;br /&gt;
                            bbar: new Ext.PagingToolbar({&lt;br /&gt;
                                pageSize: 25,&lt;br /&gt;
                                store: ds,&lt;br /&gt;
                                displayInfo: true,&lt;br /&gt;
                                displayMsg: &amp;quot;Displaying topics {0} - {1} of {2}&amp;quot;,&lt;br /&gt;
                                emptyMsg: &amp;quot;No topics to display&amp;quot;&lt;br /&gt;
                            })&lt;br /&gt;
                        }), {&lt;br /&gt;
                            id:&amp;quot;preview&amp;quot;,&lt;br /&gt;
                            region:&amp;quot;south&amp;quot;,&lt;br /&gt;
                            height:250,&lt;br /&gt;
                            title:&amp;quot;View Topic&amp;quot;,&lt;br /&gt;
                            split:true,&lt;br /&gt;
                            bodyStyle: &amp;quot;padding: 10px; font-family: Arial; font-size: 12px;&amp;quot;&lt;br /&gt;
                        }&lt;br /&gt;
                     ]&lt;br /&gt;
                 }&lt;br /&gt;
              })&lt;br /&gt;
         ]&lt;br /&gt;
    });&lt;br /&gt;
    var tree = Ext.getCmp(&amp;quot;forum-tree&amp;quot;);&lt;br /&gt;
    tree.on(&amp;quot;append&amp;quot;, function(tree, p, node){&lt;br /&gt;
       if(node.id == 40){&lt;br /&gt;
           node.select.defer(100, node);&lt;br /&gt;
       }&lt;br /&gt;
    });&lt;br /&gt;
    var sm = tree.getSelectionModel();&lt;br /&gt;
    sm.on(&amp;quot;beforeselect&amp;quot;, function(sm, node){&lt;br /&gt;
         return node.isLeaf();&lt;br /&gt;
    });&lt;br /&gt;
    sm.on(&amp;quot;selectionchange&amp;quot;, function(sm, node){&lt;br /&gt;
        ds.loadForum(node.id);&lt;br /&gt;
        Ext.getCmp(&amp;quot;main-view&amp;quot;).setTitle(node.text);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
     var searchStore = new Ext.data.Store({&lt;br /&gt;
        proxy: new Ext.data.ScriptTagProxy({&lt;br /&gt;
            url: &amp;quot;http://extjs.ru/forum/topics-browse-remote.php&amp;quot;&lt;br /&gt;
        }),&lt;br /&gt;
        reader: new Ext.data.JsonReader({&lt;br /&gt;
            root: &amp;quot;topics&amp;quot;,&lt;br /&gt;
            totalProperty: &amp;quot;totalCount&amp;quot;,&lt;br /&gt;
            id: &amp;quot;threadid&amp;quot;&lt;br /&gt;
        }, [&lt;br /&gt;
            &amp;quot;title&amp;quot;, &amp;quot;author&amp;quot;,&lt;br /&gt;
            {name: &amp;quot;lastpost&amp;quot;, type: &amp;quot;date&amp;quot;, dateFormat: &amp;quot;timestamp&amp;quot;}&lt;br /&gt;
        ])&lt;br /&gt;
    });&lt;br /&gt;
    // Custom rendering Template&lt;br /&gt;
    var resultTpl = new Ext.XTemplate(&lt;br /&gt;
        &amp;quot;&amp;lt;tpl for=&amp;quot;.&amp;quot;&amp;gt;&amp;quot;,&lt;br /&gt;
            &amp;quot;&amp;lt;div class=&amp;quot;x-combo-list-item search-item&amp;quot;&amp;gt;{title} by &amp;lt;b&amp;gt;{author}&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;&amp;lt;/tpl&amp;gt;&amp;quot;&lt;br /&gt;
    );&lt;br /&gt;
    var search = new Ext.form.ruboBox({&lt;br /&gt;
        store: searchStore,&lt;br /&gt;
        applyTo: &amp;quot;search&amp;quot;,&lt;br /&gt;
        displayField:&amp;quot;title&amp;quot;,&lt;br /&gt;
        typeAhead: false,&lt;br /&gt;
        loadingText: &amp;quot;Searching...&amp;quot;,&lt;br /&gt;
        width: 200,&lt;br /&gt;
        pageSize:10,&lt;br /&gt;
        listWidth:550,&lt;br /&gt;
        hideTrigger:true,&lt;br /&gt;
        tpl: resultTpl,&lt;br /&gt;
        minChars:3,&lt;br /&gt;
        emptyText:&amp;quot;Quick Search&amp;quot;,&lt;br /&gt;
        onSelect: function(record){ // override default onSelect to do redirect&lt;br /&gt;
            window.location =&lt;br /&gt;
                String.format(&amp;quot;http://extjs.ru/forum/showthread.php?t={0}&amp;amp;p={1}&amp;quot;, record.data.topicId, record.id);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
    // apply it to the exsting input element&lt;br /&gt;
    //search.applyTo(&amp;quot;search&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    function toggleDetails(btn, pressed){&lt;br /&gt;
        var view = Ext.getCmp(&amp;quot;topic-grid&amp;quot;).getView();&lt;br /&gt;
        view.showPreview = pressed;&lt;br /&gt;
        view.refresh();&lt;br /&gt;
    }&lt;br /&gt;
    function togglePreview(btn, pressed){&lt;br /&gt;
        var preview = Ext.getCmp(&amp;quot;preview&amp;quot;);&lt;br /&gt;
        preview[pressed ? &amp;quot;show&amp;quot; : &amp;quot;hide&amp;quot;]();&lt;br /&gt;
        preview.ownerCt.doLayout();&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
Forum.TreeLoader = function(){&lt;br /&gt;
    Forum.TreeLoader.superclass.constructor.call(this);&lt;br /&gt;
    this.proxy = new Ext.data.ScriptTagProxy({&lt;br /&gt;
        url : this.dataUrl&lt;br /&gt;
    });&lt;br /&gt;
};&lt;br /&gt;
Ext.extend(Forum.TreeLoader, Ext.tree.TreeLoader, {&lt;br /&gt;
    dataUrl: &amp;quot;http://extjs.ru/forum/forums-remote.php&amp;quot;,&lt;br /&gt;
    requestData : function(node, cb){&lt;br /&gt;
        this.proxy.request(&amp;quot;read&amp;quot;, null, {}, {&lt;br /&gt;
            readRecords : function(o){&lt;br /&gt;
                return o;&lt;br /&gt;
            }&lt;br /&gt;
        }, this.addNodes, this, {node:node, cb:cb});&lt;br /&gt;
    },&lt;br /&gt;
    addNodes : function(o, arg){&lt;br /&gt;
        var node = arg.node;&lt;br /&gt;
        for(var i = 0, len = o.length; i &amp;lt; len; i++){&lt;br /&gt;
            var n = this.createNode(o[i]);&lt;br /&gt;
            if(n){&lt;br /&gt;
                node.appendChild(n);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        arg.cb(this, node);&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;header&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;margin:5px;&amp;quot; class=&amp;quot;x-small-editor&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;search&amp;quot; /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>