In the development process of AngularJS apps, we often have to choose between creating new modules or components in the interactive web applications that only appear once or twice. And developers spend the majority of their time on features that are critical to the principal goal of the web applications and are sometimes dependant on them.
Angular is an open-source web application framework in JavaScript which was developed by Google. It's used to build dynamic single-page scalable web applications (SPAs) and supports the development of cross-platform and visually appealing applications. Angular uses typescript and provides built in features like Object-oriented programming.
An Angular Library is a predetermined set of modules, components, directives, or pipelines that someone created for their own and others' use. Developers incorporate these libraries into their Angular apps to accelerate web development. Libraries may contain CSS modules, other prefabricated components, or anything else that aids in development.
As web applications get on the desk for development some basic libraries are mostly used in application.
1. NGX Bootstrap
2. NGX-Toastr
3. PrimeNG
4. Angular-material
5. Ng-Select
6. PDF.JS viewer
7. NGX-Store
Ngx-bootstrap is an open-source component library of Angular. It provides multiple components of Bootstrap. Using this library, users can easily style bootstrap components. Unlike directly using Bootstrap’s JavaScript code, ngx-bootstrap wraps Bootstrap components as Angular components for smoother and seamless integration.
Steps to be followed:
Write below the command to install ngx-bootstrap
npm install ngx-bootstrap bootstrap --save
To include ngx-bootstrap components in your Angular project, we add them to the main module. We begin by importing the module for a specific component and then stating it in the @NgModule
Alert Component: Add an alert component in your app.module
import { AlertModule} from 'ngx-bootstrap';
@NgModule({
...
imports: [AlertModule.forRoot(), ... ],
...
})
Now declare the bootstrap CSS file in the styles array of Angular.Json file
"styles": [
"src/styles.scss",
"node_modules/animate.css/animate.min.css",
"node_modules/bootstrap/dist/css/bootstrap.min.css"
],
Add the following code in src/app/app.component.html to display an alert.
<alert type="success">Welcome To ngx-bootstrap</alert>
NGX-Toaster is an incredibly useful tool for Angular applications that makes it easy to add small pop-up messages, called toast notifications. The Angular Toast is a small notification that appears at the bottom of a chosen spot on the screen. It shows a message and disappears automatically after a few seconds.
You can show your notification message in any place and add custom animation to your toaster. However, rather than constructing a bespoke NGX-Toaster, utilise the built-in NGX-Toaster.
Assume you are logged in to the website. After successfully logging in, we get a notice that informs the user that you logged in successfully. This message was produced by the NGX-Toastr.
Steps to be followed:
Write below the command to install ngx-bootstrap
npm install ngx-bootstrap bootstrap --save
To include ngx-bootstrap components in your Angular project, we add them to the main module. We begin by importing the module for a specific component and then stating it in the @NgModule
import { AlertModule} from 'ngx-bootstrap';
@NgModule({
...
imports: [AlertModule.forRoot(), ... ],
...
})
Now declare the bootstrap CSS file in the styles array of Angular.Json file
"styles": [
"src/styles.scss",
"node_modules/animate.css/animate.min.css",
"node_modules/bootstrap/dist/css/bootstrap.min.css"
],
Add the following code in src/app/app.component.html to display an alert.
<alert type="success">Welcome To ngx-bootstrap</alert>
NGX-Toaster is an incredibly useful tool for Angular applications that makes it easy to add small pop-up messages, called toast notifications. The Angular Toast is a small notification that appears at the bottom of a chosen spot on the screen. It shows a message and disappears automatically after a few seconds.
You can show your notification message in any place and add custom animation to your toaster. However, rather than constructing a bespoke NGX-Toaster, utilise the built-in NGX-Toaster.
Assume you are logged in to the website. After successfully logging in, we get a notice that informs the user that you logged in successfully. This message was produced by the NGX-Toastr.
Steps to be followed:
Use below the command to install the Toastr
npm install ngx-toastr --save
Add CSS to Angular.json
"styles": [
"styles.scss",
"node_modules/ngx-toastr/toastr.css"
]
Add ToastrModule to the app's NgModule, or provide Toastr to providers. Also, make sure you have BrowserAnimationsModule (or provideAnimations).
import { CommonModule } from '@angular/common';
import { BrowserAnimationsModule } from
'@angular/platform-browser/animations';
import { ToastrModule } from 'ngx-toastr';
@NgModule({
imports: [
CommonModule,
BrowserAnimationsModule, // required animations module
ToastrModule.forRoot(), // ToastrModule added
],
bootstrap: [App],
declarations: [App],
})
class MainModule {}
In your app.component.ts create the toaster
import { ToastrService } from 'ngx-toastr';
@Component({...})
export class YourComponent {
constructor(private toastr: ToastrService) {}
showSuccess() {
this.toastr.success('Hello world!', 'Toastr fun!');
}
}
Note: Normally using toaster we can make building web applications easier and more readable
Angular PrimeNG is a free framework that includes several ready-to-use Angular UI components. It allows you to simply construct elegant, responsive and high performance websites. PrimeNG makes it easier to work with numerous UI components, such as panels, overlays, menus, and charts.
Consider having a comprehensive collection of tools in one box that allows effortless web development. That is PrimeNG for Angular. It simplifies the process of building user interfaces by including a large number of components. Whether you want to integrate interactive forms, show data in tables, or visualise complex data with charts, PrimeNG has you covered. It's not just about convenience; it's about making Angular development fun and efficient.
Steps to be followed:
Write below the command for installing priming and its icon
npm install primeng@12.0.1 primeicons@4.1.0
Add style to angular.json
...
"styles": [
"styles.css",
"node_modules/font-awesome/css/font-awesome.min.css",
"node_modules/primeng/resources/primeng.min.css",
"node_modules/primeng/resources/themes/saga-blue/theme.css"
],
...
After making changes to the angular.json configuration file, remember to restart your local server.
After adding the style to the angular.json file, Now import the needed UI elements in your app.module.ts file
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { FormsModule } from '@angular/forms';
import { AccordionModule } from 'primeng/accordion';
import { PanelModule } from 'primeng/panel';
import { ButtonModule } from 'primeng/button';
import { RadioButtonModule } from 'primeng/radioButton';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
BrowserAnimationsModule,
FormsModule,
AccordionModule,
PanelModule,
ButtonModule,
RadioButtonModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Angular Material is one of the UI-based Angular component libraries that provides a theme full of components for application. These components are developed to make components reusable and tested.
Well-developed components with proper testing. Angular material design provides UI components from the component library that are useful for basic tasks of Angular applications. Also, provides tools, allowing developers build their custom components with common patterns of user interactions.
Let’s see how we can use Angular material
Use Angular CLI for the installation of material, use the command
ng add @angular/material
ng Add Command Install Angular Material, the Component Dev Kit (CDK), and Angular Animations, and then ask some questions about theme customization and features like select theme or add customized theme. Create global angular typography.
Import BrowserAnimationsModule in the application to enable animation
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
@NgModule({
imports: [
BrowserModule,
BrowserAnimationsModule
],
declarations: [ ],
bootstrap: [ ]
})
export class AppModule { }
Now simply import the required modules and use them for ref follow: [https://material.angular.io/guide/getting-started].
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
@NgModule ({
imports: [
MatSlideToggleModule,
]
})
class AppModule {}
Use its selector in .html
<mat-slide-toggle>Toggle me!</mat-slide-toggle>
As an Angular-material for angular means angular from 2.0 to onwards like this for AngularJs or Angular JS 1.0 version there is an angularJs-material library [https://material.angularjs.org/latest].
Ng-Select provides one or multiple functionality in one place. It provides drop down components.
We see developing a drop down in angular is an easy task so why not ng-select?
Ng select provides a lightweight component with features like autocomplete, search in the drop down, custom binding for values as well as labels, infinite scroll, Grouping of data, and many more.
As the angular-material ng-select also provides a theme-based user interfaces. Its output events will help to manage development or help in dynamic development.
Here is a list of events:
Also, there is a vast list of APIs that are provided in ng-select, let's see some of them
A. bindValue - set value to bind in dropdown from the object.
B. bindLabel - set labels to show in the dropdown
C. items - takes item array
D. multiple - for allowing multiple selection
These are the fundamental details. Let's dive into how to use it.
Add the package to the application
Using npm,
npm install --save @ng-select/ng-select
Using Yarn,
yarn add @ng-select/ng-select
Add Module in the app module
import { NgSelectModule } from '@ng-select/ng-select';
import { FormsModule } from '@angular/forms';
@NgModule({
declarations: [AppComponent],
imports: [NgSelectModule, FormsModule],
bootstrap: [AppComponent]
})
export class AppModule {}
Import theme
@import "~@ng-select/ng-select/themes/default.theme.css";
// ... or
@import "~@ng-select/ng-select/themes/material.theme.css";
Use it in a component in component.html
<!--Using ng-option and for loop-->
<ng-select [(ngModel)]="selectedCar">
<ng-option *ngFor="let car of cars" [value]="car.id">{{car.name}}</ng-option>
</ng-select>
<!--Using items input-->
<ng-select [items]="cars"
bindLabel="name"
bindValue="id"
[(ngModel)]="selectedCar">
</ng-select>
In component.ts,
@Component({...})
export class ExampleComponent {
selectedCar: number;
cars = [
{ id: 1, name: 'Volvo' },
{ id: 2, name: 'Saab' },
{ id: 3, name: 'Opel' },
{ id: 4, name: 'Audi' },
];
}
Now you are ready to use it.
In most applications that deal with billing, invoices, or banking-related related or such an application where a users need to see a PDF that he uploaded or is available on the app, users need a proper window to view. Here PDFJs Viewer library helps a lot!
It is Embed Mozilla's PDF.js viewer into your angular application. It is a directive that embeds the full viewer, which allows you to scroll through the PDF. It looks the same as a PDF Viewer on a PC.
PDF.Js Viewer gives options like pagination, download option for files, zoom controller, search, and many more options.
Installation
npm install angular-pdfjs-viewer --save
Import module:
Use it in component
<pdfjs-viewer src="{{ src }}"></pdfjs-viewer>
It's now ready to go and this is how a PDF looks after efficient rendering of a component.
So far, we have seen popular libraries linked to user interface or graphics. Let's discuss about component libraries used for business logic. In every application store, some values are saved for future use or to assist users when browsing. In this way, each developer creates a getter and setter for such values, and it is not time-consuming to write the same code for each use.
Ngx-store helps web developers manage this in the application by providing decorators and services for managing cookies, sessions and localStorage storages.
Let's see how this works.
Just define variables with decorators provided by ngx store and it works like a method for getter and setter.
Example@LocalStorage() User:String = JSON.Stringify(User);
It stores User in localstorage with a key named User
By using the below command you can Install NGX-Store,
ng add ngx-store
Import module in app.module.ts
import { NgModule } from '@angular/core';
import { WebStorageModule } from 'ngx-store';
@NgModule({
imports: [
WebStorageModule.forRoot(),
],
})
export class AppModule {}
Now use it in the component
import { CookieStorage, LocalStorage, SessionStorage } from 'ngx-store';
export class MySuperComponent {
// it will be stored under ${prefix}viewCounts name
@LocalStorage() viewCounts: number = 0;
// this under name: ${prefix}differentLocalStorageKey
@LocalStorage('differentLocalStorageKey') userName: string = '';
// it will be stored under ${prefix}itWillBeRemovedAfterBrowserClose in session storage
@SessionStorage({key: 'itWillBeRemovedAfterBrowserClose'}) previousUserNames: Array<string> = [];
//It will be read from cookie 'user_id' (can be shared with the backend) and saved to localStorage and cookies after the change
@LocalStorage() @CookieStorage({prefix: '', key: 'user_id'}) userId: string = '';
// it will be stored in a cookie named ${prefix}user_workspaces for 24 hours
@CookieStorage({key: 'user_workspaces', expires: new Date(new Date().getTime() + 24 60 60 * 1000)}) userWorkspaces = [];
//The value will be transferred from localStorage's "location" key
@LocalStorage({key: 'myLocation', migrateKey: 'location'}) myLocation: string = '';
constructor() {
this.viewCounts++;
this.userName = 'some name stored in localstorage';
this.previousUserNames.push(this.userName);
for (let userName of this.previousUserNames) {
console.log(userName);
}
this.previousUserNames.map(userName => userName.split('').reverse().join(''));
}
}
It will boost development and make it better to code.
Building a component libraries with Angular CLI is easy just follow some steps and test every possibility of code then publish for other developers.
The steps are as follows :
ng generate library my-lib
ng build my-lib --configuration development
ng test my-lib
ng lint my-lib
Here my-lib is the library name named your library name
ng build my-lib
cd dist/my-lib
npm publish
Check more about building Angular libraries in the official extensive documentation [https://angular.io/guide/creating-libraries]
Angular Libraries will play the most important role in developing user friendly, complex applications and provide enhanced functionality. Libraries look like the backbone of every development. Their modular architecture helps experienced developers to develop reusable components and reduces the repetition of code.
With libraries, development gets easier and faster. There are many libraries But it is harder to select the correct JavaScript library according to the requirements of Angular developers. As looking toward angular Libraries power it opens the door to all possibilities, steps toward greater flexibility and creativity.
This website uses cookies to analyze website traffic and optimize your website experience. By continuing, you agree to our use of cookies as described in our Privacy Policy.