mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-28 14:43:52 +03:00
* Allow committing / adding empty files from the web ui (#8420) Signed-off-by: LukBukkit <luk.bukkit@gmail.com> * Add a modal to confirm the commit of an empty file Signed-off-by: LukBukkit <luk.bukkit@gmail.com>
This commit is contained in:
parent
d4cd4ed442
commit
de4f10be86
4 changed files with 39 additions and 4 deletions
|
@ -557,7 +557,7 @@ func (f *NewWikiForm) Validate(ctx *macaron.Context, errs binding.Errors) bindin
|
||||||
// EditRepoFileForm form for changing repository file
|
// EditRepoFileForm form for changing repository file
|
||||||
type EditRepoFileForm struct {
|
type EditRepoFileForm struct {
|
||||||
TreePath string `binding:"Required;MaxSize(500)"`
|
TreePath string `binding:"Required;MaxSize(500)"`
|
||||||
Content string `binding:"Required"`
|
Content string
|
||||||
CommitSummary string `binding:"MaxSize(100)"`
|
CommitSummary string `binding:"MaxSize(100)"`
|
||||||
CommitMessage string
|
CommitMessage string
|
||||||
CommitChoice string `binding:"Required;MaxSize(50)"`
|
CommitChoice string `binding:"Required;MaxSize(50)"`
|
||||||
|
|
|
@ -726,6 +726,8 @@ editor.file_editing_no_longer_exists = The file being edited, '%s', no longer ex
|
||||||
editor.file_deleting_no_longer_exists = The file being deleted, '%s', no longer exists in this repository.
|
editor.file_deleting_no_longer_exists = The file being deleted, '%s', no longer exists in this repository.
|
||||||
editor.file_changed_while_editing = The file contents have changed since you started editing. <a target="_blank" rel="noopener noreferrer" href="%s">Click here</a> to see them or <strong>Commit Changes again</strong> to overwrite them.
|
editor.file_changed_while_editing = The file contents have changed since you started editing. <a target="_blank" rel="noopener noreferrer" href="%s">Click here</a> to see them or <strong>Commit Changes again</strong> to overwrite them.
|
||||||
editor.file_already_exists = A file named '%s' already exists in this repository.
|
editor.file_already_exists = A file named '%s' already exists in this repository.
|
||||||
|
editor.commit_empty_file_header = Commit an empty file
|
||||||
|
editor.commit_empty_file_text = The file you're about commit is empty. Proceed?
|
||||||
editor.no_changes_to_show = There are no changes to show.
|
editor.no_changes_to_show = There are no changes to show.
|
||||||
editor.fail_to_update_file = Failed to update/create file '%s' with error: %v
|
editor.fail_to_update_file = Failed to update/create file '%s' with error: %v
|
||||||
editor.add_subdir = Add a directory…
|
editor.add_subdir = Add a directory…
|
||||||
|
|
|
@ -262,7 +262,7 @@ function initRepoStatusChecker() {
|
||||||
location.reload();
|
location.reload();
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
initRepoStatusChecker()
|
initRepoStatusChecker()
|
||||||
}, 2000);
|
}, 2000);
|
||||||
|
@ -1571,6 +1571,18 @@ function initEditor() {
|
||||||
codeMirrorEditor.setOption("tabSize", editorconfig.tab_width || 4);
|
codeMirrorEditor.setOption("tabSize", editorconfig.tab_width || 4);
|
||||||
});
|
});
|
||||||
}).trigger('keyup');
|
}).trigger('keyup');
|
||||||
|
|
||||||
|
$('#commit-button').click(function (event) {
|
||||||
|
// A modal which asks if an empty file should be committed
|
||||||
|
if ($editArea.val().length === 0) {
|
||||||
|
$('#edit-empty-content-modal').modal({
|
||||||
|
onApprove: function () {
|
||||||
|
$('.edit.form').submit();
|
||||||
|
}
|
||||||
|
}).modal('show');
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function initOrganization() {
|
function initOrganization() {
|
||||||
|
|
|
@ -39,8 +39,7 @@
|
||||||
data-url="{{.Repository.APIURL}}/markdown"
|
data-url="{{.Repository.APIURL}}/markdown"
|
||||||
data-context="{{.RepoLink}}"
|
data-context="{{.RepoLink}}"
|
||||||
data-markdown-file-exts="{{.MarkdownFileExts}}"
|
data-markdown-file-exts="{{.MarkdownFileExts}}"
|
||||||
data-line-wrap-extensions="{{.LineWrapExtensions}}"
|
data-line-wrap-extensions="{{.LineWrapExtensions}}">
|
||||||
required>
|
|
||||||
{{.FileContent}}</textarea>
|
{{.FileContent}}</textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="ui bottom attached tab segment markdown" data-tab="preview">
|
<div class="ui bottom attached tab segment markdown" data-tab="preview">
|
||||||
|
@ -53,5 +52,27 @@
|
||||||
{{template "repo/editor/commit_form" .}}
|
{{template "repo/editor/commit_form" .}}
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="ui small basic modal" id="edit-empty-content-modal">
|
||||||
|
<div class="ui icon header">
|
||||||
|
<i class="file icon"></i>
|
||||||
|
{{.i18n.Tr "repo.editor.commit_empty_file_header"}}
|
||||||
|
</div>
|
||||||
|
<div class="center content">
|
||||||
|
<p>{{.i18n.Tr "repo.editor.commit_empty_file_text"}}</p>
|
||||||
|
</div>
|
||||||
|
<div class="actions">
|
||||||
|
<div class="ui red basic cancel inverted button">
|
||||||
|
<i class="remove icon"></i>
|
||||||
|
{{.i18n.Tr "repo.editor.cancel"}}
|
||||||
|
</div>
|
||||||
|
<div class="ui green basic ok inverted button">
|
||||||
|
<i class="save icon"></i>
|
||||||
|
{{.i18n.Tr "repo.editor.commit_changes"}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{{template "base/footer" .}}
|
{{template "base/footer" .}}
|
||||||
|
|
Loading…
Reference in a new issue