|
|
@@ -21,6 +21,8 @@ Ext.define('saas.view.home.Home', {
|
|
|
|
|
|
scrollable: true,
|
|
|
|
|
|
+ REFRESH_INTERVALS: 5 * 60 * 1000, // 刷新间隔
|
|
|
+
|
|
|
defaults: {
|
|
|
shadow: true,
|
|
|
cls: 'x-home-box',
|
|
|
@@ -69,5 +71,37 @@ Ext.define('saas.view.home.Home', {
|
|
|
}, {
|
|
|
xtype: 'stock-amount'
|
|
|
}]
|
|
|
- }]
|
|
|
+ }],
|
|
|
+
|
|
|
+ initComponent: function() {
|
|
|
+ this.lastTime = Ext.Date.now();
|
|
|
+ this.callParent(arguments);
|
|
|
+ },
|
|
|
+
|
|
|
+ listeners: {
|
|
|
+ onTabActivate: function(p) {
|
|
|
+ p.refreshId = window.setInterval((p.refreshStores.bind(p)()).bind(p), p.REFRESH_INTERVALS);
|
|
|
+ },
|
|
|
+ onTabDeactivate: function(p) {
|
|
|
+ p.lastTime = 0;
|
|
|
+ window.clearInterval(p.refreshId);
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ refreshStores: function() {
|
|
|
+ var me = this,
|
|
|
+ lastTime = me.lastTime || 0,
|
|
|
+ now = Ext.Date.now(),
|
|
|
+ viewModel = me.getViewModel(),
|
|
|
+ stores = viewModel.storeInfo;
|
|
|
+
|
|
|
+ if(now - lastTime > me.REFRESH_INTERVALS) {
|
|
|
+ for(var key in stores) {
|
|
|
+ var store = stores[key];
|
|
|
+ store.load();
|
|
|
+ }
|
|
|
+ me.lastTime = Ext.Date.now();
|
|
|
+ }
|
|
|
+ return me.refreshStores;
|
|
|
+ }
|
|
|
});
|