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,12 +16,14 @@ | ||||||
| 			<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"}}"> | ||||||
| 				<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 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> | ||||||
|  | 				</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"}}"> | ||||||
|  |  | ||||||
|  | @ -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; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue