Hi I need to pull refresh a list when a record updated.Please c my code below
List.js
Code:
Ext.define('bluebutton.view.BlueButton.TransactionList', { extend: 'Ext.List',
xtype: 'transactionlistcard',
id :'transactionlistcard',
requires: [
'Ext.field.Select',
'Ext.field.Search',
'Ext.plugin.ListPaging',
'Ext.plugin.PullRefresh',
'bluebutton.store.BlueButton.TransactionList',
'bluebutton.view.BlueButton.TransactionListDetail',
],
config: {
styleHtmlContent: true,
scrollable: 'vertical',
itemHeight :20,
variableHeights : false,
store : { xclass : 'bluebutton.store.BlueButton.TransactionList'},
grouped: true,
indexBar: true,
id :'transactionlist',
masked: {
xtype: 'loadmask',
message: 'loading...'
}, // masked
plugins: [
{ xclass: 'Ext.plugin.PullRefresh'
},
{
xclass: 'Ext.plugin.ListPaging',
// autoPaging: true,
},
],
emptyText: '<p class="no-search-results">No Transaction record found matching that search</p>',
itemTpl: Ext.create(
'Ext.XTemplate',
'<div class="tweet-wrapper">',
'<table>',
'<tr>',
'<td rowspan="2" width="28%" >',
// '<div style="padding-left: 30px;">',
// ' <img src="{imgUrl}" width="140" height="130" /></div>',
'</td>',
'<td>',
' <div class="tweet">',
' <h3>Transaction ID: {transactionId} , Point: {updatedPoint} pts , Action: {action}</h3>',
' <h3>Status: {status}, Transaction By: {fullName} , Transaction Date: {createDateTime}</h3>',
' </div>',
'</td>',
'</tr>',
'</table>',
'</div>'
),
},
});
store.js
Code:
Ext.define('bluebutton.store.BlueButton.TransactionList', { extend: 'Ext.data.Store',
requires: [
'bluebutton.model.BlueButton.TransactionList'
],
config: {
grouper: {
groupFn: function (record) {
return record.get('createDateTime');
}
},
model: 'bluebutton.model.BlueButton.TransactionList',
pageSize: 5,
autoLoad: true,
storeId: 'transactionlist',
sorters: 'createDateTime',
groupDir: 'DESC',
clearOnPageLoad: true, // This is true by default
}
});
Model.js
Code:
Ext.define('bluebutton.model.BlueButton.TransactionList', { extend: 'Ext.data.Model',
config: {
idProperty: 'transactionId',
fields: [
{ name :'transactionId'},
{ name: 'merchant_bbID' },
{ name: 'sessionId' },
{ name: 'deviceId' },
{ name: 'createDateTime' },
{ name: 'fullName' },
{ name: 'action' },
{ name: 'updatedPoint' },
{ name: 'createDate' },
{ name: 'status' },
{ name: 'refresh' },
],
proxy: {
type: 'rest',
// url: 'http://192.168.251.131:8080/WebCommon/rest/BBWebService/getPointTransactionList',
url: 'http://mixsoloffice.no-ip.biz:82/WebCommon/rest/BBWebService/getPointTransactionList',
actionMethods: {
create: 'POST',
read: 'GET',
update: 'PUT',
destroy: 'DELETE'
},
noCache: false, // get rid of the '_dc' url parameter
extraParams: {
sessionId: "1",
deviceId: "1",
merchant_bbID: "merchant1",
// add as many as you need
},
reader: {
type: 'json',
rootProperty: 'pointTransHistoryList',
totalProperty: 'totalRecord',
successProperty: 'success'
},
writer: {
type: 'json',
},
}
}
});
Json return format
Code:
{"success":true,"pointTransHistoryList":
[{"transactionId":"162","createDate":"08\/03\/2013","createDateTime":"2013-03-08 13:01:01.101","fullName":"Ivor Kee Aik Hau","action":"add","updatedPoint":"44.00","status":"Success"},
{"transactionId":"161","createDate":"07\/03\/2013","createDateTime":"2013-03-07 20:00:04.456","fullName":"Ivor Kee Aik Hau","action":"deduct","updatedPoint":"5.00","status":"Success"},
{"transactionId":"160","createDate":"07\/03\/2013","createDateTime":"2013-03-07 20:00:03.345","fullName":"Ivor Kee Aik Hau","action":"deduct","updatedPoint":"4.00","status":"Success"},
{"transactionId":"159","createDate":"07\/03\/2013","createDateTime":"2013-03-07 20:00:02.234","fullName":"Ivor Kee Aik Hau","action":"deduct","updatedPoint":"3.00","status":"Success"},
{"transactionId":"158","createDate":"07\/03\/2013","createDateTime":"2013-03-07 20:00:01.123","fullName":"Ivor Kee Aik Hau","action":"deduct","updatedPoint":"2.00","status":"Success"}],"totalRecord":11}
But the pull refresh seem not able to update. Please give some solution