ngx-group-by-alphabetes

Angular library - Group your list alphabetically.

It has two way to display list

Note :- Sorting will be done within the component with ascending order(A-Z).

Install

npm install ngx-group-by-alphabetes --save

Usage

Param Type Details
input array array of string or object to group alphabetically.
sortKey string Sort key is required for input type array.

Events

Import GroupByAlphabetesModule module to your app.module.ts

import { NgModule } from '@angular/core';
import { BrowserModule  } from '@angular/platform-browser';
import { AppComponent } from './app';

import { GroupByAlphabetesModule } from 'ngx-group-by-alphabetes';

@NgModule({
  imports: [BrowserModule, GroupByAlphabetesModule],
  declarations: [AppComponent],
  bootstrap: [AppComponent]
})
export class AppModule {}

Without Sort Key (Array of Strings) Input is array or string. For this type sortKey is not required.

In HTML template

<group-by-alphabetes [input]="input" (itemClick)="obj = $event"></group-by-alphabetes>

In Compontent

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  input = ["John", "Mary", "Mike", "Julie", "Adam"];
}

With Sort Key (Array of Objects) Input is array or objects. For this type sortKey is required.

In HTML template

<group-by-alphabetes [input]="input" [sortKey]="sortKey" (itemClick)="obj = $event"></group-by-alphabetes>

In Compontent

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  input = [{"name": "John"}, {"name": "Mary"}, {"name": "Mike"}, {"name": "Julie"}, {"name": "Adam"}];
  sortKey = 'name';
}

CSS

You can apply your custom CSS to list item and header. alphabete-value class for list item and alphabete-header class for header. Add this CSS classes into style.css.

License

MIT © Kaustubh Khare