safe-pipe-next
v2.0.1
Published
Simple safe pipe for sanitizing your safe content
Downloads
184
Readme
SafePipe
Resolve your safe content with Angular SafePipe (Demo)
Installation
- Install the package via
npm install safe-pipe
oryarn add safe-pipe
- Add
SafePipeModule
module toNgModule.imports
.
E.g.
@NgModule({
imports: [ SafePipeModule ]
})
export class AppModule { }
Usage
The SafePipe
pipe accepts a value and sanitization type.
<elem [prop]="value | safe: sanitizationType"></elem>
You can sanitize any resource type supported by DomSanitizer.
Supported sanitization types:
'html'
- usesDomSanitizer.bypassSecurityTrustHtml
(docs)'style'
- usesDomSanitizer.bypassSecurityTrustStyle
(docs)'script'
- usesDomSanitizer.bypassSecurityTrustScript
(docs)'url'
- usesDomSanitizer.bypassSecurityTrustUrl
(docs)'resourceUrl'
- usesDomSanitizer.bypassSecurityTrustResourceUrl
(docs)
Full usage example:
// @file app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { SafePipeModule } from 'safe-pipe';
import { AppComponent } from './app.component';
@NgModule({
declarations: [ AppComponent ],
imports: [
SafePipeModule,
BrowserModule
]
bootstrap: [ AppComponent ]
})
export class AppModule { }
// @file app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: `
<div [style.background-image]="'url(' + pictureUrl + ')' | safe: 'style'" class="pic bg-pic"></div>
<img [src]="pictureUrl | safe: 'url'" class="pic" alt="Logo">
<iframe [src]="catVideoEmbed | safe: 'resourceUrl'" width="640" height="390"></iframe>
<pre [innerHTML]="htmlContent | safe: 'html'"></pre>
`,
styles: [
`.pic { display: inline-block; width: 320px; }`,
`.bg-pic { padding-top: 320px; }`
]
})
export class AppComponent {
public htmlContent: string = `<h1>Lorem ipsum dolor sit amet.</h1>`;
public pictureUrl: string = `https://angular.io/assets/images/logos/angular/angular.svg`;
public catVideoEmbed: string = `https://www.youtube.com/embed/QH2-TGUlwu4"`;
}
Development
This library was generated with Angular CLI version 9.0.7.
Code scaffolding
Run ng generate component component-name --project safe-pipe
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module --project safe-pipe
.
Note: Don't forget to add
--project safe-pipe
or else it will be added to the default project in yourangular.json
file.
Build
Run ng build safe-pipe
to build the project. The build artifacts will be stored in the dist/
directory.
Publishing
After building your library with ng build safe-pipe
, go to the dist folder cd dist/safe-pipe
and run npm publish
.
Running unit tests
Run ng test safe-pipe
to execute the unit tests via Karma.
Further help
To get more help on the Angular CLI use ng help
or go check out the Angular CLI README.