npm.io
20.0.3 • Published 1 year ago

angular-freshdesk

Licence
MIT
Version
20.0.3
Deps
1
Size
14 kB
Vulns
0
Weekly
0

angular-freshdesk

Maintainability Build Status contributions welcome

Freshdesk widget for Angular 15+ (fork of https://github.com/AlisonVilela/ngx-freshdesk-webwidget). I just updated the libs. The lib version is supposed to track the intended angular version.

Installation

Via npm:

npm install angular-freshdesk --save

Usage

1. Import the FreshdeskWebwidgetModule
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';

import { FreshdeskWebwidgetModule } from 'angualr-freshdesk';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    FreshdeskWebwidgetModule.forRoot()
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }
SharedModule
@NgModule({
    exports: [
      CommonModule,
      FreshdeskWebwidgetModule
    ]
})
export class SharedModule { }
Configuration
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { FreshdeskWebwidgetModule, FreshdeskWebwidgetConfig } from 'angular-freshdesk';

import { AppComponent } from './app';

export class FreshdeskConfig extends FreshdeskWebwidgetConfig {
  widgetId = 00000000000;
  locale = 'en';
  callback(FreshworksWidget) {
    FreshworksWidget('hide');
  }
}

@NgModule({
    imports: [
        BrowserModule,
        HttpClientModule,
        FreshdeskWebwidgetModule.forRoot(FreshdeskConfig)
    ],
    bootstrap: [AppComponent]
})
export class AppModule { }
2. Import the FreshdeskWebwidgetService
import { FreshdeskWebwidgetService } from 'angular-freshdesk';

@Component({
  selector: 'app',
  templateUrl: './app.html'
})
export class app {

  constructor(private _FreshdeskWebwidgetService: FreshdeskWebwidgetService) { }

}
3. Example
constructor(private _FreshdeskWebwidgetService: FreshdeskWebwidgetService) {
  this._FreshdeskWebwidgetService.FreshworksWidget('identify', 'ticketForm', {
    name: 'John Doe',
    email: 'john.doe@acme.inc',
  });

  this._FreshdeskWebwidgetService.FreshworksWidget('show');
}

logout(){
  this._FreshdeskWebwidgetService.FreshworksWidget('hide');
}
buttonClick(){
  this._FreshdeskWebwidgetService.FreshworksWidget('open', 'ticketForm');
}
buttonClickArticle(articleId: number){
  this._FreshdeskWebwidgetService.FreshworksWidget('open', 'article', {
    id: articleId
  });
}

API

FreshdeskWebwidgetService
Methods
FreshdeskWebwidgetConfig
  • widgetId: Number of your Freshdesk Web Widget ID.
  • locale: To force the widget to load in a particular language.
  • callback: Callback, executed after Freshdesk loaded.

Issues

Please report bugs and issues here.

License

MIT lucas.subli

Change log

v16.2.0
  • Upgraded for angular 16
v0.1.0

Keywords