From 96808657854d6637059d107e5203d60e9bc7d655 Mon Sep 17 00:00:00 2001 From: Mario Colque Date: Wed, 22 Jan 2014 10:16:53 -0300 Subject: [PATCH 1/3] added Zeroclipboard --- app/views/includes/foot.jade | 4 ++-- bower.json | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/views/includes/foot.jade b/app/views/includes/foot.jade index 4a14f1a..95786cb 100755 --- a/app/views/includes/foot.jade +++ b/app/views/includes/foot.jade @@ -4,13 +4,13 @@ //script(type='text/javascript', src='/lib/bootstrap/dist/js/bootstrap.min.js') script(type='text/javascript', src='/socket.io/socket.io.js') script(type='text/javascript', src='/lib/momentjs/moment.js') +script(type='text/javascript', src='/lib/qrcode-generator/js/qrcode.js') +script(type='text/javascript', src='/lib/zeroclipboard/ZeroClipboard.min.js') //AngularJS script(type='text/javascript', src='/lib/angular/angular.js') -script(type='text/javascript', src='/lib/angular-cookies/angular-cookies.js') script(type='text/javascript', src='/lib/angular-resource/angular-resource.js') script(type='text/javascript', src='/lib/angular-route/angular-route.js') -script(type='text/javascript', src='/lib/qrcode-generator/js/qrcode.js') script(type='text/javascript', src='/lib/angular-qrcode/qrcode.js') script(type='text/javascript', src='/lib/angular-animate/angular-animate.js') diff --git a/bower.json b/bower.json index 1212d2b..0e701fd 100644 --- a/bower.json +++ b/bower.json @@ -12,6 +12,7 @@ "angular-ui-utils": "0.1.0", "angular-qrcode": "latest", "angular-animate": "latest", - "momentjs": "~2.5.0" + "momentjs": "~2.5.0", + "zeroclipboard": "~1.3.0-beta.1" } } From e944903f7eaa61a0a176704f1b166dbeca538800 Mon Sep 17 00:00:00 2001 From: Mario Colque Date: Wed, 22 Jan 2014 10:17:20 -0300 Subject: [PATCH 2/3] added Insight version --- public/views/footer.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/views/footer.html b/public/views/footer.html index aac69ff..c4d19be 100644 --- a/public/views/footer.html +++ b/public/views/footer.html @@ -1,3 +1,3 @@ From 3cbaeb6809df3a489eef4153fc7deb0f3271e116 Mon Sep 17 00:00:00 2001 From: Mario Colque Date: Wed, 22 Jan 2014 10:19:52 -0300 Subject: [PATCH 3/3] added copy-to-clipboard feature --- public/css/common.css | 11 ++++- public/js/app.js | 29 ++++++------- public/js/directives.js | 73 +++++++++++++++++++++++--------- public/views/transaction/tx.html | 4 +- 4 files changed, 79 insertions(+), 38 deletions(-) diff --git a/public/css/common.css b/public/css/common.css index 2d05cff..b6e16a7 100644 --- a/public/css/common.css +++ b/public/css/common.css @@ -391,4 +391,13 @@ h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { color: black; } - +.btn-copy { + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + background: #FFFFFF; + border-radius: 2px; + border: 2px solid #E4E4E4; + color: #9b9b9b; + margin-left: 5px; + padding: 2px 6px; +} diff --git a/public/js/app.js b/public/js/app.js index fd2fffd..321b743 100755 --- a/public/js/app.js +++ b/public/js/app.js @@ -1,20 +1,19 @@ 'use strict'; -angular.module('insight', - ['ngAnimate', - 'ngCookies', - 'ngResource', - 'ngRoute', - 'ui.bootstrap', - 'ui.route', - 'insight.system', - 'insight.socket', - 'insight.blocks', - 'insight.transactions', - 'monospaced.qrcode', - 'insight.address', - 'insight.search', - 'insight.status' +angular.module('insight',[ + 'ngAnimate', + 'ngResource', + 'ngRoute', + 'ui.bootstrap', + 'ui.route', + 'monospaced.qrcode', + 'insight.system', + 'insight.socket', + 'insight.blocks', + 'insight.transactions', + 'insight.address', + 'insight.search', + 'insight.status' ]); angular.module('insight.system', []); diff --git a/public/js/directives.js b/public/js/directives.js index d0fe487..d7c2f8e 100755 --- a/public/js/directives.js +++ b/public/js/directives.js @@ -1,25 +1,58 @@ 'use strict'; -angular.module('insight.address').directive('whenScrolled', ['$window', function($window) { - return { - link: function(scope, elm, attr) { - var pageHeight, clientHeight, scrollPos; - $window = angular.element($window); +var ZeroClipboard = window.ZeroClipboard; - var handler = function() { - pageHeight = window.document.documentElement.scrollHeight; - clientHeight = window.document.documentElement.clientHeight; - scrollPos = window.pageYOffset; +angular.module('insight') + .directive('whenScrolled', ['$window', function($window) { + return { + restric: 'A', + link: function(scope, elm, attr) { + var pageHeight, clientHeight, scrollPos; + $window = angular.element($window); - if (pageHeight - (scrollPos + clientHeight) === 0) { - scope.$apply(attr.whenScrolled); - } - }; + var handler = function() { + pageHeight = window.document.documentElement.scrollHeight; + clientHeight = window.document.documentElement.clientHeight; + scrollPos = window.pageYOffset; - $window.on('scroll', handler); - scope.$on('$destroy', function() { - return $window.off('scroll', handler); - }); - } - }; -}]); + if (pageHeight - (scrollPos + clientHeight) === 0) { + scope.$apply(attr.whenScrolled); + } + }; + + $window.on('scroll', handler); + scope.$on('$destroy', function() { + return $window.off('scroll', handler); + }); + } + }; + }]) + .directive('clipCopy', [function() { + ZeroClipboard.config({ + moviePath: '../lib/zeroclipboard/ZeroClipboard.swf', + trustedDomains: ['*'], + allowScriptAccess: 'always', + forceHandCursor: true + }); + + return { + restric: 'A', + scope: { clipCopy: '=clipCopy' }, + link: function(scope, elm) { + var clip = new ZeroClipboard(elm); + + clip.on('load', function(client) { + var onMousedown = function(client) { + client.setText(scope.clipCopy); + }; + + client.on('mousedown', onMousedown); + + scope.$on('$destroy', function() { + client.off('mousedown', onMousedown); + client.unglue(elm); + }); + }); + } + }; + }]); diff --git a/public/views/transaction/tx.html b/public/views/transaction/tx.html index fd505df..42cc947 100644 --- a/public/views/transaction/tx.html +++ b/public/views/transaction/tx.html @@ -1,7 +1,7 @@
- {{tx.txid}} + {{tx.txid}} - + {{tx.time * 1000 | date:'medium'}}