在Rails中使用AnnotatorJS动态内容

时间:2017-02-13 18:10:49

标签: javascript ruby-on-rails annotations annotatorjs

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

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

  

Lorem ipsum dolor sit amet ,consectetur adipiscing elit。 Sed faucibus eget urna坐在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 lacinia sodales。 Phasellus eu maximus elit。

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

  

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

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

有关更多参考,以下是我的导轨模型的结构

# 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'));

如果有人想办法只显示注释,其中范围中的文本等于存储的引用。我真的很感激一些见解。谢谢!

0 个答案:

没有答案