https://mattlewis92.github.io/angular-text-input-highlight/
A component that can highlight parts of text in a textarea. Useful for displaying mentions etc
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.
<script src="node_modules/angular-text-input-highlight/bundles/angular-text-input-highlight.umd.js"></script>
<script>
// everything is exported angularTextInputHighlight namespace
</script>
All documentation is auto-generated from the source via compodoc and can be viewed here: https://mattlewis92.github.io/angular-text-input-highlight/docs/
This component borrows heavily from the ideas of the ui-mention package.
npm install
while current directory is this repoRun npm start
to start a development server on port 8000 with auto reload + tests.
Run npm test
to run tests once or npm run test:watch
to continually run tests.
npm run release
MIT