فهرست منبع

Web editor: improve edit file

Unknwon 8 سال پیش
والد
کامیت
ba27d71abe

+ 7 - 11
conf/locale/locale_en-US.ini

@@ -426,14 +426,9 @@ file_view_raw = View Raw
 file_permalink = Permalink
 file_too_large = This file is too large to be shown
 
-cancel_lower = cancel
-or = or
-upload_files = Upload files
-edit_file = Edit file
-unable_to_update_file = Unable to update this file, error occurred
-filename_help = To add directory, just type it and press /. To remove a directory, go to the beginning of the field and press backspace.
-new_branch = new branch
 editor.new_file = New file
+editor.edit_file = Edit file
+editor.preview_changes = Preview Changes
 editor.cannot_edit_non_text_files = Cannot edit non-text files
 editor.edit_this_file = Edit this file
 editor.must_be_on_a_branch = You must be on a branch to make or propose changes to this file
@@ -441,6 +436,10 @@ editor.fork_before_edit = You must fork this repository before editing the file
 editor.delete_this_file = Delete this file
 editor.must_have_write_access = You must have write access to make or propose changes to this file
 editor.file_delete_success = File '%s' has been deleted successfully!
+editor.name_your_file = Name your file...
+editor.filename_help = To add directory, just type it and press /. To remove a directory, go to the beginning of the field and press backspace.
+editor.or = or
+editor.cancel_lower = cancel
 editor.commit_changes = Commit Changes
 editor.add_tmpl = Add '%s/<filename>'
 editor.add = Add '%s'
@@ -458,14 +457,11 @@ editor.filename_is_a_directory = The filename '%s' is an existing directory in t
 editor.file_editing_no_longer_exists = The file '%s' you are editing no longer exists in the repository.
 editor.file_changed_while_editing = File content has been changed since you started editing. <a target="_blank" href="%s">Click here</a> to see what have been changed or <strong>press commit again</strong> to overwrite those changes.
 editor.file_already_exists = A file with name '%s' already exists in this repository.
-editor.failed_to_upload_files = An error occurred while updating file: %v
 editor.no_changes_to_show = There are no changes to show.
+upload_files = Upload files
 upload_file = Upload file
 add_files_to_dir = Add files to %s
 add_subdir = Add subdirectory...
-name_your_file = Name your file...
-copy_file_path_to_clipboard = Copy file path to clipboard
-preview_changes = Preview Changes
 
 commits.commits = Commits
 commits.search = Search commits

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
modules/bindata/bindata.go


+ 1 - 1
routers/repo/commit.go

