ngx-truncate-text
This module is for shortening the text and also includes some useful features for text manipulation.
see demo on stackblitz. in developing ...
install:
npm i ngx-truncate-text
then import it to app.module.ts.
import {NgxTruncateTextModule } from '@exir/ngx-truncate-text';
@NgModule({
declarations: [...],
imports: [
...
NgxTruncateTextModule
],
providers: [...],
bootstrap: [...]
})
export class AppModule { }
and then use it in html (simplest use) :
<p ngxTruncateText number="50" more="show" less="hide">
John Griffith London (1876 – 1916) was an American novelist, journalist, and social activist. A pioneer of commercial fiction and American magazines.
</p>
property | description | type | version |
---|---|---|---|
less | A word is displayed before the text is shortened | string | 1.0.0 |
more | A word is displayed after the text is shortened | string | 1.0.0 |
number | Number of characters to display | number | 1.0.0 |
completeWord | It prevents word break when shortening text on a part of the word. | boolean | 1.1.0+ |
hashtag | finds hashtag in text (any language, zero-width non-joiner is considered.) | boolean | 2.0.0+ |
hasLiteral | If you want to see the text as it is (including "\ r", "\ n", "\ t"), use this feature | boolean | 2.1.0+ |
highlightList | highlight some word in favorite color | string | 3.0.0 |
highlightCondition | This feature determines whether any similar word in your list found in the text will be highlighted or will find and highlight exactly the same words in the list. | string | 3.0.0 |
Note:
- default color for toggle button is #ff00ff and cursor style is pointer , if you want to use custom style, use the builtin
.toggleText
class..toggleText{ color: aqua !important; font-size:14px; font-style: italic; }
- default color for hashtags is #1b95e0 (from twitter), if you want to use custom style, use the builtin
.hashtag
class. befor sending highlightList to directive, you must stringify it.
in ts:`
q = [ { name: 'juven', color: 'lightgreen' }, { name: 'istia', color: 'pink' }, { name: 'Cristiano', color: 'orange' }, { name: 'neymar', color: 'lightblue' }, { name: 'Brazil', color: 'yellow' } ];queryHighlight = JSON.stringify(this.q);
in html:
{{news}}
``` - for find and highlight exactly the word use the ```[highlightCondition]="exactly"```. Without this condition, similar words will be highlighted. ```{{news}}
``` - you can send the highlight list as array of string, the list is colored with yellow (default color). ``` q3 = ["aiming","france","ran"]; queryHighlight = JSON.stringify(this.q3); ```