mirror of
https://github.com/wassname/side-by-side.git
synced 2026-09-12 12:51:22 +08:00
Split controllers
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
angular.module("sideBySide").controller "ComparisonController",
|
||||
['$document', '$rootScope', '$scope', 'filter', 'load', 'poems', 'route', 'transformer'
|
||||
($document, $rootScope, $scope, filter, load, poems, route, transformer) ->
|
||||
min = 1
|
||||
max = 5
|
||||
|
||||
scroll = ->
|
||||
setTimeout ->
|
||||
if 'section' of route.params
|
||||
section = 'section-' + route.params['section']
|
||||
element = document.getElementById section
|
||||
$document.scrollTo(element, 10, 200) if element
|
||||
, 1
|
||||
|
||||
$rootScope.$on 'duScrollspy:becameActive', ($event, $element) ->
|
||||
if not $scope.meta[0].Loading
|
||||
route.update 'section', $element.prop('id').replace('section-', '')
|
||||
$rootScope.$apply()
|
||||
|
||||
$scope.$watchCollection ->
|
||||
poems.getActive()
|
||||
, ->
|
||||
active = poems.getActive()
|
||||
|
||||
$scope.columns = active.length
|
||||
transformed = transformer active
|
||||
$scope.verses = transformed.verses
|
||||
$scope.meta = transformed.meta
|
||||
|
||||
headingKey = poems.config.heading or "Author"
|
||||
$scope.headings = (version[headingKey] for version in transformed.meta)
|
||||
|
||||
$scope.metaKeys = poems.getMetaKeys()
|
||||
$scope.all = poems.all
|
||||
scroll()
|
||||
|
||||
$scope.switchActive = (poem) ->
|
||||
length = poems.getActive().length
|
||||
active = poem.meta.Active
|
||||
if (length > min or not active) and (length < max or active)
|
||||
poem.meta.Active = ! active
|
||||
route.update 'display', filter.getFilter()
|
||||
# TODO else notification
|
||||
|
||||
$scope.flipPick = ->
|
||||
$scope.pick = not $scope.pick
|
||||
|
||||
$scope.pick = false
|
||||
|
||||
load(
|
||||
route.appUrl + '/' + route.params.base.replace /\./g, '/'
|
||||
route.params.display
|
||||
)
|
||||
]
|
||||
Reference in New Issue
Block a user