(function($) { | |
/** | |
* @class button - right to left direction (not work yet with text nodes in body) | |
* | |
* @param elRTE rte объект-редактор | |
* @param String name название кнопки | |
* | |
* @author: Dmitry Levashov (dio) dio@std42.ru | |
* Copyright: Studio 42, http://www.std42.ru | |
**/ | |
elRTE.prototype.ui.prototype.buttons.rtl = function(rte, name) { | |
this.constructor.prototype.constructor.call(this, rte, name); | |
var self = this; | |
this.command = function() { | |
var n = this.rte.selection.getNode(), self = this; | |
if ($(n).attr('dir') == 'rtl' || $(n).parents('[dir="rtl"]').length || $(n).find('[dir="rtl"]').length) { | |
$(n).removeAttr('dir'); | |
$(n).parents('[dir="rtl"]').removeAttr('dir'); | |
$(n).find('[dir="rtl"]').removeAttr('dir'); | |
} else { | |
if (this.rte.dom.is(n, 'textNodes') && this.rte.dom.is(n, 'block')) { | |
$(n).attr('dir', 'rtl'); | |
} else { | |
$.each(this.rte.dom.parents(n, 'textNodes'), function(i, n) { | |
if (self.rte.dom.is(n, 'block')) { | |
$(n).attr('dir', 'rtl'); | |
return false; | |
} | |
}); | |
} | |
} | |
this.rte.ui.update(); | |
} | |
this.update = function() { | |
var n = this.rte.selection.getNode(); | |
this.domElem.removeClass('disabled'); | |
if ($(n).attr('dir') == 'rtl' || $(n).parents('[dir="rtl"]').length || $(n).find('[dir="rtl"]').length) { | |
this.domElem.addClass('active'); | |
} else { | |
this.domElem.removeClass('active'); | |
} | |
} | |
} | |
/** | |
* @class button - left to right direction (not work yet with text nodes in body) | |
* | |
* @param elRTE rte объект-редактор | |
* @param String name название кнопки | |
* | |
* @author: Dmitry Levashov (dio) dio@std42.ru | |
* Copyright: Studio 42, http://www.std42.ru | |
**/ | |
elRTE.prototype.ui.prototype.buttons.ltr = function(rte, name) { | |
this.constructor.prototype.constructor.call(this, rte, name); | |
var self = this; | |
this.command = function() { | |
var n = this.rte.selection.getNode(), self = this; | |
if ($(n).attr('dir') == 'ltr' || $(n).parents('[dir="ltr"]').length || $(n).find('[dir="ltr"]').length) { | |
$(n).removeAttr('dir'); | |
$(n).parents('[dir="ltr"]').removeAttr('dir'); | |
$(n).find('[dir="ltr"]').removeAttr('dir'); | |
} else { | |
if (this.rte.dom.is(n, 'textNodes') && this.rte.dom.is(n, 'block')) { | |
$(n).attr('dir', 'ltr'); | |
} else { | |
$.each(this.rte.dom.parents(n, 'textNodes'), function(i, n) { | |
if (self.rte.dom.is(n, 'block')) { | |
$(n).attr('dir', 'ltr'); | |
return false; | |
} | |
}); | |
} | |
} | |
this.rte.ui.update(); | |
} | |
this.update = function() { | |
var n = this.rte.selection.getNode(); | |
this.domElem.removeClass('disabled'); | |
if ($(n).attr('dir') == 'ltr' || $(n).parents('[dir="ltr"]').length || $(n).find('[dir="ltr"]').length) { | |
this.domElem.addClass('active'); | |
} else { | |
this.domElem.removeClass('active'); | |
} | |
} | |
} | |
})(jQuery); |