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:
Kevin Sawicki
2012-10-12 08:47:48 -07:00
parent 9f6366f6c6
commit 5bf951d96f
6 changed files with 22 additions and 24 deletions

View 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()

View File

@@ -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: ->

View File

@@ -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()

View File

@@ -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()

View File

@@ -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)

View File

@@ -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)