Browse Source

Merge pull request #108 from BrambleXu/enhancement/emoji-support

Correct emoji length calculation
pull/111/head
Hiroki Nakayama 6 years ago
committed by GitHub
parent
commit
f06635c82f
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 7 deletions
  1. 5
      README.md
  2. 10
      app/server/static/js/sequence_labeling.js

5
README.md

@ -52,13 +52,14 @@ git push heroku master
## Features
* Collaborative annotation
* Language independent
* Multi-Language support
* Emoji :smile: support
* (future) Auto labeling
## Requirements
* Python 3.6+
* django 2.0.5+
* Django 2.1.7+
* Google Chrome(highly recommended)
## Installation

10
app/server/static/js/sequence_labeling.js

@ -16,7 +16,7 @@ Vue.component('annotator', {
v-if="id2label[r.label]"\
v-bind:class="{tag: id2label[r.label].text_color}"\
v-bind:style="{ color: id2label[r.label].text_color, backgroundColor: id2label[r.label].background_color }"\
>{{ text.slice(r.start_offset, r.end_offset) }}<button class="delete is-small"\
>{{ [...text].slice(r.start_offset, r.end_offset).join(\'\') }}<button class="delete is-small"\
v-if="id2label[r.label].text_color"\
@click="removeLabel(r)"></button></span>\
</div>',
@ -41,15 +41,15 @@ Vue.component('annotator', {
const preSelectionRange = range.cloneRange();
preSelectionRange.selectNodeContents(this.$el);
preSelectionRange.setEnd(range.startContainer, range.startOffset);
start = preSelectionRange.toString().length;
end = start + range.toString().length;
start = [...preSelectionRange.toString()].length;
end = start + [...range.toString()].length;
} else if (document.selection && document.selection.type !== 'Control') {
const selectedTextRange = document.selection.createRange();
const preSelectionTextRange = document.body.createTextRange();
preSelectionTextRange.moveToElementText(this.$el);
preSelectionTextRange.setEndPoint('EndToStart', selectedTextRange);
start = preSelectionTextRange.text.length;
end = start + selectedTextRange.text.length;
start = [...preSelectionTextRange.text].length;
end = start + [...selectedTextRange.text].length;
}
this.startOffset = start;
this.endOffset = end;

Loading…
Cancel
Save