2

我正在努力在 Rails 应用程序中实现 AnnotatorJS 库,其中管理员用户能够注释一段内容,而较低级别的用户能够根据注释编辑该内容。但是,我能够以管理员用户身份加载、创建、更新和删除这些注释;当较低级别的用户对那段内容进行编辑时,我遇到了问题。看起来注释器只使用范围来确定注释在哪里可见。例如:

想象一下,加粗的文本是注释,内容为:

Lorem ipsum dolor sit amet , consectetur adipiscing elit。Sed faucibus eget urna sat amet facilisis。Aenean luctus odio vitae sapien malesuada, convallis vehicula ligula egestas。Ut quis neque eget mi hendrerit interdum。Vivamus a accumsan nisi,ac lacinia urna。Duis hendrerit justo a lacini sodales。Phasellus eu maximus elit。

如果用户进入并删除一个单词或删除短语以遵循注释注释的说明,突出显示的注释将向下移动字符串,看起来类似于:

Consectetur adipiscing eli t。Sed faucibus eget urna sat amet facilisis。Aenean luctus odio vitae sapien malesuada, convallis vehicula ligula egestas。Ut quis neque eget mi hendrerit interdum。Vivamus a accumsan nisi,ac lacinia urna。Duis hendrerit justo a lacini sodales。Phasellus eu maximus elit。

理想情况下,我希望注释消失,因为我已经对文本的那个区域进行了编辑。

如需更多参考,以下是我的 rails 模型的结构

# Table name: annotations
#
#  id         :integer          not null, primary key
#  version    :string
#  text       :text
#  quote      :text
#  created_at :datetime
#  updated_at :datetime

# Table name: annotation_ranges
#
#  id                  :integer          not null, primary key
#  annotation_id       :integer
#  start               :string
#  end                 :string
#  start_offset        :integer
#  end_offset          :integer
#  created_at          :datetime
#  updated_at          :datetime

我用来加载注释的 JS,我只是通过 html 数据属性加载它们,这些属性在控制器中定义:

var annotation;

annotation = $('#annotations-body').annotator({
  readOnly: true
});

annotation.annotator('loadAnnotations', $('annotations-body').data('annotations'));

如果有人想出一种方法来仅显示范围中的文本等于存储的引用的注释。我真的很感激一些见解。谢谢!

4

0 回答 0