messengercustom-servicesmacoslinuxwindowsinboxwhatsappicloudtweetdeckhipchattelegramhangoutsslackgmailskypefacebook-workplaceoutlookemailmicrosoft-teamsdiscord
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1017 B
50 lines
1017 B
9 years ago
|
/**
|
||
|
* Created by whiskeredwonder on 7/30/2015.
|
||
|
*/
|
||
|
Ext.define('Rambox.ux.mixin.Badge', {
|
||
|
extend: 'Ext.Mixin',
|
||
|
|
||
|
requires: [
|
||
|
//require this for the override
|
||
|
'Ext.button.Button'
|
||
|
],
|
||
|
|
||
|
mixinConfig: {
|
||
|
id: 'badge',
|
||
|
after: {
|
||
|
onRender: 'renderBadgeText'
|
||
|
}
|
||
|
},
|
||
|
|
||
|
config: {
|
||
|
badgeText: null
|
||
|
},
|
||
|
|
||
|
renderBadgeText: function() {
|
||
|
var badgeText = this.getBadgeText();
|
||
|
|
||
|
if (badgeText) {
|
||
|
this.updateBadgeText(badgeText);
|
||
|
}
|
||
|
},
|
||
|
|
||
|
updateBadgeText: function(badgeText, oldBadgeText) {
|
||
|
var me = this,
|
||
|
el = me.el;
|
||
|
|
||
|
if (me.rendered) {
|
||
|
el.set({
|
||
|
'data-badge-text': badgeText
|
||
|
});
|
||
|
|
||
|
el.toggleCls(Ext.baseCSSPrefix + 'badge', !! badgeText);
|
||
|
|
||
|
me.fireEvent('badgetextchange', me, badgeText, oldBadgeText);
|
||
|
}
|
||
|
}
|
||
|
}, function(BadgeMixin) {
|
||
|
Ext.override(Ext.button.Button, {
|
||
|
mixins: [BadgeMixin]
|
||
|
});
|
||
|
});
|