Notes for the tabs controller

This commit is contained in:
Will Marshall
2014-03-26 15:26:02 +11:00
parent 166c8c3df4
commit f5a0341851

View File

@@ -0,0 +1,45 @@
Darkswarm.controller "TabsCtrl", ($scope, $rootScope, $location) ->
$scope.active = (tab)->
$location.path() == tab
$scope.tabs = ["contact", "about", "groups", "producers"]
for tab in $scope.tabs
$scope[tab] =
active: false #$scope.active("/" + tab)
path: "/" + tab
$scope.$watch ->
$location.path()
, (path)->
for tab in $scope.tabs
$scope[tab].active = $scope.active($scope[tab].path)
#$scope.select = (tab)->
#$location.path tab.path
#
#
# directive -> ng-click -> scope method (not isolated) -> toggle active | change location
# watch active expression -> change tab appearance
#select = ->
#$location.path(tab.path)
#active expression:
#"$location.path() == tab.path"
# directive -> ng-click -> set active (on isolated scope)
# ng-class -> change tab appearance
# two-way binding active attr <-> tab.active
# directive attr (select) -> scope.selectExpression
# scope.select -> $parse ...
#
# in Directive
# scope.select = $parse(attrs.select)
# $scope.select($scope)
#
# 1: remove reverse binding on tab.active
# 2: put $parse(attrs.select) onto tab
# 3: override TabsetController/select to run tab.select() against original tab.$parent