Wagtail:如何将Draftail Editor的文本方向设置为RTL

时间:2018-12-14 08:01:05

标签: wagtail

在w管理RichTextField()中,我需要支持RTL语言。 我看到Draftail它通过textDirectionality自我支持。

在wagtail RichTextField()中添加RTL支持的最佳方法是什么?

Here,Wagtail文档建议使用register_rich_text_features挂钩来限制编辑器的功能。但是我找不到有关向其添加textDirectionality的任何信息。

1 个答案:

答案 0 :(得分:2)

文本方向性将基于编辑器中的字符。因此,您无需执行任何操作。 Draftail是Draft.js,Draft.js文档说:

  

textDirectionality ?: DraftTextDirectionality

     

(可选)为此编辑器设置覆盖文本的方向性。这些值包括从右到左的文本(如希伯来语或阿拉伯语)的“ RTL”和从左到右的文本(如英语或西班牙语)的“ LTR”。无论输入文本的默认文本方向如何,此方向性都将应用于整个内容。

     

如果未设置此值,则文本方向性将基于编辑器中的字符(逐块)。

来源:https://draftjs.org/docs/api-reference-editor.html#textdirectionality

我检查了

Draftail

目前,除功能外,所有选项均被忽略。参见Wagtail源代码wagtail / admin / rich_text / editors / draftail / __ init __。py:20

   public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        DataGridViewCheckBoxColumn CheckboxColumn = new DataGridViewCheckBoxColumn();
        CheckboxColumn.TrueValue = true;
        CheckboxColumn.FalseValue = false;
        dataGridView1.Columns.Add(CheckboxColumn);
        dataGridView1.Rows.Add(4);
    }

    private void chkItems_CheckedChanged(object sender, EventArgs e)
    {
        foreach (DataGridViewRow row in dataGridView1.Rows)
        {
            DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)row.Cells[0];
            if (chk.Value == chk.FalseValue || chk.Value == null)
            {
                chk.Value = chk.TrueValue;
            }
            else
            {
                chk.Value = chk.FalseValue;
            }
    enter code here
        }
        dataGridView1.EndEdit();
    }
}

如果需要更多控制,则始终可以覆盖小部件模板。参见wagtail/admin/templates/wagtailadmin/widgets/draftail_rich_text_area.html