From 89b300f268204c9a8a8aed0f8ec8b36f3d36c6d8 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Mon, 20 Nov 2017 11:19:43 -0500 Subject: [PATCH] $$ngIsClass fix for ESR --- src/popup/app/app.js | 21 +++++++++++++++++++ .../components/action-buttons.component.ts | 2 +- .../app/components/cipher-items.component.ts | 2 +- src/popup/app/components/icon.component.ts | 2 +- src/popup/app/components/pop-out.component.ts | 2 +- src/popup/app/current/current.component.ts | 2 +- src/popup/app/lock/lock.component.ts | 2 +- src/popup/app/tools/tools.component.ts | 2 +- 8 files changed, 28 insertions(+), 7 deletions(-) diff --git a/src/popup/app/app.js b/src/popup/app/app.js index 230be7915c0..ebe6da44be6 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 b779700129c..1960e43ae5e 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 fcace635799..9fa35d0eff6 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 1d7d472dbe3..9d129564ba5 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 af20b2e5d4d..9d861c608ae 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 4ba38293552..b50e9ff3208 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 0038f3d7ec2..244386f6a54 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 c627248fd87..79910a51395 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;