forked from mitchellsimoens/Ext.ux.touch.grid
-
Notifications
You must be signed in to change notification settings - Fork 0
/
listplugins.js
123 lines (115 loc) · 3.55 KB
/
listplugins.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
Ext.Loader.setConfig({
enabled : true,
paths : {
'Ext.ux.touch.grid' : './Ext.ux.touch.grid'
}
});
Ext.require([
'Ext.plugin.ListPaging',
'Ext.plugin.PullRefresh',
'Ext.ux.touch.grid.List',
'Ext.ux.touch.grid.feature.Feature',
'Ext.ux.touch.grid.feature.Sorter'
]);
Ext.define('TestModel', {
extend : 'Ext.data.Model',
config : {
fields : [
'company',
'price',
'change',
'pct',
'updated'
],
proxy : {
type : 'ajax',
url : 'listplugins.php',
reader : {
type : 'json',
rootProperty : 'data'
},
extraParams : {
sleep : 2
}
}
}
});
Ext.setup({
onReady : function () {
var store = Ext.create('Ext.data.Store', {
autoLoad : true,
model : 'TestModel',
pageSize : 5,
grouper : {
groupFn : function (record) {
return record.get('company')[0];
}
}
});
Ext.create('Ext.ux.touch.grid.List', {
fullscreen : true,
store : store,
onItemDisclosure : true,
grouped : true,
indexBar : true,
plugins : [
{
xclass : 'Ext.plugin.ListPaging'
},
{
xclass : 'Ext.plugin.PullRefresh'
}
],
features : [
{
ftype : 'Ext.ux.touch.grid.feature.Sorter',
launchFn : 'initialize'
}
],
columns : [
{
header : 'Company',
dataIndex : 'company',
style : 'padding-left: 1em;',
width : '40%',
filter : { type : 'string' }
},
{
header : 'Price',
dataIndex : 'price',
style : 'text-align: center;',
width : '15%',
filter : { type : 'numeric' }
},
{
header : 'Change',
dataIndex : 'change',
cls : 'centered-cell redgreen-cell',
width : '15%',
renderer : function (value) {
var cls = (value > 0) ? 'green' : 'red';
return '<span class="' + cls + '">' + value + '</span>';
}
},
{
header : '% Change',
dataIndex : 'pct',
cls : 'centered-cell redgreen-cell',
width : '15%',
renderer : function (value) {
var cls = (value > 0) ? 'green' : 'red';
return '<span class="' + cls + '">' + value + '</span>';
}
},
{
header : 'Last Updated',
dataIndex : 'updated',
hidden : true,
style : 'text-align: right; padding-right: 1em;',
sortable : false,
width : '15%'
}
]
});
}
});