diff --git a/src/popup/app/app.js b/src/popup/app/app.js index 230be7915c..ebe6da44be 100644 --- a/src/popup/app/app.js +++ b/src/popup/app/app.js @@ -129,6 +129,27 @@ require('./settings/settingsPremiumController.js'); require('./settings/settingsEnvironmentController.js'); require('./tools/toolsPasswordGeneratorHistoryController.js'); +// $$ngIsClass fix issue with "class constructors must be invoked with |new|" on Firefox ESR +// ref: https://github.com/angular/angular.js/issues/14240 +import { ActionButtonsController } from './components/action-buttons.component'; +ActionButtonsController.$$ngIsClass = true; +import { CipherItemsController } from './components/cipher-items.component'; +CipherItemsController.$$ngIsClass = true; +import { IconController } from './components/icon.component'; +IconController.$$ngIsClass = true; +import { PopOutController } from './components/pop-out.component'; +PopOutController.$$ngIsClass = true; +import { CurrentController } from './current/current.component'; +CurrentController.$$ngIsClass = true; +import { LockController } from './lock/lock.component'; +LockController.$$ngIsClass = true; +import { ExportController } from './tools/export.component'; +ExportController.$$ngIsClass = true; +import { PasswordGeneratorController } from './tools/password-generator.component'; +PasswordGeneratorController.$$ngIsClass = true; +import { ToolsController } from './tools/tools.component'; +ToolsController.$$ngIsClass = true; + // Bootstrap the angular application angular.element(function () { angular.bootstrap(document, ['bit']); diff --git a/src/popup/app/components/action-buttons.component.ts b/src/popup/app/components/action-buttons.component.ts index b779700129..1960e43ae5 100644 --- a/src/popup/app/components/action-buttons.component.ts +++ b/src/popup/app/components/action-buttons.component.ts @@ -2,7 +2,7 @@ import * as template from './action-buttons.component.html'; import { UtilsService } from '../../../services/abstractions/utils.service'; -class ActionButtonsController implements ng.IController { +export class ActionButtonsController implements ng.IController { onView: Function; cipher: any; diff --git a/src/popup/app/components/cipher-items.component.ts b/src/popup/app/components/cipher-items.component.ts index fcace63579..9fa35d0eff 100644 --- a/src/popup/app/components/cipher-items.component.ts +++ b/src/popup/app/components/cipher-items.component.ts @@ -1,6 +1,6 @@ import * as template from './cipher-items.component.html'; -class CipherItemsController implements ng.IController { +export class CipherItemsController implements ng.IController { onSelected: Function; onView: Function; diff --git a/src/popup/app/components/icon.component.ts b/src/popup/app/components/icon.component.ts index 1d7d472dbe..9d129564ba 100644 --- a/src/popup/app/components/icon.component.ts +++ b/src/popup/app/components/icon.component.ts @@ -1,6 +1,6 @@ import * as template from './icon.component.html'; -class IconController implements ng.IController { +export class IconController implements ng.IController { cipher: any; icon: string; image: string; diff --git a/src/popup/app/components/pop-out.component.ts b/src/popup/app/components/pop-out.component.ts index af20b2e5d4..9d861c608a 100644 --- a/src/popup/app/components/pop-out.component.ts +++ b/src/popup/app/components/pop-out.component.ts @@ -2,7 +2,7 @@ import * as template from './pop-out.component.html'; import { UtilsService } from '../../../services/abstractions/utils.service'; -class PopOutController implements ng.IController { +export class PopOutController implements ng.IController { constructor(private $analytics: any, private $window: any, private utilsService: UtilsService) { } diff --git a/src/popup/app/current/current.component.ts b/src/popup/app/current/current.component.ts index 4ba3829355..b50e9ff320 100644 --- a/src/popup/app/current/current.component.ts +++ b/src/popup/app/current/current.component.ts @@ -3,7 +3,7 @@ import { CipherType } from '../../../enums/cipherType.enum'; import { UtilsService } from '../../../services/abstractions/utils.service'; import * as template from './current.component.html'; -class CurrentController { +export class CurrentController { i18n: any; pageDetails: any = []; loaded: boolean = false; diff --git a/src/popup/app/lock/lock.component.ts b/src/popup/app/lock/lock.component.ts index 0038f3d7ec..244386f6a5 100644 --- a/src/popup/app/lock/lock.component.ts +++ b/src/popup/app/lock/lock.component.ts @@ -4,7 +4,7 @@ import * as template from './lock.component.html'; import { CryptoService } from '../../../services/abstractions/crypto.service'; import { UtilsService } from '../../../services/abstractions/utils.service'; -class LockController { +export class LockController { i18n: any; masterPassword: string; diff --git a/src/popup/app/tools/tools.component.ts b/src/popup/app/tools/tools.component.ts index c627248fd8..79910a5139 100644 --- a/src/popup/app/tools/tools.component.ts +++ b/src/popup/app/tools/tools.component.ts @@ -2,7 +2,7 @@ import * as template from './tools.component.html'; import { UtilsService } from '../../../services/abstractions/utils.service'; -class ToolsController { +export class ToolsController { showExport: boolean; i18n: any;