mirror of
https://github.com/atom/atom.git
synced 2026-01-24 06:18:03 -05:00
Only display markdown preview on save if preview already exists
This commit is contained in:
committed by
probablycorey
parent
5f2c4dad95
commit
55d4625091
@@ -4,7 +4,7 @@ MarkdownPreviewView = require 'markdown-preview/lib/markdown-preview-view'
|
||||
module.exports =
|
||||
activate: ->
|
||||
rootView.command 'markdown-preview:show', '.editor', => @show()
|
||||
rootView.on 'core:save', ".pane", => @show()
|
||||
rootView.on 'core:save', ".pane", => @show() if @previewExists()
|
||||
|
||||
show: ->
|
||||
activePane = rootView.getActivePane()
|
||||
@@ -26,3 +26,8 @@ module.exports =
|
||||
else
|
||||
activePane.splitRight(new MarkdownPreviewView(editSession.buffer))
|
||||
activePane.focus()
|
||||
|
||||
previewExists: ->
|
||||
nextPane = rootView.getActivePane().getNextPane()
|
||||
item = rootView.getActivePane().activeItem
|
||||
nextPane?.itemForUri("markdown-preview:#{item.getPath?()}")
|
||||
|
||||
@@ -55,6 +55,15 @@ describe "MarkdownPreview package", ->
|
||||
expect(preview.buffer).toBe rootView.getActivePaneItem().buffer
|
||||
expect(pane1).toMatchSelector(':has(:focus)')
|
||||
|
||||
describe "when a buffer is saved", ->
|
||||
it "does not show the markdown preview", ->
|
||||
[pane] = rootView.getPanes()
|
||||
pane.focus()
|
||||
|
||||
MarkdownPreviewView.prototype.fetchRenderedMarkdown.reset()
|
||||
pane.trigger("core:save")
|
||||
expect(MarkdownPreviewView.prototype.fetchRenderedMarkdown).not.toHaveBeenCalled()
|
||||
|
||||
describe "when a preview item has already been created for the edit session's uri", ->
|
||||
it "updates and shows the existing preview item if it isn't displayed", ->
|
||||
rootView.getActiveView().trigger 'markdown-preview:show'
|
||||
@@ -75,14 +84,13 @@ describe "MarkdownPreview package", ->
|
||||
expect(pane2.activeItem).toBe preview
|
||||
expect(pane1).toMatchSelector(':has(:focus)')
|
||||
|
||||
describe "when a buffer is modified and saved after a preview item has already been created", ->
|
||||
it "updates the existing preview item", ->
|
||||
rootView.getActiveView().trigger 'markdown-preview:show'
|
||||
[pane1, pane2] = rootView.getPanes()
|
||||
preview = pane2.activeItem
|
||||
pane1.focus()
|
||||
describe "when a buffer is saved", ->
|
||||
it "updates the existing preview item", ->
|
||||
rootView.getActiveView().trigger 'markdown-preview:show'
|
||||
[pane1, pane2] = rootView.getPanes()
|
||||
preview = pane2.activeItem
|
||||
pane1.focus()
|
||||
|
||||
preview.fetchRenderedMarkdown.reset()
|
||||
pane1.saveActiveItem = () ->
|
||||
pane1.trigger("core:save")
|
||||
expect(preview.fetchRenderedMarkdown).toHaveBeenCalled()
|
||||
preview.fetchRenderedMarkdown.reset()
|
||||
pane1.trigger("core:save")
|
||||
expect(preview.fetchRenderedMarkdown).toHaveBeenCalled()
|
||||
|
||||
Reference in New Issue
Block a user