1
1
angular . module ( 'zeroclipboard' , [ ] )
2
2
. provider ( 'uiZeroclipConfig' , function ( ) {
3
+
3
4
// default configs
4
5
var _zeroclipConfig = {
5
- buttonClass : '' ,
6
- swfPath : "ZeroClipboard.swf" ,
7
- trustedDomains : [ window . location . host ] ,
8
- cacheBust : true ,
9
- forceHandCursor : false ,
10
- zIndex : 999999999 ,
11
- debug : true ,
12
- title : null ,
13
- autoActivate : true ,
14
- flashLoadTimeout : 30000 ,
15
- hoverClass : "zeroclipboard-is-hover" ,
16
- activeClass : "zeroclipboard-is-active"
6
+ buttonClass : '' ,
7
+ swfPath : "ZeroClipboard.swf" ,
8
+ trustedDomains : [ window . location . host ] ,
9
+ cacheBust : true ,
10
+ forceHandCursor : false ,
11
+ zIndex : 999999999 ,
12
+ debug : true ,
13
+ title : null ,
14
+ autoActivate : true ,
15
+ flashLoadTimeout : 30000 ,
16
+ hoverClass : "zeroclipboard-is-hover" ,
17
+ activeClass : "zeroclipboard-is-active"
17
18
} ;
18
19
var _overrideConfig = true ;
19
20
@@ -32,75 +33,75 @@ angular.module('zeroclipboard', [])
32
33
} )
33
34
34
35
. directive ( 'uiZeroclip' , [ '$document' , '$window' , 'uiZeroclipConfig' ,
35
- function ( $document , $window , uiZeroclipConfig ) {
36
+ function ( $document , $window , uiZeroclipConfig ) {
36
37
37
- var zeroclipConfig = uiZeroclipConfig . zeroclipConfig || { } ;
38
- var ZeroClipboard = $window . ZeroClipboard ;
38
+ var zeroclipConfig = uiZeroclipConfig . zeroclipConfig || { } ;
39
+ var ZeroClipboard = $window . ZeroClipboard ;
39
40
40
- return {
41
- scope : {
42
- onCopied : '&zeroclipCopied' ,
43
- onError : '&?zeroclipOnError' ,
44
- onBeforeCopy : '&?zeroclipOnBeforeCopy' ,
45
- client : '=?uiZeroclip' ,
46
- value : '=zeroclipModel' ,
47
- text : '@zeroclipText'
48
- } ,
49
- link : function ( scope , element , attrs ) {
41
+ return {
42
+ scope : {
43
+ onCopied : '&zeroclipCopied' ,
44
+ onError : '&?zeroclipOnError' ,
45
+ onBeforeCopy : '&?zeroclipOnBeforeCopy' ,
46
+ client : '=?uiZeroclip' ,
47
+ value : '=zeroclipModel' ,
48
+ text : '@zeroclipText'
49
+ } ,
50
+ link : function ( scope , element , attrs ) {
50
51
51
- var btn = element [ 0 ] ;
52
- var _completeHnd ;
52
+ var btn = element [ 0 ] ;
53
+ var _completeHnd ;
53
54
54
- // config
55
- if ( uiZeroclipConfig . overrideConfig ) {
56
- ZeroClipboard . config ( zeroclipConfig ) ;
57
- }
55
+ // config
56
+ if ( uiZeroclipConfig . overrideConfig ) {
57
+ ZeroClipboard . config ( zeroclipConfig ) ;
58
+ }
58
59
59
- if ( angular . isFunction ( ZeroClipboard ) ) {
60
- scope . client = new ZeroClipboard ( btn ) ;
60
+ if ( angular . isFunction ( ZeroClipboard ) ) {
61
+ scope . client = new ZeroClipboard ( btn ) ;
62
+ }
63
+
64
+ scope . $watch ( 'value' , function ( v ) {
65
+ if ( v === undefined ) {
66
+ return ;
61
67
}
68
+ element . attr ( 'data-clipboard-text' , v ) ;
69
+ } ) ;
62
70
63
- scope . $watch ( 'value' , function ( v ) {
64
- if ( v === undefined ) {
65
- return ;
66
- }
67
- element . attr ( 'data-clipboard-text' , v ) ;
68
- } ) ;
71
+ scope . $watch ( 'text' , function ( v ) {
72
+ element . attr ( 'data-clipboard-text' , v ) ;
73
+ } ) ;
69
74
70
- scope . $watch ( 'text' , function ( v ) {
71
- element . attr ( 'data-clipboard-text' , v ) ;
75
+ scope . client . on ( 'aftercopy' , _completeHnd = function ( e ) {
76
+ scope . $apply ( function ( ) {
77
+ scope . onCopied ( { $event : e } ) ;
72
78
} ) ;
79
+ } ) ;
73
80
74
- scope . client . on ( 'aftercopy' , _completeHnd = function ( e ) {
81
+ scope . client . on ( 'error' , function ( e ) {
82
+ if ( scope . onError ) {
75
83
scope . $apply ( function ( ) {
76
- scope . onCopied ( { $event : e } ) ;
84
+ scope . onError ( { $event : e } ) ;
77
85
} ) ;
78
- } ) ;
79
-
80
- scope . client . on ( 'error' , function ( e ) {
81
- if ( scope . onError ) {
82
- scope . $apply ( function ( ) {
83
- scope . onError ( { $event : e } ) ;
84
- } ) ;
85
- }
86
- ZeroClipboard . destroy ( ) ;
87
- } ) ;
86
+ }
87
+ ZeroClipboard . destroy ( ) ;
88
+ } ) ;
88
89
89
- scope . client . on ( 'beforecopy' , function ( e ) {
90
- if ( scope . onBeforeCopy ) {
91
- scope . $apply ( function ( ) {
92
- scope . onBeforeCopy ( { $event : e } ) ;
93
- } ) ;
94
- }
95
- } ) ;
90
+ scope . client . on ( 'beforecopy' , function ( e ) {
91
+ if ( scope . onBeforeCopy ) {
92
+ scope . $apply ( function ( ) {
93
+ scope . onBeforeCopy ( { $event : e } ) ;
94
+ } ) ;
95
+ }
96
+ } ) ;
96
97
97
- scope . $on ( '$destroy' , function ( ) {
98
- scope . client . off ( 'complete' , _completeHnd ) ;
99
- scope . client = null ;
100
- element . off ( ) ;
101
- ZeroClipboard . destroy ( ) ;
102
- } ) ;
103
- }
104
- } ;
105
- }
98
+ scope . $on ( '$destroy' , function ( ) {
99
+ scope . client . off ( 'complete' , _completeHnd ) ;
100
+ scope . client = null ;
101
+ element . off ( ) ;
102
+ ZeroClipboard . destroy ( ) ;
103
+ } ) ;
104
+ }
105
+ } ;
106
+ }
106
107
] ) ;
0 commit comments