RTLtextarea

自动检测 RTL 并配置文本输入。「Automatically detects RTL and configures a text input」

  • 所有者: twitter-archive/RTLtextarea
  • 平台:
  • 許可證: MIT License
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

RTLtextarea Build Status

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.

What it does

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.

Before:

before

After:

before

How to use

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:

  var textToSubmit = RTLText.cleanText($("#someTextarea").val());

Get the length of the text minus the control characters:

  var textLength = RTLText.textLength($("#someTextarea").val());

Add markers to a string without affecting the text box:

  var stringWithMarkers = RTLText.addRTLMarkers(string);

Versioning

We use semantic versioning, as described here: http://semver.org/

Releases are numbered and constructed with the following guidelines:

  • Breaking backwards compatibility bumps the major
  • New additions without breaking backwards compatibility bumps the minor
  • Bug fixes and misc changes bump the patch

Testing

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.

Authors

Naoki Takano

Esten Hurtle

License

Copyright 2012 Twitter, Inc.

Licensed under the MIT License

主要指標

概覽
名稱與所有者twitter-archive/RTLtextarea
主編程語言JavaScript
編程語言JavaScript (語言數: 3)
平台
許可證MIT License
所有者活动
創建於2012-12-21 17:35:49
推送於2018-09-14 04:18:09
最后一次提交2015-10-29 14:47:11
發布數1
最新版本名稱v1.0.0 (發布於 2012-12-21 09:43:43)
第一版名稱v1.0.0 (發布於 2012-12-21 09:43:43)
用户参与
星數169
關注者數117
派生數25
提交數54
已啟用問題?
問題數8
打開的問題數2
拉請求數14
打開的拉請求數3
關閉的拉請求數2
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?