Ext.define('Ext.dataview.pullrefresh.Bar', {
extend: 'Ext.dataview.pullrefresh.Item',
xtype: 'pullrefreshbar',
baseCls: Ext.baseCSSPrefix + 'pullrefreshbar',
cachedConfig: {
lastUpdatedDateFormat: 'm/d/Y h:iA',
lastUpdatedText: 'Last Updated:\xA0',
loadedText: 'Loaded.',
loadingText: 'Loading...',
mode: 'message',
pullText: 'Pull down to refresh...',
releaseText: 'Release to refresh...'
},
hidden: true,
showInEmptyState: null,
scrollDock: 'start',
template: [{
cls: Ext.baseCSSPrefix + 'font-icon ' + Ext.baseCSSPrefix + 'pullrefreshbar-arrow'
}, {
cls: Ext.baseCSSPrefix + 'pullrefreshbar-loading-wrap',
children: [{
cls: Ext.baseCSSPrefix + 'pullrefreshbar-loading ' +
Ext.baseCSSPrefix + 'loading-spinner',
children: [{
tag: 'span',
cls: Ext.baseCSSPrefix + 'loading-top'
}, {
tag: 'span',
cls: Ext.baseCSSPrefix + 'loading-right'
}, {
tag: 'span',
cls: Ext.baseCSSPrefix + 'loading-bottom'
}, {
tag: 'span',
cls: Ext.baseCSSPrefix + 'loading-left'
}]
}]
}, {
cls: Ext.baseCSSPrefix + 'pullrefreshbar-info-wrap',
children: [{
reference: 'infoMessageEl',
cls: Ext.baseCSSPrefix + 'pullrefreshbar-info-message'
}, {
reference: 'infoUpdatedEl',
cls: Ext.baseCSSPrefix + 'pullrefreshbar-info-updated'
}]
}],
privates: {
modeCls: Ext.baseCSSPrefix + 'pullrefreshbar-mode',
textMap: {
loaded: 'getLoadedText',
loading: 'getLoadingText',
pulling: 'getPullText',
holding: 'getReleaseText'
},
updateLastUpdated: function(value) {
var me = this,
lastUpdated = value ? me.getLastUpdatedText() +
Ext.util.Format.date(value, me.getLastUpdatedDateFormat()) : value;
me.infoUpdatedEl.setText(lastUpdated);
},
updateMode: function (value, oldValue) {
this.el.replaceCls(oldValue, value, this.modeCls);
},
updateState: function (state) {
var me = this,
fn = me.textMap[state],
text = fn && me[fn]();
me.infoMessageEl.setText(text || '');
this.callParent(arguments);
}
}
});