想知道是否有人可以在这里发现我的错误:
我在富文本编辑器中添加了居中对齐和右对齐按钮。两者都工作正常。
但是,使用 align-right 时,它会在编辑器和页面上向右显示,但是当我再次打开编辑器时,右对齐的文本现在居中。如果我点击该文本,中心按钮会显示为选中状态,而不是右对齐按钮 - 如果我在不触摸内容的情况下按下保存,它现在会保存为居中文本。
非常感谢任何帮助。
"""Richtext hooks."""
import wagtail.admin.rich_text.editors.draftail.features as draftail_features
from wagtail.admin.rich_text.converters.html_to_contentstate import (
InlineStyleElementHandler
)
from wagtail.core import hooks
@hooks.register("register_rich_text_features")
def register_centertext_feature(features):
"""Creates centered text in our richtext editor and page."""
feature_name = "center"
type_ = "CENTERTEXT"
tag = "div"
control = {
"type": type_,
"description": "Align Centre",
"label": ">☰<",
"style": {
"display": "block",
"text-align": "center",
},
}
features.register_editor_plugin(
"draftail", feature_name, draftail_features.InlineStyleFeature(control)
)
db_conversion = {
"from_database_format": {tag: InlineStyleElementHandler(type_)},
"to_database_format": {
"style_map": {
type_: {
"element": tag,
"props": {
"class": "d-block text-center"
}
}
}
}
}
features.register_converter_rule("contentstate", feature_name, db_conversion)
features.default_features.append(feature_name)
@hooks.register("register_rich_text_features")
def register_centertext_feature(features):
"""Creates right aligned text in our richtext editor and page."""
feature_name = "right"
type_ = "RIGHTTEXT"
tag = "div"
control = {
"type": type_,
"description": "Align Right",
"label": ">☰",
"style": {
"display": "block",
"text-align": "right",
},
}
features.register_editor_plugin(
"draftail", feature_name, draftail_features.InlineStyleFeature(control)
)
db_conversion = {
"from_database_format": {tag: InlineStyleElementHandler(type_)},
"to_database_format": {
"style_map": {
type_: {
"element": tag,
"props": {
"class": "d-block text-right"
}
}
}
}
}
features.register_converter_rule("contentstate", feature_name, db_conversion)
features.default_features.append(feature_name)