diff options
Diffstat (limited to 'js')
-rw-r--r-- | js/controllers/clipboard-controller.js | 52 |
1 files changed, 2 insertions, 50 deletions
diff --git a/js/controllers/clipboard-controller.js b/js/controllers/clipboard-controller.js index b2e5a33b..d26aaa80 100644 --- a/js/controllers/clipboard-controller.js +++ b/js/controllers/clipboard-controller.js | |||
@@ -61,9 +61,9 @@ var ClipboardController = exports.ClipboardController = Montage.create(Component | |||
61 | value:function(clipboardEvent){ | 61 | value:function(clipboardEvent){ |
62 | //depends on the clipboard event | 62 | //depends on the clipboard event |
63 | if(this.application.ninja.selectedElements.length > 0){ | 63 | if(this.application.ninja.selectedElements.length > 0){ |
64 | clipboardEvent.clipboardData.setData('text/html', ''+this.application.ninja.selectedElements[0].outerHTML);//copying first selected element for POC | 64 | clipboardEvent.clipboardData.setData('text/html', ''+this.application.ninja.selectedElements[0].outerHTML);//copying first selected element for POC |
65 | 65 | ||
66 | clipboardEvent.preventDefault(); | 66 | clipboardEvent.preventDefault(); |
67 | } | 67 | } |
68 | } | 68 | } |
69 | }, | 69 | }, |
@@ -78,7 +78,6 @@ var ClipboardController = exports.ClipboardController = Montage.create(Component | |||
78 | 78 | ||
79 | 79 | ||
80 | clipboardEvent.preventDefault(); | 80 | clipboardEvent.preventDefault(); |
81 | clipboardEvent.stopPropagation(); | ||
82 | } | 81 | } |
83 | }, | 82 | }, |
84 | 83 | ||
@@ -100,52 +99,5 @@ var ClipboardController = exports.ClipboardController = Montage.create(Component | |||
100 | 99 | ||
101 | clipboardEvent.preventDefault(); | 100 | clipboardEvent.preventDefault(); |
102 | } | 101 | } |
103 | }, | ||
104 | |||
105 | /* | ||
106 | does not preserve the css class / html structure while copying | ||
107 | */ | ||
108 | copyUsingContenteditable:{ | ||
109 | value:function(){ | ||
110 | var clipboardHelper=document.getElementById("clipboardHelper"),copyElement = null, textData = ""; | ||
111 | if((this.copyFlag === true) ) { | ||
112 | if(!clipboardHelper) clipboardHelper.innerHTML = "";//clear | ||
113 | this.copyFlag = false; | ||
114 | return;//break infinite loop | ||
115 | } | ||
116 | |||
117 | //dynamically create editable div for execCommand->copy | ||
118 | if(!clipboardHelper){ | ||
119 | clipboardHelper = document.createElement ("div"); | ||
120 | clipboardHelper.id = "clipboardHelper"; | ||
121 | // place outside the visible area | ||
122 | clipboardHelper.style.position = "absolute"; | ||
123 | clipboardHelper.style.left = "-10000px"; | ||
124 | clipboardHelper.style.top = "-10000px"; | ||
125 | clipboardHelper.setAttribute("contenteditable", "true"); | ||
126 | clipboardHelper.style.webkitUserSelect = "auto"; | ||
127 | |||
128 | // clipboardHelper.style.width = "500px"; | ||
129 | // clipboardHelper.style.height = "125px"; | ||
130 | // clipboardHelper.style.overflow = "visible"; | ||
131 | // clipboardHelper.style.zIndex = "10000"; | ||
132 | // clipboardHelper.style.border = "1px solid red"; | ||
133 | // clipboardHelper.style.backgroundColor = "yellow"; | ||
134 | |||
135 | document.body.appendChild (clipboardHelper); | ||
136 | } | ||
137 | |||
138 | clipboardHelper.focus(); | ||
139 | //copy single selection for POC | ||
140 | if(this.application.ninja.selectedElements.length > 0){ | ||
141 | clipboardHelper.innerHTML = this.application.ninja.selectedElements[0].outerHTML; | ||
142 | } | ||
143 | //do selection | ||
144 | document.execCommand('selectAll',false,null); | ||
145 | this.copyFlag = true;//flag to prevent infinite loop | ||
146 | document.execCommand('copy',false,null); | ||
147 | |||
148 | } | ||
149 | } | 102 | } |
150 | |||
151 | }); \ No newline at end of file | 103 | }); \ No newline at end of file |