Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
ng6-popup-boxes
Advanced tools
NOTE : Tested with Angular v6.0.0 and Angular-Cli v6.0.0.
Install ng6-popup-boxes using npm:
$ npm install ng6-popup-boxes --save
Add PopupBoxesModule into your AppModule class. app.module.ts would look like this: Take Note : For Toastr Animations working perfectly please import BrowserAnimationsModule into app.module.ts file.
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { PopupBoxesModule } from 'ng6-popup-boxes';
@NgModule({
declarations: [AppComponent],
imports: [BrowserModule, BrowserAnimationsModule, PopupBoxesModule.forRoot()],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {}
Inject 'PopupManager' class in your component class.
import { Component } from '@angular/core';
import { PopupManager } from './ng6-popup-boxes';
@Component({
selector: "app-loading",
template: `
<div>
<svg class="circle-loader progress" width="40" height="40" version="1.1" xmlns="http://www.w3.org/2000/svg">
<circle cx="20" cy="20" r="15"></circle>
</svg>
</div>
<h4>Loading....</h4>
`
})
export class LoadingComponent { }
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
constructor(public popupManager: PopupManager) {}
showAlertBox() {
this.popupManager.open(
'Alert Box',
"Let's go up in here, and start having some fun The very fact that you're aware of suffering is enough reason to be overjoyed that you're alive and can experience it. It's a super day, so why not make a beautiful sky? ",
{
width: '300px',
popupClass: 'my-popup-box',
animate: 'slide-from-top',
showOverlay: true,
position: 'top',
callback: (result: any) => {
if (result) {
this.customDialog('You clicked Ok');
} else {
this.customDialog('You clicked Cancel');
}
}
}
);
}
customDialog(message: any) {
this.popupManager.open('Custom Dialog', message, {
width: '300px',
position: 'bottom',
animate: 'scale',
actionButtons: [
{
text: 'Done',
buttonClasses: 'btn-ok'
}
]
});
}
showConfirmBox() {
this.popupManager.open('Delete Confirmation', 'Do you really want to this item?', {
width: '300px',
closeOnOverlay: false,
animate: 'scale',
actionButtons: [
{
text: 'Yes',
buttonClasses: 'btn-ok',
onAction: () => {
return true;
}
},
{
text: 'No',
buttonClasses: 'btn-cancel',
onAction: () => {
return false;
}
}
],
callback: (result: any) => {
if (result) {
this.showLoadingBox();
}
}
});
}
showLoadingBox() {
let popup = this.popupManager.open('', '', {
width: '250px',
injectComponent: LoadingComponent,
showTitle: false,
showMessage: false,
showCloseBtn: false,
closeOnOverlay: false,
animate: 'slide-from-bottom',
actionButtons: [],
callback: (result: any) => {
if (result) {
this.deleteSuccessBox();
}
}
});
// some async call & then close
setTimeout(() => {
popup.close(true);
}, 2000);
}
deleteSuccessBox() {
this.popupManager.open('Success', 'Record has been deleted successfully !', {
width: '300px',
animate: 'slide-from-top',
position: 'top',
actionButtons: [
{
text: 'Done',
buttonClasses: 'btn-ok'
}
]
});
}
}
width : It applies width to popup box. Default : 600px
popupClass : It add class to popup box. Default : popup-box
showTitle : Wheather to show title or not. Default : true
showMessage : Wheather to show message or not. Default : true
showCloseBtn : Wheather to show close button or not. Default : true
injectComponent : Inject external component into popup box. Default : void 0 Note: injectComponent must be included into entryComponents of NgModule.
actionButtons : It shows action buttons on popup box. Default
actionButtons: [
{
text: 'Cancel',
buttonClasses: 'btn-cancel',
onAction: () => {
return false;
}
},
{
text: 'Ok',
buttonClasses: 'btn-ok',
onAction: () => {
return true;
}
}
]
animate : It applies animation to popup box. Possible values are slide-from-left | slide-from-right | slide-from-top | slide-from-bottom | fade | scale. Default: slide-from-right
position : It applies animation to popup box. Possible values are top | center | bottom. Default: center
showOverlay - Wheather to show overlay or not. Default : true
closeOnOverlay - It allows close on overlay by clicking on it. Default: true
callback - It allows to capture event when clicking on any action buttons. Example
callback: (result: any) => {
if (result) {
alert('You clicked Ok');
} else {
alert('You clicked Cancel');
}
}
[Ng6 Popup Demo Link] (http://technoidlab.com/demos/ng6-popup-boxes)
$ cd demo/ngcli && npm install
$ ng serve
Then navigate your browser to http://localhost:4200
$ cd demo/webpack && npm run install
$ npm run build
$ npm start
FAQs
NOTE : Tested with Angular v6.0.0 and Angular-Cli v6.0.0.
The npm package ng6-popup-boxes receives a total of 0 weekly downloads. As such, ng6-popup-boxes popularity was classified as not popular.
We found that ng6-popup-boxes demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.