cancel event even when there's no entry to open/focus (fix #335)

This commit is contained in:
Athou
2013-06-25 09:12:38 +02:00
parent 863ea406dc
commit c376302bb9

View File

@@ -802,20 +802,22 @@ function($scope, $stateParams, $http, $route, $window, EntryService, SettingsSer
var openNextEntry = function(event) { var openNextEntry = function(event) {
var entry = getNextEntry(); var entry = getNextEntry();
if (entry) { openEntry(entry, event);
openEntry(entry, event);
}
}; };
var openPreviousEntry = function(event) { var openPreviousEntry = function(event) {
var entry = getPreviousEntry(); var entry = getPreviousEntry();
if (entry) { openEntry(entry, event);
openEntry(entry, event);
}
}; };
var focusNextEntry = function(event) { var focusNextEntry = function(event) {
var entry = getNextEntry(); var entry = getNextEntry();
if (event) {
event.preventDefault();
event.stopPropagation();
}
if (entry) { if (entry) {
$scope.current = entry; $scope.current = entry;
} }
@@ -823,6 +825,12 @@ function($scope, $stateParams, $http, $route, $window, EntryService, SettingsSer
var focusPreviousEntry = function(event) { var focusPreviousEntry = function(event) {
var entry = getPreviousEntry(); var entry = getPreviousEntry();
if (event) {
event.preventDefault();
event.stopPropagation();
}
if (entry) { if (entry) {
$scope.current = entry; $scope.current = entry;
} }
@@ -832,6 +840,15 @@ function($scope, $stateParams, $http, $route, $window, EntryService, SettingsSer
var openEntry = function(entry, event) { var openEntry = function(entry, event) {
if (event) {
event.preventDefault();
event.stopPropagation();
}
if (!entry) {
return;
}
if ($scope.current != entry || SettingsService.settings.viewMode == 'expanded') { if ($scope.current != entry || SettingsService.settings.viewMode == 'expanded') {
$scope.isOpen = true; $scope.isOpen = true;
} else { } else {
@@ -841,12 +858,7 @@ function($scope, $stateParams, $http, $route, $window, EntryService, SettingsSer
$scope.mark(entry, true); $scope.mark(entry, true);
} }
$scope.current = entry; $scope.current = entry;
if (event) {
event.preventDefault();
event.stopPropagation();
}
if (getCurrentIndex() == $scope.entries.length - 1) { if (getCurrentIndex() == $scope.entries.length - 1) {
$scope.loadMoreEntries(); $scope.loadMoreEntries();
} }