mirror of
https://github.com/atom/atom.git
synced 2026-04-28 03:01:47 -04:00
Markdown Preview uses core:cancel and markdown-preview:toggle
This commit is contained in:
@@ -2,7 +2,7 @@ $ = require 'jquery'
|
||||
RootView = require 'root-view'
|
||||
MarkdownPreview = require 'markdown-preview'
|
||||
|
||||
describe "MarkdownPreview", ->
|
||||
fdescribe "MarkdownPreview", ->
|
||||
[rootView, markdownPreview] = []
|
||||
|
||||
beforeEach ->
|
||||
@@ -14,41 +14,47 @@ describe "MarkdownPreview", ->
|
||||
afterEach ->
|
||||
rootView.deactivate()
|
||||
|
||||
describe "@attach", ->
|
||||
it "attaches to a .md file", ->
|
||||
describe "markdown-preview:toggle event", ->
|
||||
it "toggles on/off a preview for a .md file", ->
|
||||
rootView.open('file.md')
|
||||
editor = rootView.getActiveEditor()
|
||||
expect(rootView.find('.markdown-preview')).not.toExist()
|
||||
spyOn(markdownPreview, 'loadHtml')
|
||||
editor.trigger('markdown-preview:attach')
|
||||
editor.trigger('markdown-preview:toggle')
|
||||
|
||||
markdownPreviewView = rootView.find('.markdown-preview')?.view()
|
||||
expect(rootView.find('.markdown-preview')).toExist()
|
||||
expect(markdownPreview.loadHtml).toHaveBeenCalled();
|
||||
markdownPreviewView.trigger('markdown-preview:toggle')
|
||||
expect(rootView.find('.markdown-preview')).not.toExist()
|
||||
|
||||
it "attaches to a .markdown file", ->
|
||||
it "displays a preview for a .markdown file", ->
|
||||
rootView.open('file.markdown')
|
||||
editor = rootView.getActiveEditor()
|
||||
expect(rootView.find('.markdown-preview')).not.toExist()
|
||||
spyOn(markdownPreview, 'loadHtml')
|
||||
editor.trigger('markdown-preview:attach')
|
||||
editor.trigger('markdown-preview:toggle')
|
||||
expect(rootView.find('.markdown-preview')).toExist()
|
||||
expect(markdownPreview.loadHtml).toHaveBeenCalled();
|
||||
|
||||
it "doesn't attach to a .js file", ->
|
||||
it "does not display a preview for non-markdown file", ->
|
||||
rootView.open('file.js')
|
||||
editor = rootView.getActiveEditor()
|
||||
expect(rootView.find('.markdown-preview')).not.toExist()
|
||||
spyOn(markdownPreview, 'loadHtml')
|
||||
editor.trigger('markdown-preview:attach')
|
||||
editor.trigger('markdown-preview:toggle')
|
||||
expect(rootView.find('.markdown-preview')).not.toExist()
|
||||
expect(markdownPreview.loadHtml).not.toHaveBeenCalled();
|
||||
|
||||
describe "@detach", ->
|
||||
it "detaches from a .md file", ->
|
||||
describe "core:cancel event", ->
|
||||
it "removes markdown preview", ->
|
||||
rootView.open('file.md')
|
||||
editor = rootView.getActiveEditor()
|
||||
expect(rootView.find('.markdown-preview')).not.toExist()
|
||||
spyOn(markdownPreview, 'loadHtml')
|
||||
editor.trigger('markdown-preview:attach')
|
||||
expect(rootView.find('.markdown-preview')).toExist()
|
||||
markdownPreview.trigger('markdown-preview:detach')
|
||||
editor.trigger('markdown-preview:toggle')
|
||||
|
||||
markdownPreviewView = rootView.find('.markdown-preview')?.view()
|
||||
expect(markdownPreviewView).toExist()
|
||||
markdownPreviewView.trigger('core:cancel')
|
||||
expect(rootView.find('.markdown-preview')).not.toExist()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
window.keymap.bindKeys '.editor',
|
||||
'meta-P': 'markdown-preview:attach'
|
||||
'meta-P': 'markdown-preview:toggle'
|
||||
|
||||
window.keymap.bindKeys '.markdown-preview',
|
||||
'escape': 'markdown-preview:detach'
|
||||
'meta-P': 'markdown-preview:toggle'
|
||||
@@ -15,13 +15,18 @@ class MarkdownPreview extends ScrollView
|
||||
|
||||
initialize: (@rootView) ->
|
||||
super
|
||||
@rootView.command 'markdown-preview:attach', =>
|
||||
path = rootView.getActiveEditor()?.getPath()
|
||||
@attach() if @isMarkdownFile(path)
|
||||
@rootView.command 'markdown-preview:toggle', => @toggle()
|
||||
@command 'core:cancel', => @detach()
|
||||
|
||||
@command 'markdown-preview:detach', => @detach()
|
||||
toggle: ->
|
||||
if @hasParent()
|
||||
@detach()
|
||||
else
|
||||
@attach()
|
||||
|
||||
attach: ->
|
||||
path = rootView.getActiveEditor()?.getPath()
|
||||
return unless @isMarkdownFile(path)
|
||||
@rootView.append(this)
|
||||
@markdownBody.hide()
|
||||
@markdownSpinner.show()
|
||||
|
||||
Reference in New Issue
Block a user