Mercurial > kallithea
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> |