我正致力于在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'));
如果有人想办法只显示注释,其中范围中的文本等于存储的引用。我真的很感激一些见解。谢谢!