diff --git a/src/popup/app/app.js b/src/popup/app/app.js index 631ea0c745..ab54740d63 100644 --- a/src/popup/app/app.js +++ b/src/popup/app/app.js @@ -28,6 +28,7 @@ require('../less/libs.less'); require('../less/popup.less'); import ComponentsModule from './components/components.module'; +import ToolsModule from './tools/tools.module'; // Model imports import { AttachmentData } from '../../models/data/attachmentData'; @@ -80,7 +81,7 @@ angular 'bit.current', 'bit.vault', 'bit.settings', - 'bit.tools', + ToolsModule, 'bit.lock' ]); @@ -126,8 +127,6 @@ require('./settings/settingsAddFolderController.js'); require('./settings/settingsEditFolderController.js'); require('./settings/settingsPremiumController.js'); require('./settings/settingsEnvironmentController.js'); -require('./tools/toolsModule.js'); -require('./tools/toolsController.js'); require('./tools/toolsPasswordGeneratorController.js'); require('./tools/toolsPasswordGeneratorHistoryController.js'); require('./tools/toolsExportController.js'); diff --git a/src/popup/app/components/componentsModule.js b/src/popup/app/components/componentsModule.js deleted file mode 100644 index df72afaf0e..0000000000 --- a/src/popup/app/components/componentsModule.js +++ /dev/null @@ -1,2 +0,0 @@ -angular - .module('bit.components', []); diff --git a/src/popup/app/config.js b/src/popup/app/config.js index 301d27eecc..dc9da4ea19 100644 --- a/src/popup/app/config.js +++ b/src/popup/app/config.js @@ -124,8 +124,8 @@ }) .state('tabs.tools', { url: '/tools', - templateUrl: 'app/tools/views/tools.html', - controller: 'toolsController' + //component: 'tools', + template: '' }) .state('viewFolder', { diff --git a/src/popup/app/tools/tools.component.ts b/src/popup/app/tools/tools.component.ts new file mode 100644 index 0000000000..96cd84752f --- /dev/null +++ b/src/popup/app/tools/tools.component.ts @@ -0,0 +1,50 @@ +import UtilsService from '../../../services/utils.service'; +import * as template from './views/tools.html'; + +class ToolsController { + showExport: boolean; + i18n: any; + + constructor(private SweetAlert: any, private i18nService: any, + private $analytics: any, private utilsService: UtilsService) { + + this.i18n = i18nService; + this.showExport = !utilsService.isEdge(); + } + + launchWebVault(createOrg: any) { + this.$analytics.eventTrack('Launch Web Vault' + (createOrg ? ' For Share' : '')); + chrome.tabs.create({ url: 'https://vault.bitwarden.com/#/' + (createOrg ? '?org=free' : '') }); + } + + launchAndroid() { + this.$analytics.eventTrack('Launch Android'); + chrome.tabs.create({ url: 'https://play.google.com/store/apps/details?id=com.x8bit.bitwarden' }); + } + + launchiOS() { + this.$analytics.eventTrack('Launch iOS'); + chrome.tabs.create({ url: 'https://itunes.apple.com/us/app/bitwarden-free-password-manager/id1137397744?mt=8' }); + } + + launchImport() { + this.SweetAlert.swal({ + title: this.i18nService.importItems, + text: this.i18nService.importItemsConfirmation, + showCancelButton: true, + confirmButtonText: this.i18nService.yes, + cancelButtonText: this.i18nService.cancel + }, (confirmed: boolean) => { + if (confirmed) { + this.$analytics.eventTrack('Launch Web Vault For Import'); + chrome.tabs.create({ url: 'https://help.bitwarden.com/article/import-data/' }); + } + }); + }; +} + +export const ToolsComponent = { + bindings: {}, + controller: ToolsController, + template, +}; diff --git a/src/popup/app/tools/tools.module.ts b/src/popup/app/tools/tools.module.ts new file mode 100644 index 0000000000..5dd4a7e780 --- /dev/null +++ b/src/popup/app/tools/tools.module.ts @@ -0,0 +1,7 @@ +import * as angular from 'angular'; +import { ToolsComponent } from './tools.component'; + +export default angular + .module('bit.tools', ['ngAnimate', 'ngclipboard', 'toastr', 'oitozero.ngSweetAlert']) + .component('tools', ToolsComponent) + .name; diff --git a/src/popup/app/tools/toolsController.js b/src/popup/app/tools/toolsController.js deleted file mode 100644 index c40f71e4b6..0000000000 --- a/src/popup/app/tools/toolsController.js +++ /dev/null @@ -1,36 +0,0 @@ -angular - .module('bit.tools') - - .controller('toolsController', function ($scope, SweetAlert, i18nService, $analytics, utilsService) { - $scope.i18n = i18nService; - $scope.showExport = !utilsService.isEdge(); - $scope.launchWebVault = function (createOrg) { - $analytics.eventTrack('Launch Web Vault' + (createOrg ? ' For Share' : '')); - chrome.tabs.create({ url: 'https://vault.bitwarden.com/#/' + (createOrg ? '?org=free' : '') }); - }; - - $scope.launchiOS = function () { - $analytics.eventTrack('Launch iOS'); - chrome.tabs.create({ url: 'https://itunes.apple.com/us/app/bitwarden-free-password-manager/id1137397744?mt=8' }); - }; - - $scope.launchAndroid = function () { - $analytics.eventTrack('Launch Android'); - chrome.tabs.create({ url: 'https://play.google.com/store/apps/details?id=com.x8bit.bitwarden' }); - }; - - $scope.launchImport = function () { - SweetAlert.swal({ - title: i18nService.importItems, - text: i18nService.importItemsConfirmation, - showCancelButton: true, - confirmButtonText: i18nService.yes, - cancelButtonText: i18nService.cancel - }, function (confirmed) { - if (confirmed) { - $analytics.eventTrack('Launch Web Vault For Import'); - chrome.tabs.create({ url: 'https://help.bitwarden.com/article/import-data/' }); - } - }); - }; - }); diff --git a/src/popup/app/tools/toolsModule.js b/src/popup/app/tools/toolsModule.js deleted file mode 100644 index 8fa52b826a..0000000000 --- a/src/popup/app/tools/toolsModule.js +++ /dev/null @@ -1,2 +0,0 @@ -angular - .module('bit.tools', ['ngAnimate', 'ngclipboard', 'toastr', 'oitozero.ngSweetAlert']); diff --git a/src/popup/app/tools/views/tools.html b/src/popup/app/tools/views/tools.html index cbe0acbbfe..33084294b5 100644 --- a/src/popup/app/tools/views/tools.html +++ b/src/popup/app/tools/views/tools.html @@ -2,7 +2,7 @@
-
{{i18n.tools}}
+
{{$ctrl.i18n.tools}}
@@ -10,38 +10,38 @@