
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
@steinv/ngx-dialog
Advanced tools
Angular dialog module for flexible injection of a dialog with input and output
Angular dialog module to inject dialog component(s) with input and output
Install Ngx-dialog through npm:
npm i -S @steinv/ngx-dialog
Import the global style scss in your "styles.scss"
@import '@steinv/ngx-dialog/assets/styles.scss';
Add NgxDialogModule import to your app module:
import {NgxDialogModule} from '@steinv/ngx-dialog';
...
@NgModule({
imports: [
...
NgxDialogModule,
...
],
...
})
To create any dialog component implement NgxDialogViewComponent<OutputInterface, InputInterface> and add a constructor to inject the ngxDialogController: NgxDialogController.
Example
import {NgxDialogController, NgxDialogViewComponent} from '@steinv/ngx-dialog';
export interface MyDialogInput {
someInput: any;
}
export interface MyDialogOutput {
someOutput: any;
}
export class MyDialogComponent implements NgxDialogViewComponent<MyDialogOutput, MyDialogInput> {
constructor(
public readonly ngxDialogController: NgxDialogController<MyDialogOutput, MyDialogInput>
) {
// dismiss the dialog when the backdrop is clicked
ngxDialogController.backdropClick().subscribe(() => ngxDialogController.dismiss())
}
// This action will close the dialog and return output
confirm(someOutput: any): void{
this.ngxDialogController.confirm({someOutput});
}
// This action will dismiss the dialog without output
dismiss(): void {
this.ngxDialogController.dismiss();
}
}
Use the NgxDialogService to open a dialog component.
import {NgxDialogService} from '@steinv/ngx-dialog';
...
constructor(private readonly ngxDialogService: NgxDialogService) {}
openMyDialogComponent(): Observable<DialogResult<DialogOutput>> {
const ngxDialogController = ngxDialogService.open(MyDialogComponent, {someInput});
return ngxDialogController.afterClosed();
}
Use the NgxDialogController (either in the dialog itself or from where you opened the dialog) to close a dialog component.
Example dismiss on backdrop clicks
ngxDialogController.backdropClick().subscribe(() => ngxDialogController.dismiss());
Example dismiss button
<button (click)="ngxDialogController.dismiss()">Close!</button>
Add a OverlayConfig when opening the dialog to add your own css-selectors or position the dialog differently
/**
* inject the overlay in the constructor
* constructor(private readonly overlay: Overlay) {}
*/
const positionStrategy = this.overlay
.position()
.global()
.centerHorizontally()
.centerVertically();
// Add your own css classes to the backdrop and dialog-panel
config: OverlayConfig = {
positionStrategy,
hasBackdrop: true,
backdropClass: 'ngx-dialog-backdrop',
panelClass: 'ngx-dialog-panel',
}
ngxDialogService.open(MyDialogComponent, config);
Licensed under MIT.
FAQs
Angular dialog module for flexible injection of a dialog with input and output
We found that @steinv/ngx-dialog 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
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.