From 20c8a2c7ad272e8965a1dca49c49d03cdb9c3f0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Fri, 5 Aug 2016 16:55:08 -0300 Subject: [PATCH] Notify when click on clickable element --- public/views/includes/confirm-tx.html | 2 +- public/views/includes/copyToClipboard.html | 7 +++++++ public/views/includes/output.html | 6 +++--- public/views/modals/tx-details.html | 10 ++++----- public/views/modals/txp-details.html | 2 +- public/views/walletHome.html | 2 +- src/css/ionic-migration.css | 9 ++++++++ src/js/controllers/modals/txDetails.js | 4 ++-- src/js/controllers/modals/txpDetails.js | 4 ++-- src/js/controllers/walletHome.js | 24 ++++++++++++++++++++-- 10 files changed, 53 insertions(+), 17 deletions(-) create mode 100644 public/views/includes/copyToClipboard.html diff --git a/public/views/includes/confirm-tx.html b/public/views/includes/confirm-tx.html index 13998a843..594790af9 100644 --- a/public/views/includes/confirm-tx.html +++ b/public/views/includes/confirm-tx.html @@ -7,7 +7,7 @@
{{tx.amountStr}}
{{tx.alternativeAmountStr}}
-
+
diff --git a/public/views/includes/copyToClipboard.html b/public/views/includes/copyToClipboard.html new file mode 100644 index 000000000..705c8e5fb --- /dev/null +++ b/public/views/includes/copyToClipboard.html @@ -0,0 +1,7 @@ + +
+ +
+
diff --git a/public/views/includes/output.html b/public/views/includes/output.html index 82b886a29..2a960a0b7 100644 --- a/public/views/includes/output.html +++ b/public/views/includes/output.html @@ -1,14 +1,14 @@ -
  • +
  • To: {{output.toAddress || output.address}}
  • -
  • +
  • Amount: {{output.amountStr}} {{output.alternativeAmountStr}}
  • -
  • +
  • Note: {{output.message}}
  • diff --git a/public/views/modals/tx-details.html b/public/views/modals/tx-details.html index 6d73add62..076c02080 100644 --- a/public/views/modals/tx-details.html +++ b/public/views/modals/tx-details.html @@ -25,7 +25,7 @@

    Moved

    -
    +
    {{btx.amountStr}}
    @@ -46,7 +46,7 @@
    • + ng-click="copyToClipboard(btx.addressTo, $event)"> To @@ -89,19 +89,19 @@
    • + ng-click="copyToClipboard(btx.feeStr, $event)"> Fee {{btx.feeStr}}
    • + ng-click="copyToClipboard(btx.message, $event)"> Description {{btx.message}}
    • + ng-click="copyToClipboard(btx.merchant.pr.pd.memo, $event)"> Merchant message {{btx.merchant.pr.pd.memo}} diff --git a/public/views/modals/txp-details.html b/public/views/modals/txp-details.html index 989dd62aa..b71ad6b58 100644 --- a/public/views/modals/txp-details.html +++ b/public/views/modals/txp-details.html @@ -21,7 +21,7 @@
      {{tx.amountStr}}
      {{tx.alternativeAmountStr}}
      - + Multiple recipients diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 284fef3a3..f46603b98 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -279,7 +279,7 @@

      My Bitcoin address

      -
      +
      diff --git a/src/css/ionic-migration.css b/src/css/ionic-migration.css index bd311bb26..58c49a4b3 100644 --- a/src/css/ionic-migration.css +++ b/src/css/ionic-migration.css @@ -43,6 +43,15 @@ font-size: 16px; } +.popover, .popover .bar-header { + border-radius: 10px; +} + +.popover { + height: auto; + width: 200px; +} + .popup-container.active .popup { border-radius: 10px; } diff --git a/src/js/controllers/modals/txDetails.js b/src/js/controllers/modals/txDetails.js index aac60fd59..205ba17fd 100644 --- a/src/js/controllers/modals/txDetails.js +++ b/src/js/controllers/modals/txDetails.js @@ -85,9 +85,9 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio return n.substring(0, 4); }; - $scope.copyToClipboard = function(addr) { + $scope.copyToClipboard = function(addr, $event) { if (!addr) return; - self.copyToClipboard(addr); + self.copyToClipboard(addr, $event); }; $scope.cancel = function() { diff --git a/src/js/controllers/modals/txpDetails.js b/src/js/controllers/modals/txpDetails.js index 2ccc77021..7af351121 100644 --- a/src/js/controllers/modals/txpDetails.js +++ b/src/js/controllers/modals/txpDetails.js @@ -218,9 +218,9 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi }); }; - $scope.copyToClipboard = function(addr) { + $scope.copyToClipboard = function(addr, $event) { if (!addr) return; - self.copyToClipboard(addr); + self.copyToClipboard(addr, $event); }; $scope.close = function(txp) { diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 05bfc5dc9..013c9b34b 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('walletHomeController', function($scope, $rootScope, $interval, $timeout, $filter, $log, $ionicModal, notification, txStatus, profileService, lodash, configService, rateService, storageService, bitcore, gettext, gettextCatalog, platformInfo, addressService, ledger, bwcError, confirmDialog, txFormatService, addressbookService, go, feeService, walletService, fingerprintService, nodeWebkit, ongoingProcess) { +angular.module('copayApp.controllers').controller('walletHomeController', function($scope, $rootScope, $interval, $timeout, $filter, $log, $ionicModal, $ionicPopup, $ionicPopover, notification, txStatus, profileService, lodash, configService, rateService, storageService, bitcore, gettext, gettextCatalog, platformInfo, addressService, ledger, bwcError, confirmDialog, txFormatService, addressbookService, go, feeService, walletService, fingerprintService, nodeWebkit, ongoingProcess) { var isCordova = platformInfo.isCordova; var isWP = platformInfo.isWP; @@ -200,12 +200,32 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi }); }; - this.copyToClipboard = function(addr) { + this.copyToClipboard = function(addr, $event) { + + var showPopover = function() { + + $ionicPopover.fromTemplateUrl('views/includes/copyToClipboard.html', { + scope: $scope + }).then(function(popover) { + $scope.popover = popover; + $scope.popover.show($event); + }); + + $timeout(function() { + $scope.popover.hide(); //close the popover after 3 seconds for some reason + }, 2000); + + $scope.$on('$destroy', function() { + $scope.popover.remove(); + }); + }; + if (isCordova) { window.cordova.plugins.clipboard.copy(addr); window.plugins.toast.showShortCenter(gettextCatalog.getString('Copied to clipboard')); } else if (platformInfo.isNW) { nodeWebkit.writeToClipboard(addr); + showPopover($event); } };