@lakea/gravity-svg-adapter-svg-injector v3.0.2
@lakea/gravity-svg-adapter-svg-injector
An adapter for GrSvg using svg-injector as implementation.
Installation
Install the library using NPM:
npm install @lakea/gravity-svg-adapter-svg-injector @tanem/svg-injector --save
Next, create a new file, svg-adapter-root.module.ts which exposes an Angular's module with a default configuration.
import {NgModule} from '@angular/core';
import {GrSvg} from '@lakea/gravity/ui';
import {GrSvgAdapterSvgInjector} from '@lakea/gravity-svg-adapter-svg-injector';
@NgModule({
providers: [
{
provide: GrSvg,
useClass: GrSvgAdapterSvgInjector,
},
],
})
export class SvgAdapterRootModule {}Import SvgAdapterRootModule to application root module like app.module.ts.
You should import the SvgAdapterRootModule once in your root module.
The SvgAdapterRootModule provide the adapter implementation for GrSvg.
Creating your own adapter
Create your adapter implementation class extending GrSvg abstraction:
import {Injectable, Renderer2, RendererFactory2} from '@angular/core';
import {GrSvg} from '@lakea/gravity/ui';
@Injectable()
export class GrSvgAdapter extends GrSvg {
constructor() {
super();
}
public generateSvg(assetUrl: string): Promise<SVGSVGElement> {
// YOUR IMPLEMENTATION
}
}So, provide it on your application root module (maybe app.module.ts), like this:
providers: [
{
provide: GrSvg,
useClass: GrSvgAdapter,
}
]3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago