| module.exports = function addAdbKeyDirective(AdbKeysService) { |
| return { |
| restrict: 'EA', |
| replace: true, |
| scope: { |
| showAdd: '=', |
| showClipboard: '=' |
| }, |
| template: require('./add-adb-key.jade'), |
| controller: function($scope, UserService) { |
| $scope.addForm = { |
| title: '' |
| , key: '' |
| } |
| |
| $scope.addKey = function() { |
| UserService.addAdbKey({ |
| title: $scope.addForm.title |
| , key: $scope.addForm.key |
| }) |
| $scope.closeAddKey() |
| } |
| |
| $scope.closeAddKey = function() { |
| $scope.addForm.title = '' |
| $scope.addForm.key = '' |
| // TODO: cannot access to the form by name inside a directive? |
| //$scope.adbkeyform.$setPristine() |
| $scope.showAdd = false |
| } |
| }, |
| link: function(scope) { |
| scope.$watch('addForm.key', function(newValue) { |
| if (newValue && !scope.addForm.title) { |
| // By default sets the title to the ADB key comment because |
| // usually it happens to be username@hostname. |
| scope.addForm.title = AdbKeysService.commentFromKey(newValue) |
| } |
| }) |
| } |
| } |
| } |