ys-angular-mentions
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

Angular Mentions - YouSource fork

Forked from francisvgi/fvi-angular-mentions

Angular mentions inspired by Ment.io.

Provides auto-complete suggestions for @mentions in text input fields, text areas, and content editable fields. Not fully browser tested and comes without warranty!

git clone https://github.com/yousource/ys-angular-mentions.git cd angular-mentions ng serve

Usage

Add the package as a dependency to your project using:

npm install --save ys-angular-mentions

Add the CSS to your index.html:

<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">

Add the module to your app.module imports:

import { MentionModule } from 'fvi-angular-mentions/mention';
...

@NgModule({
    imports: [ MentionModule ],
    ...
})

Add the [mentions] directive to your input element:

<input type="text" [mentions]="mentionItems">

Where mentionItems is an an array of MentionItem:

mentionItems: Array<MentionItem> = [
    {
      items: {"jerry", "ben", "tom"},
      triggerChar: '@',
      mentionSelect: formatMention
    },
    {
      items: {"happy", "sad", "trending"},
      triggerChar: '#',
    },
    {
      items: [
        {
          id: 1,
          name: "community_A"
        },
        {
          id: 2,
          name: "community_B"
        }
      ],
      labelKey: "name",
      triggerChar: "~"
    }
  ];

Configuration Options

export interface MentionItem {

  // The list of items to be searched on.
  items: Array<{}>;

  // the character that will trigger the menu behavior
  triggerChar: string;

  // option to specify the field in the objects to be used as the item label
  labelKey?: string;

  // option to limit the number of items shown in the pop-up menu
  maxItems?: number;

  // option to diable internal filtering. can be used to show the full list returned
  // from an async operation (or allows a custom filter function to be used - in future)
  disableSearch?: boolean;

  // template to use for rendering list items
  mentionListTemplate?: TemplateRef<any>;

  // internal use
  searchList?: MentionListComponent;
  
  // optional function to format the selected item before inserting the text
  selectMention?: any;

  // optional feature to show the dropdown upwards
  dropUp?: boolean;
}

Output Events

  • (searchTerm)="" event emitted whenever the search term changes. Can be used to trigger async search.

  • (selectedTerm)="" event emitted whenever a term is selected.

THANKS TO DESSALINES (https://github.com/dessalines/angular-mentions) AND DMACFARLANE(https://github.com/dmacfarlane/angular-mentions).

Package Sidebar

Install

npm i ys-angular-mentions

Weekly Downloads

0

Version

1.1.0

License

MIT

Unpacked Size

82.1 kB

Total Files

24

Last publish

Collaborators

  • francisvgi