82 lines
2.5 KiB
JavaScript
82 lines
2.5 KiB
JavaScript
/*
|
|
This file is part of Ext JS 3.4
|
|
|
|
Copyright (c) 2011-2013 Sencha Inc
|
|
|
|
Contact: http://www.sencha.com/contact
|
|
|
|
GNU General Public License Usage
|
|
This file may be used under the terms of the GNU General Public License version 3.0 as
|
|
published by the Free Software Foundation and appearing in the file LICENSE included in the
|
|
packaging of this file.
|
|
|
|
Please review the following information to ensure the GNU General Public License version 3.0
|
|
requirements will be met: http://www.gnu.org/copyleft/gpl.html.
|
|
|
|
If you are unsure which license is appropriate for your use, please contact the sales department
|
|
at http://www.sencha.com/contact.
|
|
|
|
Build date: 2013-04-03 15:07:25
|
|
*/
|
|
Ext.onReady(function(){
|
|
var ds = new Ext.data.Store({
|
|
proxy: new Ext.data.ScriptTagProxy({
|
|
url: 'http://extjs.com/forum/topics-remote.php'
|
|
}),
|
|
reader: new Ext.data.JsonReader({
|
|
root: 'topics',
|
|
totalProperty: 'totalCount',
|
|
id: 'post_id'
|
|
}, [
|
|
{name: 'postId', mapping: 'post_id'},
|
|
{name: 'title', mapping: 'topic_title'},
|
|
{name: 'topicId', mapping: 'topic_id'},
|
|
{name: 'author', mapping: 'author'},
|
|
{name: 'lastPost', mapping: 'post_time', type: 'date', dateFormat: 'timestamp'},
|
|
{name: 'excerpt', mapping: 'post_text'}
|
|
]),
|
|
|
|
baseParams: {limit:20, forumId: 4}
|
|
});
|
|
|
|
// Custom rendering Template for the View
|
|
var resultTpl = new Ext.XTemplate(
|
|
'<tpl for=".">',
|
|
'<div class="search-item">',
|
|
'<h3><span>{lastPost:date("M j, Y")}<br />by {author}</span>',
|
|
'<a href="http://extjs.com/forum/showthread.php?t={topicId}&p={postId}" target="_blank">{title}</a></h3>',
|
|
'<p>{excerpt}</p>',
|
|
'</div></tpl>'
|
|
);
|
|
|
|
var panel = new Ext.Panel({
|
|
applyTo: 'search-panel',
|
|
title:'Forum Search',
|
|
height:300,
|
|
autoScroll:true,
|
|
|
|
items: new Ext.DataView({
|
|
tpl: resultTpl,
|
|
store: ds,
|
|
itemSelector: 'div.search-item'
|
|
}),
|
|
|
|
tbar: [
|
|
'Search: ', ' ',
|
|
new Ext.ux.form.SearchField({
|
|
store: ds,
|
|
width:320
|
|
})
|
|
],
|
|
|
|
bbar: new Ext.PagingToolbar({
|
|
store: ds,
|
|
pageSize: 20,
|
|
displayInfo: true,
|
|
displayMsg: 'Topics {0} - {1} of {2}',
|
|
emptyMsg: "No topics to display"
|
|
})
|
|
});
|
|
|
|
ds.load({params:{start:0, limit:20, forumId: 4}});
|
|
});
|