Name: RTLtextarea
Owner: Twitter, Inc.
Owner: Twitter Archive
Description: Automatically detects RTL and configures a text input
Created: 2012-12-21 17:35:49.0
Updated: 2018-03-31 01:01:55.0
Pushed: 2015-10-29 21:52:21.0
Size: 394
Language: JavaScript
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
Automatically detects RTL (right-to-left) languages and appropriately configures the text input, without having to manually specify CSS direction
or dir
property on page load. Allows automatic switching between LTR and RTL languages.
This module will set the direction of a textarea to RTL when a threshold
of RTL characters has been reached (rtlThreshold
). It also applies Twitter-
specific RTL rules regarding the placement of @ signs, # tags, and URLs.
Bind keyup and keydown to RTLText.onTextChange
. If you have initial text,
call RTLText.setText(textarea, initial_string)
to set markers on that
initial text.
document).ready(function(){
var $textarea = $('#someTextarea');
$textarea.on('keyup', RTLText.onTextChange);
$textarea.on('keydown', RTLText.onTextChange);
RTLText.setText($textarea.get(0), $textarea.val());
;
When storing or submitting the text, make sure to extract the unicode markers first:
r textToSubmit = RTLText.cleanText($("#someTextarea").val());
Get the length of the text minus the control characters:
r textLength = RTLText.textLength($("#someTextarea").val());
Add markers to a string without affecting the text box:
r stringWithMarkers = RTLText.addRTLMarkers(string);
We use semantic versioning, as described here: http://semver.org/
Releases are numbered and constructed with the following guidelines:
Tests use Jasmine and PhantomJS.
Before running the tests for the first time, install the required packages by typing: npm update
.
After the packages are installed, you can run the tests by typing: npm test
.
Naoki Takano
Esten Hurtle
Copyright 2012 Twitter, Inc.
Licensed under the MIT License