Wallet/src/js/services/externalLinkService.js

36 lines
1,011 B
JavaScript
Raw Normal View History

2016-09-05 14:59:11 -03:00
'use strict';
angular.module('copayApp.services').service('externalLinkService', function(platformInfo, nodeWebkitService, popupService, gettextCatalog, $window, $log, $timeout) {
2016-09-05 14:59:11 -03:00
2016-10-17 20:54:01 -03:00
var _restoreHandleOpenURL = function(old) {
$timeout(function() {
$window.handleOpenURL = old;
}, 500);
};
this.open = function(url, optIn, title, message, okText, cancelText) {
2016-10-12 11:40:14 -03:00
var old = $window.handleOpenURL;
$window.handleOpenURL = function(url) {
// Ignore external URLs
$log.debug('Skip: ' + url);
};
2016-09-05 14:59:11 -03:00
if (platformInfo.isNW) {
nodeWebkitService.openExternalLink(url);
2016-10-17 20:54:01 -03:00
_restoreHandleOpenURL(old);
2016-09-05 14:59:11 -03:00
} else {
if (optIn) {
2016-12-12 17:29:11 -03:00
var openBrowser = function(res) {
if (res) window.open(url, '_system');
_restoreHandleOpenURL(old);
};
popupService.showConfirm(title, message, okText, cancelText, openBrowser);
2016-10-17 20:54:01 -03:00
} else {
window.open(url, '_system');
_restoreHandleOpenURL(old);
}
2016-09-05 14:59:11 -03:00
}
};
});