angular-freshdesk
TypeScript icon, indicating that this package has built-in type declarations

17.2.4 • Public • Published

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

Readme

Keywords

Package Sidebar

Install

npm i angular-freshdesk

Weekly Downloads

141

Version

17.2.4

License

MIT

Unpacked Size

27.1 kB

Total Files

14

Last publish

Collaborators

  • lucas.subli