mirror of
https://github.com/atom/atom.git
synced 2026-01-23 13:58:08 -05:00
Create ScrollView super class
Binds support for page up, page down, move to top, and move to bottom in the initialize method.
This commit is contained in:
8
src/app/scroll-view.coffee
Normal file
8
src/app/scroll-view.coffee
Normal file
@@ -0,0 +1,8 @@
|
||||
{View} = require 'space-pen'
|
||||
module.exports =
|
||||
class ScrollView extends View
|
||||
initialize: ->
|
||||
@on 'core:page-up', => @pageUp()
|
||||
@on 'core:page-down', => @pageDown()
|
||||
@on 'core:move-to-top', => @scrollToTop()
|
||||
@on 'core:move-to-bottom', => @scrollToBottom()
|
||||
@@ -65,11 +65,6 @@ class CommandPanel extends View
|
||||
@on 'core:move-up', => @navigateBackwardInHistory()
|
||||
@on 'core:move-down', => @navigateForwardInHistory()
|
||||
|
||||
@previewList.on 'core:page-up', => @previewList.pageUp()
|
||||
@previewList.on 'core:page-down', => @previewList.pageDown()
|
||||
@previewList.on 'core:move-to-top', => @previewList.scrollToTop()
|
||||
@previewList.on 'core:move-to-bottom', => @previewList.scrollToBottom()
|
||||
|
||||
@previewList.hide()
|
||||
|
||||
destroy: ->
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
$ = require 'jquery'
|
||||
{$$$, View} = require 'space-pen'
|
||||
{$$$} = require 'space-pen'
|
||||
ScrollView = require 'scroll-view'
|
||||
|
||||
module.exports =
|
||||
class PreviewList extends View
|
||||
class PreviewList extends ScrollView
|
||||
@content: ->
|
||||
@ol class: 'preview-list', tabindex: -1, ->
|
||||
|
||||
@@ -10,6 +11,7 @@ class PreviewList extends View
|
||||
operations: null
|
||||
|
||||
initialize: (@rootView) ->
|
||||
super
|
||||
@on 'core:move-down', => @selectNextOperation()
|
||||
@on 'core:move-up', => @selectPreviousOperation()
|
||||
@on 'command-panel:execute', => @executeSelectedOperation()
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
{View, $$} = require 'space-pen'
|
||||
{$$} = require 'space-pen'
|
||||
ScrollView = require 'scroll-view'
|
||||
|
||||
module.exports =
|
||||
class KeybindingsView extends View
|
||||
class KeybindingsView extends ScrollView
|
||||
@activate: (rootView, state) ->
|
||||
requireStylesheet 'keybinding-view.css'
|
||||
@instance = new this(rootView)
|
||||
@@ -11,12 +12,9 @@ class KeybindingsView extends View
|
||||
@ul outlet: 'keybindingList'
|
||||
|
||||
initialize: (@rootView) ->
|
||||
super
|
||||
@rootView.on 'keybindings-view:attach', => @attach()
|
||||
@on 'keybindings-view:detach', => @detach()
|
||||
@on 'core:page-up', => @pageUp()
|
||||
@on 'core:page-down', => @pageDown()
|
||||
@on 'core:move-to-top', => @scrollToTop()
|
||||
@on 'core:move-to-bottom', => @scrollToBottom()
|
||||
|
||||
attach: ->
|
||||
@keybindingList.empty()
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{View} = require 'space-pen'
|
||||
ScrollView = require 'scroll-view'
|
||||
fs = require 'fs'
|
||||
$ = require 'jquery'
|
||||
|
||||
module.exports =
|
||||
class MarkdownPreview extends View
|
||||
class MarkdownPreview extends ScrollView
|
||||
@activate: (rootView, state) ->
|
||||
requireStylesheet 'markdown-preview.css'
|
||||
@instance = new this(rootView)
|
||||
@@ -14,15 +14,12 @@ class MarkdownPreview extends View
|
||||
@div class: 'markdown-spinner', outlet: 'markdownSpinner'
|
||||
|
||||
initialize: (@rootView) ->
|
||||
super
|
||||
@rootView.on 'markdown-preview:attach', =>
|
||||
path = rootView.getActiveEditor()?.getPath()
|
||||
@attach() if @isMarkdownFile(path)
|
||||
|
||||
@on 'markdown-preview:detach', => @detach()
|
||||
@on 'core:page-up', => @pageUp()
|
||||
@on 'core:page-down', => @pageDown()
|
||||
@on 'core:move-to-top', => @scrollToTop()
|
||||
@on 'core:move-to-bottom', => @scrollToBottom()
|
||||
|
||||
attach: ->
|
||||
@rootView.append(this)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{View, $$} = require 'space-pen'
|
||||
ScrollView = require 'scroll-view'
|
||||
Directory = require 'directory'
|
||||
DirectoryView = require 'tree-view/directory-view'
|
||||
FileView = require 'tree-view/file-view'
|
||||
@@ -9,7 +10,7 @@ $ = require 'jquery'
|
||||
_ = require 'underscore'
|
||||
|
||||
module.exports =
|
||||
class TreeView extends View
|
||||
class TreeView extends ScrollView
|
||||
@activate: (rootView, state) ->
|
||||
requireStylesheet 'tree-view.css'
|
||||
|
||||
@@ -45,13 +46,10 @@ class TreeView extends View
|
||||
selectedPath: null
|
||||
|
||||
initialize: (@rootView) ->
|
||||
super
|
||||
@on 'click', '.entry', (e) => @entryClicked(e)
|
||||
@on 'core:move-up', => @moveUp()
|
||||
@on 'core:move-down', => @moveDown()
|
||||
@on 'core:move-to-top', => @scrollToTop()
|
||||
@on 'core:move-to-bottom', => @scrollToBottom()
|
||||
@on 'core:page-up', => @pageUp()
|
||||
@on 'core:page-down', => @pageDown()
|
||||
@on 'tree-view:expand-directory', => @expandDirectory()
|
||||
@on 'tree-view:collapse-directory', => @collapseDirectory()
|
||||
@on 'tree-view:open-selected-entry', => @openSelectedEntry(true)
|
||||
|
||||
Reference in New Issue
Block a user