Skip to content

mikyaj/ngx-rough-notation

Repository files navigation

Angular wrapper for Rough Notation library

This is an Angular wrapper for rough-notation, a small JavaScript library to create and animate annotations on a web page.

Demo

You can play around with the demo here.

Installation

Install rough-notation, which is peer dependency to this wrapper.

npm install --save rough-notation

Install wrapper.

npm install --save ngx-rough-notation

Import wrapper module into your app mobule

import { RoughNotationModule } from 'ngx-rough-notation';

RoughNotation Component

Usage

<rough-notation type="underline" [show]="true">
  Hello I am a notation
</rough-notation>

Properties

type

This is a mandatory field. It sets the annotation style. Following are the list of supported annotation types:

  • underline: This style creates a sketchy underline below an element.
  • box: This style draws a box around the element.
  • circle: This style draws a circle around the element.
  • highlight: This style creates a highlight effect as if marked by a highlighter.
  • strike-through: This style draws horizontal lines through the element.
  • crossed-off: This style draws an 'X' across the element.

animate

Boolean property to turn on/off animation when annotating. Default value is true.

animationDuration

Duration of the animation in milliseconds. Default is 800ms.

color

String value representing the color of the annotation sketch. Default value is currentColor.

strokeWidth

Width of the annotation strokes. Default value is 1.

padding

Padding between the element and roughly where the annotation is drawn. Default value is 5 (in pixels). If you wish to specify different top, left, right, bottom paddings, you can set the value to an array akin to CSS style padidng [top, right, bottom, left] or just [top & bottom, left & right].

multiline

This property only applies to inline text. To annotate multiline text (each line separately), set this property to true.

iterations

By default annotations are drawn in two iterations, e.g. when underlining, drawing from left to right and then back from right to left. Setting this property can let you configure the number of iterations.

brackets

Value could be a string or an array of strings, each string being one of these values: left, right, top, bottom. When drawing a bracket, this configures which side(s) of the element to bracket. Default value is right.

show

This boolean value hide/show the annotation. By default set to false.

RoughNotation Group Component

This is a wrapper for multiple annotations, it will trigger the show() method on every child annotation.

Usage

<rough-notation-group [show]="true">
  <rough-notation type="circle" color="#f57f17">
    Circle
  </rough-notation>
  <rough-notation type="highlight" color="#fff176">
    Highlight
  </rough-notation>
</rough-notation-group>

Properties

show

This boolean value hide/show the annotations. By default set to false.

TODO

  • Testing