Packages
nitro
1.4.0
11.4.16
11.4.15
11.4.14
9.9.7
9.9.6
8.2.4
8.2.3
8.2.2
8.2.1
8.2.0
7.12.1
7.10.0
7.9.3
7.9.2
7.9.1
7.9.0
7.8.3
7.8.2
7.8.0
7.7.1
7.7.0
7.6.2
7.6.1
7.6.0
7.5.0
7.4.2
7.4.1
7.4.0
7.2.1
7.2.0
7.1.1
7.1.0
6.12.0
6.11.11
6.11.10
6.11.9
6.11.8
6.11.7
6.11.6
6.11.4
6.11.2
6.11.1
6.10.9
6.10.8
6.10.7
6.10.6
6.10.5
6.10.4
6.10.3
6.10.2
6.10.1
6.9.1
6.6.1
6.5.0
6.4.4
6.4.3
6.4.2
6.4.1
6.4.0
5.12.4
5.12.3
5.12.2
5.12.1
5.12.0
5.11.1
5.11.0
5.9.2
5.9.1
5.8.5
5.8.4
5.8.3
5.8.1
5.8.0
5.6.1
5.5.1
5.4.3
5.4.2
5.4.1
5.3.1
5.3.0
5.2.1
5.1.7
5.1.6
5.1.5
5.1.4
5.1.3
5.1.2
5.1.1
4.12.11
4.12.10
4.12.9
4.12.8
4.12.7
4.12.6
4.12.5
4.12.4
4.12.3
4.12.2
4.12.1
4.12.0
4.11.13
4.11.12
4.11.11
4.11.10
4.11.9
4.11.8
4.11.7
4.11.6
4.11.5
4.11.4
4.11.3
4.11.2
4.11.1
4.11.0
4.10.9
4.10.8
4.10.7
4.10.6
4.10.5
4.10.4
4.10.3
4.10.2
4.10.1
4.10.0
4.7.7
4.7.4
4.7.3
4.7.2
4.7.1
4.7.0
4.4.1
4.4.0
1.4.0
NITRO Nitrogen Web Framework
Current section
Files
Jump to
Current section
Files
priv/js/plugins/textexpander/textexpander.js
(function($)
{
$.Redactor.prototype.textexpander = function()
{
return {
init: function()
{
if (!this.opts.textexpander) return;
this.$editor.on('keyup.redactor-limiter', $.proxy(function(e)
{
var key = e.which;
if (key == this.keyCode.SPACE)
{
var current = this.textexpander.getCurrent();
var cloned = $(current).clone();
var $div = $('<div>');
$div.html(cloned);
var text = $div.html();
$div.remove();
var len = this.opts.textexpander.length;
var replaced = 0;
for (var i = 0; i < len; i++)
{
var re = new RegExp(this.opts.textexpander[i][0]);
if (text.search(re) != -1)
{
replaced++;
text = text.replace(re, this.opts.textexpander[i][1]);
$div = $('<div>');
$div.html(text);
$div.append(this.selection.getMarker());
var html = $div.html().replace(/ /, '');
$(current).replaceWith(html);
$div.remove();
}
}
if (replaced !== 0)
{
this.selection.restore();
}
}
}, this));
},
getCurrent: function()
{
var selection
if (window.getSelection) selection = window.getSelection();
else if (document.selection && document.selection.type != "Control") selection = document.selection;
if (this.utils.browser('mozilla'))
{
return selection.anchorNode.previousSibling;
}
else
{
return selection.anchorNode;
}
}
};
};
})(jQuery);