// Generated by CoffeeScript 1.8.0 (function() {
var COLOURS, post, query, query_again, querying, setColour; COLOURS = 'white red yellow green cyan blue magenta'.split(' '); window.populate_accounts = function(id) { var $el, a, account, _i, _len, _results; $el = $(id); _results = []; for (_i = 0, _len = accounts.length; _i < _len; _i++) { account = accounts[_i]; a = $('<a role="button" class="btn btn-default active" />'); a.text(account.name); a.append('<br/>'); a.append($('<span class="small">').text(account.number)); a.data({ id: account.id }); _results.push($el.append(a)); } return _results; }; post = function(page, data) { return $.ajax({ url: "q/" + page, method: 'post', contentType: 'application/json; charset=UTF-8', dataType: page.match(/[^.]+$/)[0], data: JSON.stringify(data) }); }; querying = false; query_again = false; query = function() { var req; if (querying) { query_again = true; return; } querying = true; query_again = false; $('#content').html('One moment...'); req = post('search.html', { order: $('#order').val(), date_start: $('#date-start').val(), date_end: $('#date-end').val(), search: $('#text').val(), type: $('#type .active').data('type'), accounts: $('#account-buttons .active').map(function() { return $(this).data('id'); }).toArray(), colours: $('#colour .active').map(function() { return this.className.match(/colour-(\w+)/)[1]; }).toArray() }); req.done(function(result) { return $('#content').html(result); }); req.fail(function() { return alert('Query failed'); }); return req.always(function() { querying = false; if (query_again) { return query(); } }); }; query = _.debounce(query, 300); setColour = function(transactionId, colour) { return post('colour.json', { id: transactionId, colour: colour }); }; $(function() { var $accountButtons, $picker, $typeButtons, closePicker, i, k, months, range; months = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' '); range = { end: new Date }; range.end.setDate(1); while (range.end.getMonth() !== 6) { range.end.setMonth(range.end.getMonth() - 1); } range.start = new Date(range.end); range.start.setFullYear(range.start.getFullYear() - 1); range.end.setDate(range.end.getDate() - 1); for (k in range) { i = range[k]; $("#date-" + k).val("" + (i.getDate()) + " " + months[i.getMonth()] + " " + (i.getFullYear())); } $('.input-daterange').datepicker({ format: "d M yyyy", startView: 2, todayBtn: 'linked', autoclose: true }).on('changeDate', query); $('#order').on('change', query); $('date-range').on('change', 'input', query); $('#text').on('change keyup', query); $('#colour').on('click', 'a', query); $accountButtons = $('#account-buttons a'); $accountButtons.on('click', query); $('#account-button-bulk').on('click', 'a', function(e) { var set; set = $(e.currentTarget).data('set'); $accountButtons.toggleClass('active', set === 'on'); return query(); }); $typeButtons = $('#type a'); $('#type').on('click', 'a', function(e) { if ($(e.currentTarget).hasClass('active')) { return; } $typeButtons.each(function() { return $(this).toggleClass('active', this === e.currentTarget); }); return query(); }); $picker = null; $('body').on('click', function(e) { var target; target = e.currentTarget; if (!($picker && (target === $picker[0] || $picker.find(target)[0]))) { return closePicker(); } }); closePicker = function() { if ($picker) { $picker.remove(); } return $picker = null; }; $('#content').on('click', 'td.colour a.picker', function(e) { var $td, $tr, _i, _len; e.stopPropagation(); closePicker(); $tr = $(e.currentTarget).parents('tr').first(); $td = $tr.find('td.colour'); $picker = $('<ul class="colours">'); for (_i = 0, _len = COLOURS.length; _i < _len; _i++) { i = COLOURS[_i]; $picker.append($('<li>').addClass("colour-" + i).append('<a href="javascript:">')); } $picker.appendTo($td); return $picker.on('click', 'a', function(e) { var $li, colour, op; $li = $(e.currentTarget).parents('li').first(); colour = $li[0].className.match(/colour-(\w+)/)[1]; op = setColour($tr.data('id'), colour); op.fail(function() { return alert('Something went wrong. Try reloading?'); }); op.done(function() { return $tr[0].className = $tr[0].className.replace(/colour-\w+/, "colour-" + colour); }); return closePicker(); }); }); return query(); });
}).call(this);
//# sourceMappingURL=main.js.map