<future>
<page func=InfoCon title="Tankbuch">
+<script type="text/javascript" src="<root_prefix>jquery.autocomplete.min.js"></script>
+<script type="text/javascript" src="<root_prefix>jquery.editable.js"></script>
<calendar_init -5>
-<popups>
<style type="text/css">
div#details {
width: 270px;
}
+div.bar {
+ background-color: #98c5e5;
+ border-bottom: 1px solid #AAA;
+ font-size: 14px;
+ font-weight: bold;
+}
+div.year {
+ float: left;
+}
+table.spritlog tbody td {
+ border-bottom: 1px solid #CCC;
+}
+table.spritlog thead th {
+ border-bottom: 1px solid #AAA;
+}
+table.spritlog tfoot th {
+ border-top: 1px solid #AAA;
+}
+table.spritlog tbody tr:hover {
+ background-color: yellow;
+}
</style>
-<div id="details" class="popup" style="margin-top: 5px;display:none;">
-<div class="popup_title">Bearbeiten</div>
-<div class="popup_body">
+<div id="details" class="popup" style="display:none;">
+<div class="popup_title" style="padding-bottom: 0.35ex;">Bearbeiten</div>
+<div class="popup_body" style="padding-left: 2px;">
<input type="hidden" id="id" name="id" value="">
<input type="hidden" id="machine" name="machine">
<label for="date">Datum</label>
<input type="text" id="km" name="km" size="13">
<input type="text" id="km_total" name="km_total" size="13">
-<div style="margin-top: 8px; text-align: center;">
+<div style="margin-top: 8px; margin-bottom: 1ex; text-align: center;">
<input type="submit" onclick="return log_save()" value="Speichern">
<input type="submit" onclick="$('#details').hide();return false" value="Abbrechen">
</div>
-</div>
+ </div>
</div>
<?php
$log = new SpritLog();
$list = $log->distinctYears();
foreach ($list as $row) {
- printf('<h3 year="%d" class="bar year">%d</h3>', $row->year, $row->year);
- printf('<div id="list_%d"></div>', $row->year);
+ echo '<div class="bar">';
+ printf('<div year="%d" class="year">%d</div>', $row->year, $row->year);
+ printf('<div id="sum_%d" style="float:right;">€ %.2f %d km</div>', $row->year, $row->sum, $row->km);
+ echo '<div style="clear:both;"></div></div>';
+ printf('<div id="list_%d" style="display:none;"></div>', $row->year);
}
if (count($list)) {
$out = <<<EOT
<script type="text/javascript">
$(function(){
+ $('div.popup').udraggable({
+ 'handle': 'div.popup_title'
+ })
load_year({$list[0]->year});
- $('h3.year').click(function(e){
- var year = \$(this).attr('year');
- load_year(year);
- });
+ $('div.bar').click(toggle_year);
});
</script>
EOT;
echo $out;
}
?>
-
+<div style="height:10px;"></div>
</page>
<protect><script text="text/javascript">
+$(function(){
+ $('#city').autocomplete({
+ deferRequestBy: 500,
+ lookup: function(query, done){
+ $.invoke('SpritLog/SuggestCity', {query: query}, function(data){
+ done(data);
+ });
+ }
+ });
+ $('#tankstelle').autocomplete({
+ minChars: 0,
+ deferRequestBy: 500,
+ lookup: function(query, done){
+ $.invoke('SpritLog/SuggestTankstelle', {query: query, city: $('#city').val()}, function(data){
+ done(data);
+ });
+ }
+ });
+});
var sprit_machine = <?=intval($_POST['machine'])?>;
function log_new()
{
if ($('#details').css('left') == '0px')
$('#details').css('left', ($(window).width()-280)+'px').css('top', '30px');
$('#details').show();
+ $('#date').focus();
return false;
}
function log_save()
{
- ajax_request('savelog', $('#details input').serialize(),
- function(data){
- load_year(data.year);
- $('#details').hide();
- });
+ $.invoke('SpritLog/Add', $('#details input').serialize(), function(data){
+ load_year(data.year);
+ $('#details').hide();
+ });
+
return false;
}
+function toggle_year(event)
+{
+ var year = $(this).find('div.year').attr('year');
+
+ if ($('div#list_'+year).is(':visible'))
+ $('div#list_'+year).hide();
+ else
+ load_year(year);
+}
+
function load_year(year)
{
- ajax_request('loadyear', {year: year},
- function(data){
- var div = $('div#list_'+data.year);
- if (div.length)
- div.html(data.list);
- else
- window.location.reload();
- });
+ $('div#list_'+year).show();
+ $.invoke('SpritLog/List', {year: year}, function(data){
+ make_editable('div#list_'+year+' td span');
+ });
}
</script></protect>