diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 5989c3ca3..5cd320d16 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -488,6 +488,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r if (tx.creatorId != self.copayerId) { self.pendingTxProposalsCountForUs = self.pendingTxProposalsCountForUs + 1; } + addonManager.formatPendingTxp(tx); }); self.txps = txps; }; diff --git a/src/js/services/addonManager.js b/src/js/services/addonManager.js index 6a3aba52d..b50b44e1f 100644 --- a/src/js/services/addonManager.js +++ b/src/js/services/addonManager.js @@ -1,26 +1,30 @@ 'use strict'; -angular.module('copayApp.services').provider('addonManager', function () { - var addonMenuItems = []; - var addonViews = []; +angular.module('copayApp.services').service('addonManager', function (lodash) { + var addons = []; - this.registerAddon = function(addonSpec) { - addonMenuItems.push(addonSpec.menuItem); - addonViews.push(addonSpec.view); + this.registerAddon = function (addonSpec) { + addons.push(addonSpec); }; - this.$get = function() { - var manager = {}; + this.addonMenuItems = function () { + return lodash.map(addons, function (addonSpec) { + return addonSpec.menuItem; + }); + }; - manager.addonMenuItems = function() { - return addonMenuItems; - }; + this.addonViews = function () { + return lodash.map(addons, function (addonSpec) { + return addonSpec.view; + }); + }; - manager.addonViews = function() { - return addonViews; - }; - - return manager; - } + this.formatPendingTxp = function (txp) { + lodash.each(addons, function (addon) { + if (addon.formatPendingTxp) { + addon.formatPendingTxp(txp); + } + }); + }; });