mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-12 15:35:15 +00:00
Some experimental fixes for #3011
This commit is contained in:
78
public/v1/js/ff/accounts/reconcile.js
vendored
78
public/v1/js/ff/accounts/reconcile.js
vendored
@@ -71,6 +71,44 @@ $(function () {
|
||||
|
||||
});
|
||||
|
||||
function selectAllReconcile(e) {
|
||||
// loop all, check.
|
||||
var el = $(e.target);
|
||||
var doCheck = true;
|
||||
if (el.prop('checked') === true) {
|
||||
$('.check_all_btn').prop('checked', true);
|
||||
}
|
||||
if (el.prop('checked') === false) {
|
||||
$('.check_all_btn').prop('checked', false);
|
||||
doCheck = false;
|
||||
}
|
||||
|
||||
$('.reconcile_checkbox').each(function (i, v) {
|
||||
var check = $(v);
|
||||
var amount = parseFloat(check.val());
|
||||
var journalId = parseInt(check.data('id'));
|
||||
var identifier = 'checked_' + journalId;
|
||||
console.log('in selectAllReconcile(' + journalId + ') with amount ' + amount + ' and selected amount ' + selectedAmount);
|
||||
|
||||
check.prop('checked', doCheck);
|
||||
// if checked, add to selected amount
|
||||
if (doCheck === true && check.data('younger') === false) {
|
||||
selectedAmount = selectedAmount - amount;
|
||||
console.log('checked = true and younger = false so selected amount = ' + selectedAmount);
|
||||
localStorage.setItem(identifier, 'true');
|
||||
}
|
||||
if (doCheck === false && check.data('younger') === false) {
|
||||
selectedAmount = selectedAmount + amount;
|
||||
console.log('checked = false and younger = false so selected amount = ' + selectedAmount);
|
||||
localStorage.setItem(identifier, 'false');
|
||||
}
|
||||
difference = balanceDifference - selectedAmount;
|
||||
console.log('Difference is now ' + difference);
|
||||
});
|
||||
|
||||
updateDifference();
|
||||
}
|
||||
|
||||
function storeReconcile() {
|
||||
console.log('in storeReconcile()');
|
||||
// get modal HTML:
|
||||
@@ -116,15 +154,19 @@ function checkReconciledBox(e) {
|
||||
|
||||
var el = $(e.target);
|
||||
var amount = parseFloat(el.val());
|
||||
console.log('in checkReconciledBox() with amount ' + amount + ' and selected amount ' + selectedAmount);
|
||||
var journalId = parseInt(el.data('id'));
|
||||
var identifier = 'checked_' + journalId;
|
||||
console.log('in checkReconciledBox(' + journalId + ') with amount ' + amount + ' and selected amount ' + selectedAmount);
|
||||
// if checked, add to selected amount
|
||||
if (el.prop('checked') === true && el.data('younger') === false) {
|
||||
selectedAmount = selectedAmount - amount;
|
||||
console.log('checked = true and younger = false so selected amount = ' + selectedAmount);
|
||||
localStorage.setItem(identifier, 'true');
|
||||
}
|
||||
if (el.prop('checked') === false && el.data('younger') === false) {
|
||||
selectedAmount = selectedAmount + amount;
|
||||
console.log('checked = false and younger = false so selected amount = ' + selectedAmount);
|
||||
localStorage.setItem(identifier, 'false');
|
||||
}
|
||||
difference = balanceDifference - selectedAmount;
|
||||
console.log('Difference is now ' + difference);
|
||||
@@ -198,6 +240,10 @@ function includeClearedTransactions() {
|
||||
function placeTransactions(data) {
|
||||
console.log('in placeTransactions()');
|
||||
$('#transactions_holder').empty().html(data.html);
|
||||
|
||||
// add checkbox thing
|
||||
$('.check_all_btn').click(selectAllReconcile);
|
||||
|
||||
selectedAmount = 0;
|
||||
// update start + end balance when user has not touched them.
|
||||
if (!changedBalances) {
|
||||
@@ -214,6 +260,10 @@ function placeTransactions(data) {
|
||||
difference = balanceDifference - selectedAmount;
|
||||
updateDifference();
|
||||
|
||||
// loop al placed checkboxes and check them if necessary.
|
||||
restoreFromLocalStorage();
|
||||
|
||||
|
||||
// enable the check buttons:
|
||||
$('.reconcile_checkbox').prop('disabled', false).unbind('change').change(checkReconciledBox);
|
||||
|
||||
@@ -223,6 +273,30 @@ function placeTransactions(data) {
|
||||
$('.store_reconcile').prop('disabled', false);
|
||||
}
|
||||
|
||||
function restoreFromLocalStorage() {
|
||||
$('.reconcile_checkbox').each(function (i, v) {
|
||||
var el = $(v);
|
||||
var journalId = el.data('id')
|
||||
var identifier = 'checked_' + journalId;
|
||||
var amount = parseFloat(el.val());
|
||||
if (localStorage.getItem(identifier) === 'true') {
|
||||
el.prop('checked', true);
|
||||
// do balance thing:
|
||||
console.log('in restoreFromLocalStorage(' + journalId + ') with amount ' + amount + ' and selected amount ' + selectedAmount);
|
||||
// if checked, add to selected amount
|
||||
if (el.data('younger') === false) {
|
||||
selectedAmount = selectedAmount - amount;
|
||||
console.log('checked = true and younger = false so selected amount = ' + selectedAmount);
|
||||
localStorage.setItem(identifier, 'true');
|
||||
}
|
||||
difference = balanceDifference - selectedAmount;
|
||||
console.log('Difference is now ' + difference);
|
||||
}
|
||||
|
||||
});
|
||||
updateDifference();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @returns {boolean}
|
||||
@@ -259,4 +333,4 @@ function updateDifference() {
|
||||
addClass = 'text-danger';
|
||||
}
|
||||
$('#difference').addClass(addClass).text(accounting.formatMoney(difference));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user