angular-freshdesk
Version:
[](https://codeclimate.com/github/lucas-subli/angular-freshdesk/maintainability) [
{"version":3,"file":"angular-freshdesk.mjs","sources":["../../../src/lib/freshdesk-webwidget.model.ts","../../../src/lib/freshdesk-webwidget.service.ts","../../../src/lib/freshdesk-webwidget.module.ts","../../../src/angular-freshdesk.ts"],"sourcesContent":["export abstract class FreshdeskWebwidgetConfig {\n abstract widgetId: number;\n abstract locale: string;\n abstract callback(FreshworksWidget): any;\n}\n","import { Injectable } from '@angular/core';\n\nimport { FreshdeskWebwidgetConfig } from './freshdesk-webwidget.model';\n\nfunction getWindow(): any {\n return window;\n}\n\n@Injectable()\nexport class FreshdeskWebwidgetService {\n constructor(private freshdeskWebwidgetConfig?: FreshdeskWebwidgetConfig) {\n if (!this.freshdeskWebwidgetConfig.widgetId) {\n throw new Error(\n 'Missing widgetId. Please set in app config via FreshdeskWidgetProvider'\n );\n }\n const window = getWindow();\n\n const script = document.createElement('script');\n\n script.type = 'text/javascript';\n script.async = true;\n script.src = `https://widget.freshworks.com/widgets/${this.freshdeskWebwidgetConfig.widgetId}.js`;\n\n window.fwSettings = {\n widget_id: freshdeskWebwidgetConfig.widgetId,\n locale: freshdeskWebwidgetConfig.locale,\n };\n\n window.FreshworksWidget ||\n (function () {\n if ('function' != typeof window.FreshworksWidget) {\n let n = function () {\n n['q'].push(arguments);\n };\n (n['q'] = []), (window.FreshworksWidget = n);\n }\n })();\n\n script.onload = function (event) {\n try {\n freshdeskWebwidgetConfig.callback(window.FreshworksWidget);\n } catch (error) {\n console.log('error.: ', error);\n }\n };\n\n script.onerror = function (event) {\n console.log('error Onerror.: ', event);\n };\n\n document.body.append(script);\n }\n\n get FreshworksWidget() {\n const window = getWindow();\n return window.FreshworksWidget;\n }\n}\n","import { ModuleWithProviders, NgModule, Type } from '@angular/core';\nimport { FreshdeskWebwidgetConfig } from './freshdesk-webwidget.model';\nimport { FreshdeskWebwidgetService } from './freshdesk-webwidget.service';\n\n@NgModule()\nexport class FreshdeskWebwidgetModule {\n static forRoot(freshdeskConfig: Type<FreshdeskWebwidgetConfig>): ModuleWithProviders<FreshdeskWebwidgetModule> {\n return {\n ngModule: FreshdeskWebwidgetModule,\n providers: [\n {provide: FreshdeskWebwidgetConfig, useClass: freshdeskConfig },\n {provide: FreshdeskWebwidgetService, useClass: FreshdeskWebwidgetService, deps: [FreshdeskWebwidgetConfig] }\n ]\n };\n }\n}\n\nexport {\n FreshdeskWebwidgetService,\n FreshdeskWebwidgetConfig\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.FreshdeskWebwidgetConfig"],"mappings":"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"}