angular-text-input-highlight
v1.4.3
Published
A component that can highlight parts of text in a textarea. Useful for displaying mentions etc
Downloads
8,600
Maintainers
Readme
angular text input highlight
Demo
https://mattlewis92.github.io/angular-text-input-highlight/
Table of contents
About
A component that can highlight parts of text in a textarea. Useful for displaying mentions etc
Installation
Install through npm:
npm install --save angular-text-input-highlight
Include the stylesheet somewhere in your app:
node_modules/angular-text-input-highlight/text-input-highlight.css
Then include in your apps module:
import { NgModule } from '@angular/core';
import { TextInputHighlightModule } from 'angular-text-input-highlight';
@NgModule({
imports: [
TextInputHighlightModule
]
})
export class MyModule {}
Finally use in one of your apps components:
import { Component, ViewEncapsulation } from '@angular/core';
import { HighlightTag } from 'angular-text-input-highlight';
@Component({
template: `
<div mwlTextInputHighlightContainer>
<textarea
mwlTextInputElement
[(ngModel)]="text"
#textarea>
</textarea>
<mwl-text-input-highlight
[tags]="tags"
[textInputElement]="textarea">
</mwl-text-input-highlight>
</div>
`,
styles: [
`
// by default you won't see the highlighted tags until
// you add a CSS class with a background color
.bg-blue {
background-color: lightblue;
}
.bg-pink {
background-color: lightcoral;
}
`
],
encapsulation: ViewEncapsulation.None
})
class MyComponent {
text = 'this is some text';
tags: HighlightTag[] = [{
indices: { start: 8, end: 12 },
cssClass: 'bg-blue',
data: { user: { id: 1 } }
}];
}
You may also find it useful to view the demo source.
Usage without a module bundler
<script src="node_modules/angular-text-input-highlight/bundles/angular-text-input-highlight.umd.js"></script>
<script>
// everything is exported angularTextInputHighlight namespace
</script>
Documentation
All documentation is auto-generated from the source via compodoc and can be viewed here: https://mattlewis92.github.io/angular-text-input-highlight/docs/
Credits
This component borrows heavily from the ideas of the ui-mention package.
Development
Prepare your environment
- Install Node.js and NPM
- Install local dev dependencies:
npm install
while current directory is this repo
Development server
Run npm start
to start a development server on port 8000 with auto reload + tests.
Testing
Run npm test
to run tests once or npm run test:watch
to continually run tests.
Release
npm run release
License
MIT