in xf/ui/xf.ui.popup.js [190:242]
createButton : function (buttonDescr) {
var jQButton = $('<button></button>'),
attrs = {};
attrs['id'] = buttonDescr.id || XF.utils.uniqueID();
attrs['class'] = buttonDescr['class'] || '';
attrs['name'] = buttonDescr.name || attrs.id;
buttonDescr.small = buttonDescr.small || '';
jQButton.html(buttonDescr.text);
//Set button's attributes
// Icon
if (buttonDescr.icon && buttonDescr.icon !== '') {
attrs['data-icon'] = buttonDescr.icon;
}
// Icon position
if (buttonDescr.iconpos && buttonDescr.iconpos !== '') {
attrs['data-iconpos'] = buttonDescr.iconpos;
}
// Button size
if (buttonDescr.small && buttonDescr.small !== '') {
attrs['data-small'] = buttonDescr.small;
}
// Button appearance
if (buttonDescr.appearance && buttonDescr.appearance !== '') {
attrs['data-appearance'] = buttonDescr.appearance;
}
// Button is special or not
if (buttonDescr.special && buttonDescr.special !== '') {
attrs['data-special'] = buttonDescr.special;
}
// Button is 'alert' or not
if (buttonDescr.alert && buttonDescr.alert !== '') {
attrs['data-alert'] = buttonDescr.alert;
}
jQButton.attr(attrs);
// Set function for button pressed
if (_.isFunction(buttonDescr.handler)) {
jQButton.on('tap', buttonDescr.handler);
}
XF.ui.button.render(jQButton[0]);
return jQButton;
}