Web editor: improve edit file

This commit is contained in:
Unknwon 2016-08-28 04:31:42 -07:00
parent 7115e3a4d5
commit ba27d71abe
12 changed files with 50 additions and 90 deletions

View File

@ -426,14 +426,9 @@ file_view_raw = View Raw
file_permalink = Permalink file_permalink = Permalink
file_too_large = This file is too large to be shown 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.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.cannot_edit_non_text_files = Cannot edit non-text files
editor.edit_this_file = Edit this file 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 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.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.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.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.commit_changes = Commit Changes
editor.add_tmpl = Add '%s/<filename>' editor.add_tmpl = Add '%s/<filename>'
editor.add = Add '%s' 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_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_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.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. editor.no_changes_to_show = There are no changes to show.
upload_files = Upload files
upload_file = Upload file upload_file = Upload file
add_files_to_dir = Add files to %s add_files_to_dir = Add files to %s
add_subdir = Add subdirectory... 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.commits = Commits
commits.search = Search commits commits.search = Search commits

File diff suppressed because one or more lines are too long

View File

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

View File

@ -22,7 +22,6 @@ import (
const ( const (
EDIT_FILE base.TplName = "repo/editor/edit" EDIT_FILE base.TplName = "repo/editor/edit"
EDIT_DIFF_PREVIEW base.TplName = "repo/editor/diff_preview" 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" 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) entry, err := ctx.Repo.Commit.GetTreeEntryByPath(treePath)
if err != nil { 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 return
} } else if entry.IsDir() {
if entry.IsDir() {
ctx.Error(422) ctx.Error(422)
return return
} }

View File

@ -52,7 +52,6 @@
</h4> </h4>
</div> </div>
{{else}} {{else}}
{{$highlightClass := $file.GetHighlightClass}}
<div class="diff-file-box diff-box file-content {{TabSizeClass $.Editorconfig $file.Name}}" id="diff-{{.Index}}"> <div class="diff-file-box diff-box file-content {{TabSizeClass $.Editorconfig $file.Name}}" id="diff-{{.Index}}">
<h4 class="ui top attached normal header"> <h4 class="ui top attached normal header">
<div class="diff-counter count ui left"> <div class="diff-counter count ui left">
@ -90,6 +89,7 @@
<table> <table>
<tbody> <tbody>
{{if $.IsSplitStyle}} {{if $.IsSplitStyle}}
{{$highlightClass := $file.GetHighlightClass}}
{{range $j, $section := $file.Sections}} {{range $j, $section := $file.Sections}}
{{range $k, $line := $section.Lines}} {{range $k, $line := $section.Lines}}
<tr class="{{DiffLineTypeToStr .GetType}}-code nl-{{$k}} ol-{{$k}}"> <tr class="{{DiffLineTypeToStr .GetType}}-code nl-{{$k}} ol-{{$k}}">
@ -109,27 +109,7 @@
{{end}} {{end}}
{{end}} {{end}}
{{else}} {{else}}
{{range $j, $section := $file.Sections}} {{template "repo/diff/section_unified" .}}
{{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}}
{{end}} {{end}}
</tbody> </tbody>
</table> </table>

View File

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

View File

@ -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}}

View File

@ -1,29 +1,10 @@
{{$highlightClass := .File.GetHighlightClass}} <div class="diff-file-box">
<div class="diff-file-box diff-box file-content" id="diff-{{.Index}}">
<div class="ui attached table segment"> <div class="ui attached table segment">
<div class="file-body file-code code-view code-diff"> <div class="file-body file-code code-view code-diff">
<table> <table>
<tbody> <tbody>
{{range $j, $section := .File.Sections}} {{with .File}}
{{range $k, $line := $section.Lines}} {{template "repo/diff/section_unified" .}}
<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}} {{end}}
</tbody> </tbody>
</table> </table>

View File

@ -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>

View File

@ -1,9 +1,9 @@
{{template "base/head" .}} {{template "base/head" .}}
<div class="repository file editor"> <div class="repository file editor edit">
{{template "repo/header" .}} {{template "repo/header" .}}
<div class="ui container"> <div class="ui container">
{{template "base/alert" .}} {{template "base/alert" .}}
<form class="ui edit form" action="{{EscapePound $.Link}}" method="post"> <form class="ui edit form" method="post">
{{.CsrfTokenHtml}} {{.CsrfTokenHtml}}
<input type="hidden" name="last_commit" value="{{.last_commit}}"> <input type="hidden" name="last_commit" value="{{.last_commit}}">
<div class="ui secondary menu"> <div class="ui secondary menu">
@ -15,24 +15,23 @@
{{range $i, $v := .TreeNames}} {{range $i, $v := .TreeNames}}
<div class="divider"> / </div> <div class="divider"> / </div>
{{if eq $i $l}} {{if eq $i $l}}
<input id="file-name" value="{{$v}}" placeholder="{{$.i18n.Tr "repo.name_your_file"}}" required autofocus> <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.filename_help"}}" data-position="bottom center" data-variation="tiny"></span> <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}} {{else}}
<span class="section"><a href="{{EscapePound $.BranchLink}}/{{EscapePound $v}}">{{$v}}</a></span> <span class="section"><a href="{{EscapePound $.BranchLink}}/{{EscapePound $v}}">{{$v}}</a></span>
{{end}} {{end}}
{{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>{{.i18n.Tr "repo.editor.or"}} <a href="{{EscapePound $.BranchLink}}{{if not .IsNewFile}}/{{EscapePound .TreePath}}{{end}}">{{.i18n.Tr "repo.editor.cancel_lower"}}</a></span>
<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>
<input type="hidden" id="tree_path" name="tree_path" value="{{.TreePath}}" required> <input type="hidden" id="tree_path" name="tree_path" value="{{.TreePath}}" required>
</div> </div>
</div> </div>
</div> </div>
<div class="field"> <div class="field">
<div class="ui top attached tabular menu" data-write="write" data-preview="preview" data-diff="diff"> <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}} {{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="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}} {{end}}
</div> </div>
<div class="ui bottom attached active tab segment" data-tab="write"> <div class="ui bottom attached active tab segment" data-tab="write">

View File

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

View File

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