aboutsummaryrefslogtreecommitdiffstats
path: root/alias-angular/app/js
diff options
context:
space:
mode:
Diffstat (limited to 'alias-angular/app/js')
-rw-r--r--alias-angular/app/js/alias.js2
-rw-r--r--alias-angular/app/js/controllers.js3
-rw-r--r--alias-angular/app/js/directives.js33
3 files changed, 28 insertions, 10 deletions
diff --git a/alias-angular/app/js/alias.js b/alias-angular/app/js/alias.js
index b127223..01424cc 100644
--- a/alias-angular/app/js/alias.js
+++ b/alias-angular/app/js/alias.js
@@ -1,3 +1,3 @@
'use strict';
// Declare app level module which depends on filters, and services
-angular.module('Alias', ['Alias.services','Alias.filters']); \ No newline at end of file
+angular.module('Alias', ['Alias.services', 'Alias.filters', 'Alias.directives']); \ No newline at end of file
diff --git a/alias-angular/app/js/controllers.js b/alias-angular/app/js/controllers.js
index 3d88dcc..909754e 100644
--- a/alias-angular/app/js/controllers.js
+++ b/alias-angular/app/js/controllers.js
@@ -104,9 +104,6 @@ function MsgCtl($scope, $log) {
$scope.activeConversation = contact;
}
});
- $scope.isActive = function(conversation) {
- return ($scope.activeConversation == conversation) ? 'active' : '';
- };
$scope.delete = function(conversation) {
$scope.conversations.splice(_.indexOf($scope.conversations, conversation),1);
};
diff --git a/alias-angular/app/js/directives.js b/alias-angular/app/js/directives.js
index 8ed47bb..3b9b652 100644
--- a/alias-angular/app/js/directives.js
+++ b/alias-angular/app/js/directives.js
@@ -2,9 +2,30 @@
/* http://docs-next.angularjs.org/api/angular.module.ng.$compileProvider.directive */
-angular.module('myApp.directives', []).
- directive('appVersion', ['version', function(version) {
- return function(scope, elm, attrs) {
- elm.text(version);
- };
- }]);
+angular.module('Alias.directives', []).
+ directive('navTabs', function($log) {
+ var directiveDefinition = {
+ restrict: 'C',
+ link: function(scope, elm, attrs) {
+ var tabs = elm.find('li');
+ var selectedTab = tabs.filter('.active');
+ if (!selectedTab.length) {
+ selectedTab = tabs.filter(':first');
+ selectedTab.addClass('active');
+ }
+ var selectedPane = $(selectedTab.find('a').attr('href'));
+ selectedPane.addClass('active');
+
+ elm.on('click', function(event) {
+ selectedTab.removeClass('active');
+ selectedPane.removeClass('active');
+ selectedTab = angular.element(event.target).parent();
+ selectedPane = $(selectedTab.find('a').attr('href'));
+ selectedTab.addClass('active');
+ selectedPane.addClass('active');
+ event.preventDefault();
+ });
+ }
+ };
+ return directiveDefinition;
+ });