diff --git a/app/js/app.config.js b/app/js/app.config.js index a8be58e4d07550cec4b43e616274951d57216ffa..10c4c8a83cc391e729fe3d9a48aeddd18988cdca 100644 --- a/app/js/app.config.js +++ b/app/js/app.config.js @@ -13,6 +13,7 @@ module.exports = () => { require('js/services/datetime')(duniterApp); require('js/services/ui_utils')(duniterApp); require('js/services/graphs')(duniterApp); + require('js/services/pubkeyGenerator')(duniterApp); let homeControllers = angular.module('homeControllers', ['duniter.services']); diff --git a/app/js/controllers/init/create/IdentityController.js b/app/js/controllers/init/create/IdentityController.js index d11adafcfeb3aaf57ef54c56e87d7a42a8789295..5dcc0ee3ac06ff537e086943d29390c492778635 100644 --- a/app/js/controllers/init/create/IdentityController.js +++ b/app/js/controllers/init/create/IdentityController.js @@ -1,8 +1,6 @@ "use strict"; -var co = require('co'); - -module.exports = ($scope, $timeout, BMA) => { +module.exports = ($scope, PubkeyGenerator) => { setTimeout(() => { $('select').material_select(); @@ -15,32 +13,5 @@ module.exports = ($scope, $timeout, BMA) => { } }; - let concat = ""; - $scope.pubkey_preview = ""; - let timeout = preview(); - - function preview() { - return $timeout(() => { - if ($scope.$parent) { - let salt = $scope.$parent.conf.idty_entropy; - let pass = $scope.$parent.conf.idty_password; - let newConcat = [salt, pass].join(''); - if (salt && pass && newConcat != concat) { - console.log('different'); - concat = newConcat; - $scope.previewPubkey(concat); - timeout = preview(); - } else { - timeout = preview(); - } - } - }, 100); - } - - $scope.previewPubkey = () => co(function *() { - let data = yield BMA.webmin.key.preview({ - conf: $scope.$parent.conf - }); - $scope.pubkey_preview = data.pubkey; - }).catch(() => null); + PubkeyGenerator($scope); }; diff --git a/app/js/controllers/main/settings/tabs/KeyController.js b/app/js/controllers/main/settings/tabs/KeyController.js index ae37f8da119e77f6bc3fe3c0b1d30e516120637c..63d18a2caf910e6eae2e3e13a9c31ab7b3c737df 100644 --- a/app/js/controllers/main/settings/tabs/KeyController.js +++ b/app/js/controllers/main/settings/tabs/KeyController.js @@ -2,7 +2,7 @@ var co = require('co'); -module.exports = ($scope, $state, BMA, summary) => { +module.exports = ($scope, $state, BMA, summary, PubkeyGenerator) => { $scope.pubkey = summary.pubkey; @@ -18,4 +18,6 @@ module.exports = ($scope, $state, BMA, summary) => { $scope.$parent.conf.idty_password = ''; $state.reload(); }); + + PubkeyGenerator($scope); }; diff --git a/app/js/services/pubkeyGenerator.js b/app/js/services/pubkeyGenerator.js new file mode 100644 index 0000000000000000000000000000000000000000..b38baf5691ae89e4119f7586ebd764d16acda847 --- /dev/null +++ b/app/js/services/pubkeyGenerator.js @@ -0,0 +1,39 @@ +module.exports = (app) => { + + app.factory('PubkeyGenerator', function($timeout, BMA) { + + var co = require('co'); + + return ($scope) => { + + let concat = ""; + $scope.pubkey_preview = ""; + let timeout = preview(); + + function preview() { + return $timeout(() => { + if ($scope.$parent) { + let salt = $scope.$parent.conf.idty_entropy; + let pass = $scope.$parent.conf.idty_password; + let newConcat = [salt, pass].join(''); + if (salt && pass && newConcat != concat) { + console.log('different'); + concat = newConcat; + $scope.previewPubkey(concat); + timeout = preview(); + } else { + timeout = preview(); + } + } + }, 100); + } + + $scope.previewPubkey = () => co(function *() { + let data = yield BMA.webmin.key.preview({ + conf: $scope.$parent.conf + }); + $scope.pubkey_preview = data.pubkey; + }).catch(() => null); + }; + }); +};