add preview support for wiki editor when disable simpleMDE (#14757)
Signed-off-by: a1012112796 <1012112796@qq.com>
This commit is contained in:
parent
dc081959db
commit
5de76965a1
2 changed files with 28 additions and 6 deletions
|
@ -16,13 +16,15 @@
|
||||||
<div class="field {{if .Err_Title}}error{{end}}">
|
<div class="field {{if .Err_Title}}error{{end}}">
|
||||||
<input name="title" value="{{.title}}" autofocus required>
|
<input name="title" value="{{.title}}" autofocus required>
|
||||||
</div>
|
</div>
|
||||||
<div class="ui top attached tabular menu previewtabs">
|
<div class="ui top attached tabular menu previewtabs" data-write="write" data-preview="preview">
|
||||||
<a class="active item" data-tab="write">{{.i18n.Tr "write"}}</a>
|
<a class="active item" data-tab="write">{{.i18n.Tr "write"}}</a>
|
||||||
<a class="item" data-tab="preview">{{.i18n.Tr "preview"}}</a>
|
<a class="item" data-tab="preview" data-url="{{$.Repository.APIURL}}/markdown" data-context="{{$.RepoLink}}">{{$.i18n.Tr "preview"}}</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="field">
|
<div class="field content" data-loading="{{.i18n.Tr "loading"}}">
|
||||||
|
<div class="ui bottom active tab" data-tab="write">
|
||||||
<textarea class="js-quick-submit" id="edit_area" name="content" data-id="wiki-{{.title}}" data-url="{{.Repository.APIURL}}/markdown" data-context="{{.RepoLink}}" required>{{if .PageIsWikiEdit}}{{.content}}{{else}}{{.i18n.Tr "repo.wiki.welcome"}}{{end}}</textarea>
|
<textarea class="js-quick-submit" id="edit_area" name="content" data-id="wiki-{{.title}}" data-url="{{.Repository.APIURL}}/markdown" data-context="{{.RepoLink}}" required>{{if .PageIsWikiEdit}}{{.content}}{{else}}{{.i18n.Tr "repo.wiki.welcome"}}{{end}}</textarea>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<input name="message" placeholder="{{.i18n.Tr "repo.wiki.default_commit_message"}}">
|
<input name="message" placeholder="{{.i18n.Tr "repo.wiki.default_commit_message"}}">
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1414,6 +1414,7 @@ function initWikiForm() {
|
||||||
const $editArea = $('.repository.wiki textarea#edit_area');
|
const $editArea = $('.repository.wiki textarea#edit_area');
|
||||||
let sideBySideChanges = 0;
|
let sideBySideChanges = 0;
|
||||||
let sideBySideTimeout = null;
|
let sideBySideTimeout = null;
|
||||||
|
let hasSimpleMDE = true;
|
||||||
if ($editArea.length > 0) {
|
if ($editArea.length > 0) {
|
||||||
const simplemde = new SimpleMDE({
|
const simplemde = new SimpleMDE({
|
||||||
autoDownloadFontAwesome: false,
|
autoDownloadFontAwesome: false,
|
||||||
|
@ -1510,6 +1511,12 @@ function initWikiForm() {
|
||||||
name: 'revert-to-textarea',
|
name: 'revert-to-textarea',
|
||||||
action(e) {
|
action(e) {
|
||||||
e.toTextArea();
|
e.toTextArea();
|
||||||
|
hasSimpleMDE = false;
|
||||||
|
const $form = $('.repository.wiki.new .ui.form');
|
||||||
|
const $root = $form.find('.field.content');
|
||||||
|
const loading = $root.data('loading');
|
||||||
|
$root.append(`<div class="ui bottom tab markdown" data-tab="preview">${loading}</div>`);
|
||||||
|
initCommentPreviewTab($form);
|
||||||
},
|
},
|
||||||
className: 'fa fa-file',
|
className: 'fa fa-file',
|
||||||
title: 'Revert to simple textarea',
|
title: 'Revert to simple textarea',
|
||||||
|
@ -1524,15 +1531,26 @@ function initWikiForm() {
|
||||||
const $toolbar = $('.editor-toolbar');
|
const $toolbar = $('.editor-toolbar');
|
||||||
const $bPreview = $('.editor-toolbar button.preview');
|
const $bPreview = $('.editor-toolbar button.preview');
|
||||||
const $bSideBySide = $('.editor-toolbar a.fa-columns');
|
const $bSideBySide = $('.editor-toolbar a.fa-columns');
|
||||||
$bEdit.on('click', () => {
|
$bEdit.on('click', (e) => {
|
||||||
|
if (!hasSimpleMDE) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
e.stopImmediatePropagation();
|
||||||
if ($toolbar.hasClass('disabled-for-preview')) {
|
if ($toolbar.hasClass('disabled-for-preview')) {
|
||||||
$bPreview.trigger('click');
|
$bPreview.trigger('click');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
});
|
});
|
||||||
$bPrev.on('click', () => {
|
$bPrev.on('click', (e) => {
|
||||||
|
if (!hasSimpleMDE) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
e.stopImmediatePropagation();
|
||||||
if (!$toolbar.hasClass('disabled-for-preview')) {
|
if (!$toolbar.hasClass('disabled-for-preview')) {
|
||||||
$bPreview.trigger('click');
|
$bPreview.trigger('click');
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
});
|
});
|
||||||
$bPreview.on('click', () => {
|
$bPreview.on('click', () => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
@ -1552,6 +1570,8 @@ function initWikiForm() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, 0);
|
}, 0);
|
||||||
|
|
||||||
|
return false;
|
||||||
});
|
});
|
||||||
$bSideBySide.on('click', () => {
|
$bSideBySide.on('click', () => {
|
||||||
sideBySideChanges = 10;
|
sideBySideChanges = 10;
|
||||||
|
|
Reference in a new issue