comparison rhodecode/templates/changeset/changeset.html @ 2187:b61e540122f2 beta

#415: Adding comment to changeset causes reload - comments are now added via ajax and doesn't reload the page
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 14 Apr 2012 22:13:07 +0200
parents e8c016815ab9
children 76947224bf27 2cfaf199a5a7
comparison
equal deleted inserted replaced
2186:7b52c2351231 2187:b61e540122f2
120 120
121 ## template for inline comment form 121 ## template for inline comment form
122 <%namespace name="comment" file="/changeset/changeset_file_comment.html"/> 122 <%namespace name="comment" file="/changeset/changeset_file_comment.html"/>
123 ${comment.comment_inline_form(c.changeset)} 123 ${comment.comment_inline_form(c.changeset)}
124 124
125 ## render comments
125 ${comment.comments(c.changeset)} 126 ${comment.comments(c.changeset)}
126
127 <script type="text/javascript"> 127 <script type="text/javascript">
128 var deleteComment = function(comment_id){
129
130 var url = "${url('changeset_comment_delete',repo_name=c.repo_name,comment_id='__COMMENT_ID__')}".replace('__COMMENT_ID__',comment_id);
131 var postData = '_method=delete';
132 var success = function(o){
133 var n = YUD.get('comment-'+comment_id);
134 n.parentNode.removeChild(n);
135 }
136 ajaxPOST(url,postData,success);
137 }
138
139 YUE.onDOMReady(function(){ 128 YUE.onDOMReady(function(){
140 129 AJAX_COMMENT_URL = "${url('changeset_comment',repo_name=c.repo_name,revision=c.changeset.raw_id)}";
130 AJAX_COMMENT_DELETE_URL = "${url('changeset_comment_delete',repo_name=c.repo_name,comment_id='__COMMENT_ID__')}"
141 YUE.on(YUQ('.show-inline-comments'),'change',function(e){ 131 YUE.on(YUQ('.show-inline-comments'),'change',function(e){
142 var show = 'none'; 132 var show = 'none';
143 var target = e.currentTarget; 133 var target = e.currentTarget;
144 if(target.checked){ 134 if(target.checked){
145 var show = '' 135 var show = ''
160 injectInlineForm(tr); 150 injectInlineForm(tr);
161 }); 151 });
162 152
163 // inject comments into they proper positions 153 // inject comments into they proper positions
164 var file_comments = YUQ('.inline-comment-placeholder'); 154 var file_comments = YUQ('.inline-comment-placeholder');
165 155 renderInlineComments(file_comments);
166 for (f in file_comments){
167 var box = file_comments[f];
168 var inlines = box.children;
169 for(var i=0; i<inlines.length; i++){
170 try{
171
172 var inline = inlines[i];
173 var lineno = YUD.getAttribute(inlines[i],'line');
174 var lineid = "{0}_{1}".format(YUD.getAttribute(inline,'target_id'),lineno);
175 var target_line = YUD.get(lineid);
176
177 var add = createInlineAddButton(target_line.parentNode,'${_("add another comment")}');
178 YUD.insertAfter(add,target_line.parentNode);
179
180 var comment = new YAHOO.util.Element(tableTr('inline-comments',inline.innerHTML))
181 YUD.insertAfter(comment,target_line.parentNode);
182 }catch(e){
183 console.log(e);
184 }
185 }
186 }
187 }) 156 })
188 157
189 </script> 158 </script>
190 159
191 </div> 160 </div>