36 lines
1,011 B
JavaScript
36 lines
1,011 B
JavaScript
'use strict';
|
|
|
|
angular.module('copayApp.services').service('externalLinkService', function(platformInfo, nodeWebkitService, popupService, gettextCatalog, $window, $log, $timeout) {
|
|
|
|
var _restoreHandleOpenURL = function(old) {
|
|
$timeout(function() {
|
|
$window.handleOpenURL = old;
|
|
}, 500);
|
|
};
|
|
|
|
this.open = function(url, optIn, title, message, okText, cancelText) {
|
|
var old = $window.handleOpenURL;
|
|
|
|
$window.handleOpenURL = function(url) {
|
|
// Ignore external URLs
|
|
$log.debug('Skip: ' + url);
|
|
};
|
|
|
|
if (platformInfo.isNW) {
|
|
nodeWebkitService.openExternalLink(url);
|
|
_restoreHandleOpenURL(old);
|
|
} else {
|
|
if (optIn) {
|
|
var openBrowser = function(res) {
|
|
if (res) window.open(url, '_system');
|
|
_restoreHandleOpenURL(old);
|
|
};
|
|
popupService.showConfirm(title, message, okText, cancelText, openBrowser);
|
|
} else {
|
|
window.open(url, '_system');
|
|
_restoreHandleOpenURL(old);
|
|
}
|
|
}
|
|
};
|
|
|
|
});
|