@@ -20,7 +20,7 @@ import (
 
 const (
 	COMMITS base.TplName = "repo/commits"
-	DIFF    base.TplName = "repo/diff"
+	DIFF    base.TplName = "repo/diff/page"
 )
 
 func RefCommits(ctx *context.Context) {

+ 2 - 9
routers/repo/editor.go

@@ -22,7 +22,6 @@ import (
 const (
 	EDIT_FILE         base.TplName = "repo/editor/edit"
 	EDIT_DIFF_PREVIEW base.TplName = "repo/editor/diff_preview"
-	NEW_DIFF_PREVIEW  base.TplName = "repo/editor/diff_preview_new"
 	DELETE_FILE       base.TplName = "repo/editor/delete"
 )
 
@@ -289,15 +288,9 @@ func DiffPreviewPost(ctx *context.Context, form auth.EditPreviewDiffForm) {
 
 	entry, err := ctx.Repo.Commit.GetTreeEntryByPath(treePath)
 	if err != nil {
-		if git.IsErrNotExist(err) {
-			ctx.Data["FileContent"] = content
-			ctx.HTML(200, NEW_DIFF_PREVIEW)
-		} else {
-			ctx.Error(500, "GetTreeEntryByPath: "+err.Error())
-		}
+		ctx.Error(500, "GetTreeEntryByPath: "+err.Error())
 		return
-	}
-	if entry.IsDir() {
+	} else if entry.IsDir() {
 		ctx.Error(422)
 		return
 	}

+ 2 - 22
templates/repo/diff_box.tmpl → templates/repo/diff/box.tmpl

@@ -52,7 +52,6 @@
 				</h4>
 			</div>
 		{{else}}
-			{{$highlightClass := $file.GetHighlightClass}}
 			<div class="diff-file-box diff-box file-content {{TabSizeClass $.Editorconfig $file.Name}}" id="diff-{{.Index}}">
 				<h4 class="ui top attached normal header">
 					<div class="diff-counter count ui left">
@@ -90,6 +89,7 @@
 								<table>
 									<tbody>
 										{{if $.IsSplitStyle}}
+											{{$highlightClass := $file.GetHighlightClass}}
 											{{range $j, $section := $file.Sections}}
 												{{range $k, $line := $section.Lines}}
 													<tr class="{{DiffLineTypeToStr .GetType}}-code nl-{{$k}} ol-{{$k}}">
@@ -109,27 +109,7 @@
 												{{end}}
 											{{end}}
 										{{else}}
-											{{range $j, $section := $file.Sections}}
-												{{range $k, $line := $section.Lines}}
-													<tr class="{{DiffLineTypeToStr .GetType}}-code nl-{{$k}} ol-{{$k}}">
-														{{if eq .GetType 4}}
-														<td colspan="2" class="lines-num">
-															{{/* {{if gt $j 0}}<span class="fold octicon octicon-fold"></span>{{end}} */}}
-														</td>
-														{{else}}
-														<td class="lines-num lines-num-old">
-															<span rel="{{if $line.LeftIdx}}diff-{{Sha1 $file.Name}}L{{$line.LeftIdx}}{{end}}">{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}</span>
-														</td>
-														<td class="lines-num lines-num-new">
-															<span rel="{{if $line.RightIdx}}diff-{{Sha1 $file.Name}}R{{$line.RightIdx}}{{end}}">{{if $line.RightIdx}}{{$line.RightIdx}}{{end}}</span>
-														</td>
-														{{end}}
-														<td class="lines-code">
-															<pre><code class="{{if $highlightClass}}language-{{$highlightClass}}{{else}}nohighlight{{end}}">{{$section.GetComputedInlineDiffFor $line}}</code></pre>
-														</td>
-													</tr>
-												{{end}}
-											{{end}}
+											{{template "repo/diff/section_unified" .}}
 										{{end}}
 									</tbody>
 								</table>

+ 1 - 1
templates/repo/diff.tmpl → templates/repo/diff/page.tmpl

@@ -39,7 +39,7 @@
 			</div>
 		{{end}}
 
-		{{template "repo/diff_box" .}}
+		{{template "repo/diff/box" .}}
 	</div>
 </div>
 {{template "base/footer" .}}

+ 23 - 0
templates/repo/diff/section_unified.tmpl

@@ -0,0 +1,23 @@
+{{$file := .}}
+{{$highlightClass := $file.GetHighlightClass}}
+{{range $j, $section := $file.Sections}}
+	{{range $k, $line := $section.Lines}}
+		<tr class="{{DiffLineTypeToStr .GetType}}-code nl-{{$k}} ol-{{$k}}">
+			{{if eq .GetType 4}}
+			<td colspan="2" class="lines-num">
+				{{/* {{if gt $j 0}}<span class="fold octicon octicon-fold"></span>{{end}} */}}
+			</td>
+			{{else}}
+			<td class="lines-num lines-num-old">
+				<span rel="{{if $line.LeftIdx}}diff-{{Sha1 $file.Name}}L{{$line.LeftIdx}}{{end}}">{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}</span>
+			</td>
+			<td class="lines-num lines-num-new">
+				<span rel="{{if $line.RightIdx}}diff-{{Sha1 $file.Name}}R{{$line.RightIdx}}{{end}}">{{if $line.RightIdx}}{{$line.RightIdx}}{{end}}</span>
+			</td>
+			{{end}}
+			<td class="lines-code">
+				<pre><code class="{{if $highlightClass}}language-{{$highlightClass}}{{else}}nohighlight{{end}}">{{$section.GetComputedInlineDiffFor $line}}</code></pre>
+			</td>
+		</tr>
+	{{end}}
+{{end}}

+ 3 - 22
templates/repo/editor/diff_preview.tmpl

@@ -1,29 +1,10 @@
-{{$highlightClass := .File.GetHighlightClass}}
-<div class="diff-file-box diff-box file-content" id="diff-{{.Index}}">
+<div class="diff-file-box">
 	<div class="ui attached table segment">
 		<div class="file-body file-code code-view code-diff">
 			<table>
 				<tbody>
-					{{range $j, $section := .File.Sections}}
-						{{range $k, $line := $section.Lines}}
-							<tr class="{{DiffLineTypeToStr .GetType}}-code nl-{{$k}} ol-{{$k}}">
-								{{if eq .GetType 4}}
-								<td colspan="2" class="lines-num">
-									{{/* {{if gt $j 0}}<span class="fold octicon octicon-fold"></span>{{end}} */}}
-								</td>
-								{{else}}
-								<td class="lines-num lines-num-old">
-									<span rel="{{if $line.LeftIdx}}diff-{{Sha1 $.File.Name}}L{{$line.LeftIdx}}{{end}}">{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}</span>
-								</td>
-								<td class="lines-num lines-num-new">
-									<span rel="{{if $line.RightIdx}}diff-{{Sha1 $.File.Name}}R{{$line.RightIdx}}{{end}}">{{if $line.RightIdx}}{{$line.RightIdx}}{{end}}</span>
-								</td>
-								{{end}}
-								<td class="lines-code">
-									<pre><code class="{{if $highlightClass}}language-{{$highlightClass}}{{else}}nohighlight{{end}}">{{$section.GetComputedInlineDiffFor $line}}</code></pre>
-								</td>
-							</tr>
-						{{end}}
+					{{with .File}}
+						{{template "repo/diff/section_unified" .}}
 					{{end}}
 				</tbody>
 			</table>

+ 0 - 12
templates/repo/editor/diff_preview_new.tmpl

@@ -1,12 +0,0 @@
-<div id="file-content" class="ui attached table segment">
-	<div class="file-view code-view has-emoji">
-		<table>
-			<tbody>
-				<tr>
-					<td class="lines-num"></td>
-					<td class="lines-code"><pre><code><ol class="linenums">{{.FileContent}}</ol></code></pre></td>
-				</tr>
-			</tbody>
-		</table>
-	</div>
-</div>

+ 7 - 8
templates/repo/editor/edit.tmpl

@@ -1,9 +1,9 @@
 {{template "base/head" .}}
-<div class="repository file editor">
+<div class="repository file editor edit">
 	{{template "repo/header" .}}
 	<div class="ui container">
 		{{template "base/alert" .}}
-		<form class="ui edit form" action="{{EscapePound $.Link}}" method="post">
+		<form class="ui edit form" method="post">
 			{{.CsrfTokenHtml}}
 			<input type="hidden" name="last_commit" value="{{.last_commit}}">
 			<div class="ui secondary menu">
@@ -15,24 +15,23 @@
 						{{range $i, $v := .TreeNames}}
 							<div class="divider"> / </div>
 							{{if eq $i $l}}
-								<input id="file-name" value="{{$v}}" placeholder="{{$.i18n.Tr "repo.name_your_file"}}" required autofocus> 
-								<span class="octicon octicon-info poping up" data-content="{{$.i18n.Tr "repo.filename_help"}}" data-position="bottom center" data-variation="tiny"></span>
+								<input id="file-name" value="{{$v}}" placeholder="{{$.i18n.Tr "repo.editor.name_your_file"}}" required autofocus> 
+								<span class="octicon octicon-info poping up" data-content="{{$.i18n.Tr "repo.editor.filename_help"}}" data-position="bottom center" data-variation="tiny inverted"></span>
 							{{else}}
 								<span class="section"><a href="{{EscapePound $.BranchLink}}/{{EscapePound $v}}">{{$v}}</a></span>
 							{{end}}
 						{{end}}
-						<!-- <button class="clipboard-tree-name octicon octicon-clippy poping up" type="button" data-content="{{.i18n.Tr "repo.copy_file_path_to_clipboard"}}" data-position="bottom center" data-variation="tiny inverted"></button> -->
-						<span class="repo-edit-file-cancel">{{.i18n.Tr "repo.or"}} <a href="{{EscapePound $.BranchLink}}{{if not .IsNewFile}}/{{EscapePound .TreePath}}{{end}}">{{.i18n.Tr "repo.cancel_lower"}}</a></span>
+						<span>{{.i18n.Tr "repo.editor.or"}} <a href="{{EscapePound $.BranchLink}}{{if not .IsNewFile}}/{{EscapePound .TreePath}}{{end}}">{{.i18n.Tr "repo.editor.cancel_lower"}}</a></span>
 						<input type="hidden" id="tree_path" name="tree_path" value="{{.TreePath}}" required>
 					</div>
 				</div>
 			</div>
 			<div class="field">
 				<div class="ui top attached tabular menu" data-write="write" data-preview="preview" data-diff="diff">
-					<a class="active item" data-tab="write"><i class="octicon octicon-code"></i> {{if .IsNewFile}}{{.i18n.Tr "repo.new_file"}}{{else}}{{.i18n.Tr "repo.edit_file"}}{{end}}</a>
+					<a class="active item" data-tab="write"><i class="octicon octicon-code"></i> {{if .IsNewFile}}{{.i18n.Tr "repo.editor.new_file"}}{{else}}{{.i18n.Tr "repo.editor.edit_file"}}{{end}}</a>
 					{{if not .IsNewFile}}
 					<a class="item" data-tab="preview" data-url="{{AppSubUrl}}/api/v1/markdown" data-context="{{.RepoLink}}" data-preview-file-modes="{{.PreviewableFileModes}}"><i class="octicon octicon-eye"></i> {{.i18n.Tr "repo.release.preview"}}</a>
-					<a class="item" data-tab="diff" data-url="{{.RepoLink}}/_preview/{{.BranchName}}/{{.TreePath}}" data-context="{{.BranchLink}}"><i class="octicon octicon-diff"></i> {{.i18n.Tr "repo.preview_changes"}}</a>
+					<a class="item" data-tab="diff" data-url="{{.RepoLink}}/_preview/{{.BranchName}}/{{.TreePath}}" data-context="{{.BranchLink}}"><i class="octicon octicon-diff"></i> {{.i18n.Tr "repo.editor.preview_changes"}}</a>
 					{{end}}
 				</div>
 				<div class="ui bottom attached active tab segment" data-tab="write">

+ 1 - 1
templates/repo/pulls/compare.tmpl

@@ -57,7 +57,7 @@
 			{{else}}
 				{{template "repo/issue/new_form" .}}
 				{{template "repo/commits_table" .}}
-				{{template "repo/diff_box" .}}
+				{{template "repo/diff/box" .}}
 			{{end}}
 		</div>
 

+ 1 - 1
templates/repo/pulls/files.tmpl

@@ -12,7 +12,7 @@
 		{{template "repo/issue/view_title" .}}
 		{{template "repo/pulls/tab_menu" .}}
 		<div class="ui bottom attached tab pull segment active">
-			{{template "repo/diff_box" .}}
+			{{template "repo/diff/box" .}}
 		</div>
 	</div>
 </div>

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است