1
0
mirror of https://github.com/fspc/Yellow-Bike-Database.git synced 2025-02-23 01:03:23 -05:00

Adds range to slider, and links it to year choice.

This commit is contained in:
Jonathan Rosenbaum 2015-01-24 03:33:17 +00:00
parent 2593c6fe9b
commit 9d4ec10312
3 changed files with 78 additions and 14 deletions

View File

@ -147,16 +147,63 @@ $(function() {
} }
}); });
// SELECT transaction_id, IF(amount > 0, "yes", "no") AS "deposited", date FROM transaction_log WHERE transaction_type= "Deposit"; // on reload
// deposit range is based on year, but need to go back to past year if deposits included. transaction_slider();
// gnucash deposit range slider
$('#gnucash_csv_range').noUiSlider({ // on date change
start: [ 20, 30 ], $("[name='gnucash_csv_year']").change(function() { transaction_slider(); });
var slider;
function transaction_slider() {
// Establish range - transaction_id | deposited (yes or no) | date
var range = [];
$.post("json/transaction.php",{ transaction_slider: 1}, function(data) {
var obj = $.parseJSON(data);
// currently go by a Jan - Dec year as fiscal year
var year = $("[name='gnucash_csv_year']").val();
$.each(obj,function(k,v){
var trans = obj[k];
var trans_year = trans.date.split(" ",1);
trans_year = trans_year[0].split("-",1).toString();
// find min and max for year
if (trans.deposited == "yes" && trans_year == year) {
range.push(trans.transaction_id);
}
});
} );
// gnucash deposit range
var min_range = Number(range[0]);
var max_range = Number(range[range.length - 1]);
var prev_trans = Number(range[range.length - 2]);
//initialize slider
if (!slider) {
slider = $('#gnucash_csv_range').noUiSlider({
start: [ prev_trans, max_range ],
range: { range: {
'min': 10, "min": min_range,
'max': 40 "max": max_range
} }
}); });
} else {
slider.noUiSlider({
start: [ prev_trans, max_range ],
range: {
"min": min_range,
"max": max_range
}
}, true);
}
} // end function transaction_slider
// gnucash account multi-select // gnucash account multi-select
$("#gnucash_csv_accounts").chosen({ $("#gnucash_csv_accounts").chosen({
@ -164,6 +211,7 @@ $(function() {
width: "260px" width: "260px"
}); });
$("[name='gnucash_csv_year']").chosen(); $("[name='gnucash_csv_year']").chosen();
@ -184,7 +232,10 @@ $(function() {
deposit[count] = this.name; deposit[count] = this.name;
}); });
$.post("json/transaction.php",{"deposit": deposit}, function(data) { $.post("json/transaction.php",{"deposit": deposit}, function(data) {
var obj = $.parseJSON(data); var obj = $.parseJSON(data);
$.each(obj,function(k,v){ $.each(obj,function(k,v){
@ -211,10 +262,12 @@ $(function() {
} else { } else {
$("#" + k + "_difference span").text("n/a"); $("#" + k + "_difference span").text("n/a");
} }
});
}); });
}); // end function
} // Deposit Calculator } // Deposit Calculator

View File

@ -87,6 +87,17 @@ $change_fund = CHANGE_FUND;
$result = mysql_query($query, $YBDB) or die(mysql_error()); $result = mysql_query($query, $YBDB) or die(mysql_error());
} }
// populate transaction slider for accounting programs
if (isset($_POST['transaction_slider'])) {
$query = 'SELECT transaction_id, IF(amount > 0, "yes", "no") AS "deposited", date
FROM transaction_log WHERE transaction_type= "Deposit";';
$sql = mysql_query($query, $YBDB) or die(mysql_error());
while ( $result = mysql_fetch_assoc($sql) ) {
$slider_range[] = $result;
}
echo json_encode($slider_range);
}
// Deposit Calculator // Deposit Calculator
if (isset($_POST['deposit'])) { if (isset($_POST['deposit'])) {

View File

@ -71,7 +71,7 @@ if($_GET['trans_type']=='all_types'){
$trans_type_state = 'all_types'; $trans_type_state = 'all_types';
} }
//record_count (state) //record_count (SQL or state)
if($_GET['record_count']>0){ if($_GET['record_count']>0){
$record_count = $_GET['record_count']; $record_count = $_GET['record_count'];
$number_of_transactions = $record_count; $number_of_transactions = $record_count;