Comments (4)
You need to supply the formatter function as the argument (not a string). E.g:
// E.g. to give a different background color to annotations with multiple bodies
var myFormatterFunction = function(annotation) {
return (annotation.bodies.length > 1) ? "has-multiple-bodies" : "";
}
// ...
var r = Recogito.init({
//...
formatter: myFormatterFunction
});
from recogito-js.
Obviously, you'd be a bit smarter & more efficient in reality, but you get the idea :-)
I wouldn't be so sure about that ;-)
I set the color code as a JSON value when creating the annotation and then send it to the backend. On reload, the customformatter function grabs the code and renders the annotation in the appropriate color.
from recogito-js.
Ah, my bad. Thanks for helping.
Actually, I am looking for a way to set the annotation color based on the author information. The W3C annotations support style information, but I'm not sure if recogito supports that. Otherwise I could add this information in the backend and use the formatter function to customize the rendering.
https://www.w3.org/TR/annotation-model/#styles
Like in example 34 or 35.
How would you solve this?
from recogito-js.
That's right. RecogitoJS doesn't support the W3C style props out of the box. (TBH, I always considered style to be more of an application concern, rather than a data model concern.) But, anyways: the formatter function receives the full annotation as the argument. So you can build the style using whatever annotation properties you want! E.g. if you want to style based on the author, you could simply do something like this:
var creatorFormatter = function(annotation) {
if (annotation.creator === 'http://example.org/user1' {
return { style: 'backgroundColor: red' };
} else if (annotation.creator === 'http://example.org/user1' {
return { style: 'backgroundColor: green' };
} else {
return { style: 'backgroundColor: green' };
}
}
Obviously, you'd be a bit smarter & more efficient in reality, but you get the idea :-)
from recogito-js.
Related Issues (20)
- Possible glitch when reloading annotations HOT 5
- Prevent overlapping annotations HOT 5
- Raise error when double clicking at the end of the paragraph HOT 1
- Unknown file extension ".css" HOT 4
- Not recognizing specific characters such as ยง HOT 2
- Choose annotatable items, not all wrapped items
- ERROR in ./node_modules/@recogito/recogito-js/dist/recogito.min.css HOT 1
- Support for Vue and Typescript? HOT 1
- getAnnotations doesn't work when annotating content in iframe
- Highlighting collapses completely HOT 5
- Two annotations on the exact same piece of text HOT 4
- Tags as buttons HOT 2
- Dropdown closes even if the input has content HOT 3
- Raise external 'cancelAnnotation' event
- "mouseup" event considered even for context menu action HOT 1
- Prevent creation of zero-width SPANs HOT 2
- Rendering highlights becomes painfully slow for longer documents HOT 1
- Autocomplete for relations does not work as intended HOT 1
- Adding read-only mode in the demo
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from recogito-js.