blob: 20b925ba5a939d07e1942047d852b00d576f1446 [file] [log] [blame]
/**
* @class button - insert smiley (open dialog window)
*
* @param elRTE rte объект-редактор
* @param String name название кнопки
*
* @author: eSabbath
*
**/
(function($) {
elRTE.prototype.ui.prototype.buttons.smiley = function(rte, name) {
this.constructor.prototype.constructor.call(this, rte, name);
var self = this;
this.img = null;
this.url = this.rte.filter.url+'smileys/';
this.smileys = {
'smile' : 'smile.png',
'happy' : 'happy.png',
'tongue' : 'tongue.png',
'surprised' : 'surprised.png',
'waii' : 'waii.png',
'wink' : 'wink.png',
'evilgrin' : 'evilgrin.png',
'grin' : 'grin.png',
'unhappy' : 'unhappy.png'
};
this.width = 120;
this.command = function() {
var self = this, url = this.url, d, opts, img;
this.rte.browser.msie && this.rte.selection.saveIERange();
opts = {
dialog : {
height : 120,
width : this.width,
title : this.rte.i18n('Smiley'),
buttons : {}
}
}
d = new elDialogForm(opts);
$.each(this.smileys, function(name, img) {
d.append($('<img src="'+url+img+'" title="'+name+'" id="'+name+'" class="el-rte-smiley"/>').click(function() { self.set(this.id, d); }));
});
d.open();
}
this.update = function() {
this.domElem.removeClass('disabled');
this.domElem.removeClass('active');
}
this.set = function(s, d) {
this.rte.browser.msie && this.rte.selection.restoreIERange();
if (this.smileys[s]) {
this.img = $(this.rte.doc.createElement('img'));
this.img.attr({
src : this.url + this.smileys[s],
title : s,
alt : s
});
this.rte.selection.insertNode(this.img.get(0));
this.rte.ui.update();
}
d.close();
}
}
})(jQuery);