diff --git a/src/html/js/entries.js b/src/html/js/entries.js index f5a01fd..38c499f 100644 --- a/src/html/js/entries.js +++ b/src/html/js/entries.js @@ -42,8 +42,8 @@ var ListViewModel = function() { self.selectedItem = ko.observable(); self.savedItem = ko.observable(); - self.loadEntries = function() { - $.post("api/entry.php", {action: "get_entries", account: self.account().id, year: self.month().year, month:self.month().month}, function(data) { + self.loadEntries = function(account, month) { + $.post("api/entry.php", {action: "get_entries", account: account.id, year: month.year, month: month.month}, function(data) { self.entries.removeAll(); self.selectedItem(null); @@ -69,6 +69,8 @@ var ListViewModel = function() { if(!self.account()){ self.account(result[0]); } + + self.loadMonths(self.account()); }); }; @@ -76,7 +78,11 @@ var ListViewModel = function() { $.post("api/entry.php", {action: "get_months", account: account.id}).success(function (result) { self.months(result); - self.month(result[result.length - 1]); + if(!self.month()) { + self.month(result[result.length - 1]); + } + + self.loadEntries(self.account(), self.month()); }); }; @@ -158,7 +164,7 @@ var ListViewModel = function() { message("success", "Save", data.message); self.selectedItem(null); - self.loadEntries(); + self.loadAccounts(); }).error(function() { message("error", "Error.", "Unexpected error."); }); @@ -178,17 +184,19 @@ var ListViewModel = function() { }; self.selectMonth = function(month) { - self.month(month); + if(month) { + self.month(month); + self.loadEntries(self.account(), month); + } }; self.selectAccount = function(account) { - self.account(account); + if(account) { + self.account(account); + self.loadMonths(account); + } }; - self.account.subscribe(self.loadMonths); - - self.month.subscribe(self.loadEntries); - $(document).ready(self.loadAccounts); };