Wallet/src/js/services/buyAndSellService.js

60 lines
1.4 KiB
JavaScript
Raw Normal View History

2017-01-30 18:04:17 -03:00
'use strict';
angular.module('copayApp.services').factory('buyAndSellService', function($log, nextStepsService, lodash, $ionicScrollDelegate, $timeout) {
var root = {};
var services = [];
var linkedServices = [];
root.updateNextSteps = function() {
var newLinked = lodash.filter(services, function(x) {
return x.linked;
});
// This is to preserve linkedServices pointer
while(linkedServices.length)
linkedServices.pop();
while(newLinked.length)
linkedServices.push(newLinked.pop());
//
console.log('[buyAndSellService.js.10:linkedServices:]',linkedServices); //TODO
$log.debug('buyAndSell Service, updating nextSteps. linked/total: ' + linkedServices.length + '/'+ services.length);
if (linkedServices.length == 0) {
nextStepsService.register({
name: 'Buy and Sell',
icon: 'icon-buy-bitcoin',
sref: 'tabs.buyandsell',
});
};
$timeout(function() {
$ionicScrollDelegate.resize();
}, 10);
};
var updateNextStepsDebunced = lodash.debounce(root.updateNextSteps, 1000);
root.register = function(serviceInfo) {
services.push(serviceInfo);
$log.info('Adding Buy and Sell service:' + serviceInfo.name + ' linked:' + serviceInfo.linked);
updateNextStepsDebunced();
};
root.get = function() {
return services;
};
root.getLinked = function() {
return linkedServices;
};
return root;
});