A sidesheet directive for Angular.
Currently the Sidesheet only supports one position, on the right side of the screen.
Import NgSidesheetModule in your App.
import { NgModule } from '@angular/core';
import { NgSidesheetModule } from 'ng-sidesheet';
@NgModule({
imports: [NgSidesheetModule]
})
export class AppModule {}
Use in template:
<div *ngSidesheet>
This div is rendered in the sidesheet
</div>
Render once the value is not nullish anymore:
<div *ngSidesheet="'right' with model$ | async as model">
Only rendered once {{model}} is not null or undefined.
</div>
Act on close event of Sidesheet:
@Component({
template: `
<div *ngSidesheet="'right'; close: onSidesheetClose">
Sidesheet content
</div>
`
})
export class AppComponent {
onSidesheetClose: () => {
console.log('Sidesheet closed')
}
}
Overwrite overlay settings:
@Component({
template: `
<div *ngSidesheet="'right'; overlay: false">
Sidesheet content without overlay
</div>
<div *ngSidesheet="'right'; overlayCloseOnClick: false">
Don't close Sidesheet on overlay click
</div>
<div *ngSidesheet="'right'; overlayCloseOnESC: false">
Don't close Sidesheet on pressing ESC key
</div>
`
})
export class AppComponent {}
Globally overwrite Sidesheet default parameters:
import { NgModule } from '@angular/core';
import { NgSidesheetModule } from 'ng-sidesheet';
@NgModule({
imports: [
NgSidesheetModule.withConfig({
closeButton: false, // disable/hide close button
scrollShadow: false, // disable shadow for vertical scrolling
overlay: false, // disable backdrop overlay
overlayCloseOnClick: false, // do not close sidesheet on overlay click
overlayCloseOnESC: false // do not close sidesheet on ESC key
})
]
})
export class AppModule {}
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory. Use the --prod
flag for a production build.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via Protractor.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI README.