[Notice] Announcing the End of Demo Server [Read me]
wansoon 2013-10-21
pull-request form: Apply server-side code diff rendering
1. Apply server-side code diff rendering
2. Add changed commit validation
@165f6bdd57e786d0b8aaa3c01c2ce95b344961fe
app/views/git/create.scala.html
--- app/views/git/create.scala.html
+++ app/views/git/create.scala.html
@@ -107,10 +107,26 @@
             <div id="frmWrap">
 			@views.html.git.partial_diff(form, project, mergeResult, pullRequest)
 			</div>
+			<div id="compare" class="modal hide compare-wrap" tabindex="-1" role="dialog">
+			    <h4 class="path">
+			        <span></span>
+			        <button type="button" class="ybtn pull-right" data-dismiss="modal" style="margin-right:20px;">@Messages("button.confirm")</button>
+			    </h4>
+			    <div class="row-fluid">
+			        <div class="span6 compare-from"></div>
+			        <div class="span6 compare-to"></div>
+			    </div>
+			    <div id="mergely" class="mergely-wrap"></div>
+			</div>
         }
     </div>
 </div>
 
+<link rel="stylesheet" type="text/css" media="screen" href="@routes.Assets.at("javascripts/lib/mergely/codemirror.css")">
+<link rel="stylesheet" type="text/css" media="screen" href="@routes.Assets.at("javascripts/lib/mergely/mergely.css")">
+<script type="text/javascript" src="@getJSLink("lib/mergely/codemirror.min")"></script>
+<script type="text/javascript" src="@getJSLink("lib/mergely/mergely")"></script>
+
 <script type="text/javascript" src="/assets/javascripts/lib/spin.js"></script>
 <script type="text/javascript">
 $(document).ready(function() {
app/views/git/partial_diff.scala.html
--- app/views/git/partial_diff.scala.html
+++ app/views/git/partial_diff.scala.html
@@ -121,11 +121,25 @@
 			</div>
 			   
 			<div id="__changes" class="tab-pane">
-				<pre>@pullRequest.getPatch()</pre>
+				<div class="diff-body">
+				@views.html.partial_diff(pullRequest.getDiff, new ArrayList[CodeComment])
+				</div>
 			</div>
 			</div>
 			}
 			}
 			</div>
-
-			
(No newline at end of file)
+			<input type="hidden" id="commitChanged" value="@if(result != null){ @result.commitChanged } else {false}" />
+			<script type="text/javascript">
+			$(document).ready(function() {
+				$yobi.loadModule("code.Diff", {
+		            "welDiff": $("#pull-request-changes"),
+		            "sAttachmentAction": "@routes.AttachmentApp.uploadFile",
+		            "bCommentable": false,
+		            "sTplFileURLA"    : "@routes.CodeApp.codeBrowserWithBranch(pullRequest.toProject.owner, pullRequest.toProject.name, "${commitId}", "${path}")",
+		            "sTplFileURLB"    : "@routes.CodeApp.codeBrowserWithBranch(pullRequest.fromProject.owner, pullRequest.fromProject.name, "${commitId}", "${path}")",
+		            "sTplRawURLA"     : "@routes.CodeApp.showRawFile(pullRequest.toProject.owner, pullRequest.toProject.name, "${commitId}", "${path}")",
+		            "sTplRawURLB"     : "@routes.CodeApp.showRawFile(pullRequest.fromProject.owner, pullRequest.fromProject.name, "${commitId}", "${path}")"
+		        });
+			});
+			</script>
(No newline at end of file)
public/javascripts/service/yobi.git.Write.js
--- public/javascripts/service/yobi.git.Write.js
+++ public/javascripts/service/yobi.git.Write.js
@@ -35,6 +35,8 @@
             htVar.oToBranch  = new yobi.ui.Dropdown({"elContainer": htOptions.welToBranch});
             htVar.sUploaderId = null;
             htVar.oSpinner = null;
+            htVar.bCommitChanged = false;
+            
             htVar.htUserInput = {};
             htVar.sTplFileItem = $('#tplAttachedFile').text();
         }
@@ -204,7 +206,14 @@
                     return false;
                 }
             }
-
+            
+            htVar.bCommitChanged = $.trim($("#commitChanged").val()) == "true";
+            
+            if(!htVar.bCommitChanged) {
+                $yobi.alert(Messages("pullRequest.diff.noChanges"));
+                return false;
+            }
+            
             return true;
         }
 
Add a comment
List