|
@@ -129,6 +129,13 @@ impl Transaction {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+fn transaction_order(tx1: &TransactionRef, tx2: &TransactionRef) -> std::cmp::Ordering {
|
|
|
+ match tx1.borrow().datestamp.cmp(&tx2.borrow().datestamp) {
|
|
|
+ std::cmp::Ordering::Equal => tx1.borrow().id().cmp(&tx2.borrow().id()),
|
|
|
+ cmp => cmp
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
#[derive(Clone)]
|
|
|
pub struct TransactionRef(std::rc::Rc<std::cell::RefCell<Transaction>>);
|
|
|
|
|
@@ -365,7 +372,7 @@ impl Hoard {
|
|
|
|
|
|
self.account_ledger_data
|
|
|
.values_mut()
|
|
|
- .for_each(|v| v.sort_by_key(|t| t.borrow().datestamp));
|
|
|
+ .for_each(|v| v.sort_by(transaction_order));
|
|
|
}
|
|
|
|
|
|
pub fn all_raw_ledger_data(&self) -> &[RawLedgerEntry] {
|