Integrating ZeroClipboard in Copay as directive

This commit is contained in:
Gustavo Maximiliano Cortez 2014-07-31 16:34:21 -03:00
parent 010c13fa4f
commit dc565e0a68
4 changed files with 37 additions and 1 deletions

View File

@ -21,6 +21,7 @@
"bitcore": "0.1.34",
"angular-moment": "~0.7.1",
"socket.io-client": ">=1.0.0",
"mousetrap": "1.4.6"
"mousetrap": "1.4.6",
"zeroclipboard": "~2.1.6"
}
}

BIN
img/icons/copy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 B

View File

@ -74,6 +74,7 @@
<script src="lib/sjcl.js"></script>
<script src="lib/ios-imagefile-megapixel/megapix-image.js"></script>
<script src="lib/qrcode-decoder-js/lib/qrcode-decoder.min.js"></script>
<script src="lib/zeroclipboard/dist/ZeroClipboard.min.js"></script>
<script src="config.js"></script>
<script src="js/copayBundle.js"></script>

View File

@ -232,4 +232,38 @@ angular.module('copayApp.directives')
}
};
})
.directive('clipCopy', function() {
ZeroClipboard.config({
moviePath: '/lib/zeroclipboard/dist/ZeroClipboard.swf',
trustedDomains: ['*'],
allowScriptAccess: 'always',
forceHandCursor: true
});
return {
restric: 'A',
scope: { clipCopy: '=clipCopy' },
link: function(scope, elm) {
var client = new ZeroClipboard(elm);
client.on( 'ready', function(event) {
client.on( 'copy', function(event) {
event.clipboardData.setData('text/plain', scope.clipCopy);
});
client.on( 'aftercopy', function(event) {
elm.removeClass('btn-copy').addClass('btn-copied').html('Copied!');
setTimeout(function() {
elm.addClass('btn-copy').removeClass('btn-copied').html('');
}, 1000);
});
});
client.on( 'error', function(event) {
console.log( 'ZeroClipboard error of type "' + event.name + '": ' + event.message );
ZeroClipboard.destroy();
});
}
};
})
;