From b3de33b95e9cd7449f0a5427236d0a20b55c051e Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sun, 6 Sep 2015 14:22:39 +0200 Subject: Squashed commit of the following: commit 3b3dd6ea92799a95ecaa7c90ede830a62d53ee05 Author: Daniel Friesel Date: Sun Sep 6 14:21:27 2015 +0200 margins commit ae911d4fba68adce63a16bda82f9b06a51a4aa81 Merge: 0625d89 8fca7e3 Author: I Date: Sat Sep 5 14:49:12 2015 +0200 Merge branch 'master' of https://github.com/derf/iris-delay-stats # Conflicts: # templates/intro.html.ep commit 0625d894bb5294f3d47cca759010ee969db7a2d1 Author: marudor Date: Sat Sep 5 13:51:49 2015 +0200 fancy forms --- templates/barform.html.ep | 32 ------------- templates/filterform.html.ep | 83 +++++++++++++-------------------- templates/generalbar.html.ep | 31 +++++++++++++ templates/individualform.html.ep | 11 +++-- templates/intro.html.ep | 98 ++++++++++++++++++++++++--------------- templates/layouts/default.html.ep | 64 ++++++++++++++++--------- templates/meldungbar.html.ep | 31 +++++++++++++ templates/topform.html.ep | 3 -- templates/toplist.html.ep | 52 +++++++++++++-------- 9 files changed, 235 insertions(+), 170 deletions(-) delete mode 100644 templates/barform.html.ep create mode 100644 templates/generalbar.html.ep create mode 100644 templates/meldungbar.html.ep (limited to 'templates') diff --git a/templates/barform.html.ep b/templates/barform.html.ep deleted file mode 100644 index 50ae5fc..0000000 --- a/templates/barform.html.ep +++ /dev/null @@ -1,32 +0,0 @@ -
-% if (not defined param('want_msg')) { -% param(want_msg => 0); -% } -%= form_for bar => begin -%= radio_button 'want_msg' => 0 -Allgemeiner Bargraph: -% my %yargs = %{$self->barplot_args->{y}}; -% my @yarg_keys = sort keys %yargs; -%= select_field ysource => [map {[$yargs{$_}->{desc}, $_]} @yarg_keys] -
-%= radio_button 'want_msg' => 1 -Meldungs-Bargraph: -% %yargs = %{$self->barplot_args->{msg}}; -% @yarg_keys = sort keys %yargs; -%= select_field msgnum => [map {[$yargs{$_}->{desc}, $_]} @yarg_keys] -
-aufgeteilt nach -% my %xargs = %{$self->barplot_args->{x}}; -% my @xarg_keys = sort keys %xargs; -%= select_field xsource => [map {[$xargs{$_}->{desc}, $_]} @xarg_keys] -mit -Abmessungen -%= text_field 'width' => 960, class => 'dimension' -x -%= text_field 'height' => 500, class => 'dimension' -Pixel. -%= submit_button 'Go' -
-Optionale Einschränkungen: -%= include 'filterform'; -% end diff --git a/templates/filterform.html.ep b/templates/filterform.html.ep index 614b36a..44d0ed0 100644 --- a/templates/filterform.html.ep +++ b/templates/filterform.html.ep @@ -1,72 +1,55 @@ % my $filter_opts = $self->barplot_filters; -
-
- Linie: -
-
+
+
+ %= select_field filter_line => $filter_opts->{lines}
-
-
-
- Zugtyp: -
-
+
+ %= select_field filter_train_type => $filter_opts->{train_types}
-
-
-
- Zugnummer: -
-
+
+ %= text_field 'filter_train_no', class => 'train_no'
-
-
- Bahnhof: -
-
+
+
+ %= select_field filter_station => $filter_opts->{stations}
-
-
-
- Zielbahnhof: -
-
+
+ %= select_field filter_destination => $filter_opts->{destinations}
-
-
- Fahrten: -
-
+
+
+ %= select_field filter_cancellation => [['Alle' => q{}], ['Ohne Zugausfälle' => 'no_cancelled'], ['Nur Zugausfälle' => 'only_cancelled']]
-
-
- Verspätung zwischen -
-
+
+
+ %= text_field 'filter_delay_min', class => 'delay', placeholder => '-∞' - und +
+
+ %= text_field 'filter_delay_max', class => 'delay', placeholder => '+∞' - Minuten (inklusive).
-
-
-
- Zeitraum von +
+ + %= date_field 'filter_date_start', class => 'datepicker' +
+
+ + %= date_field 'filter_date_stop', class => 'datepicker'
-
- %= date_field 'filter_date_start', class => 'datetime' - (inklusive) bis - %= date_field 'filter_date_stop', class => 'datetime' - (exklusive) - %= submit_button 'Go' +
+
+
+
diff --git a/templates/generalbar.html.ep b/templates/generalbar.html.ep new file mode 100644 index 0000000..ed0cfb2 --- /dev/null +++ b/templates/generalbar.html.ep @@ -0,0 +1,31 @@ +% if (not defined param('want_msg')) { + % param(want_msg => 0); + % } + %= form_for bar => begin + +
+
+ + % my %yargs = %{$self->barplot_args->{y}}; + % my @yarg_keys = sort keys %yargs; + %= select_field ysource => [map {[$yargs{$_}->{desc}, $_]} @yarg_keys] +
+
+
+
+ + % my %xargs = %{$self->barplot_args->{x}}; + % my @xarg_keys = sort keys %xargs; + %= select_field xsource => [map {[$xargs{$_}->{desc}, $_]} @xarg_keys] +
+
+ + %= text_field 'width' => 960, class => 'dimension' +
+
+ + %= text_field 'height' => 500, class => 'dimension' +
+
+ %= include 'filterform'; + % end diff --git a/templates/individualform.html.ep b/templates/individualform.html.ep index 1dba798..689527d 100644 --- a/templates/individualform.html.ep +++ b/templates/individualform.html.ep @@ -1,10 +1,11 @@ -
Details zu individuellen Zugfahrten. Es werden nur maximal 1000 Ergebnisse angezeigt. %= form_for individual => begin -Sortieren nach: -%= select_field order_by => [['Zeit ↓', 'scheduled_time.d'], ['Zeit ↑', 'scheduled_time.a'], ['Verspätung ↓', 'delay.d'], ['Verspätung ↑', 'delay.a']] -%= submit_button 'Go'; -
+
+
+ + %= select_field order_by => [['Zeit ↓', 'scheduled_time.d'], ['Zeit ↑', 'scheduled_time.a'], ['Verspätung ↓', 'delay.d'], ['Verspätung ↑', 'delay.a']] +
+
%= include 'filterform'; % end diff --git a/templates/intro.html.ep b/templates/intro.html.ep index 2292967..cecd010 100644 --- a/templates/intro.html.ep +++ b/templates/intro.html.ep @@ -3,20 +3,20 @@ dbdb
-Diese Seite sammelt Ankunfts- und Abfahrtsdaten einiger deutschen Bahnhöfe und -berechnet daraus Statistiken zu Pünktlichkeit, Verspätungsmeldungen und -ähnlichem. Das ist ein reines Freizeitprojekt (und aktuell ziemlich unfertig), -für die Korrektheit und Vollständigkeit gibt es selbstverständlich keine -Garantie. Vernünftiges Layout und Design kommt irgendwann™ mal. + Diese Seite sammelt Ankunfts- und Abfahrtsdaten einiger deutschen Bahnhöfe und + berechnet daraus Statistiken zu Pünktlichkeit, Verspätungsmeldungen und + ähnlichem. Das ist ein reines Freizeitprojekt (und aktuell ziemlich unfertig), + für die Korrektheit und Vollständigkeit gibt es selbstverständlich keine + Garantie. Vernünftiges Layout und Design kommt irgendwann™ mal.
Bitte beachten
-Die Deutsche Bahn ist über eine solche Statistiksammlung möglicherweise -nicht ganz glücklich, daher bleibt diese Seite nichtöffentlich. -Einzelne Graphen / Statistiken dürfen gerne (ohne Quellenangabe) -weitergegeben werden. Zugangsdaten (soweit vorhanden) bitte nur mit -Verstand weitergeben, im Zweifelsfall werden sie irgendwann geändert. + Die Deutsche Bahn ist über eine solche Statistiksammlung möglicherweise + nicht ganz glücklich, daher bleibt diese Seite nichtöffentlich. + Einzelne Graphen / Statistiken dürfen gerne (ohne Quellenangabe) + weitergegeben werden. Zugangsdaten (soweit vorhanden) bitte nur mit + Verstand weitergeben, im Zweifelsfall werden sie irgendwann geändert.
Datengrundlage @@ -36,32 +36,56 @@ Bedeutung der msg-Spalten siehe % }
-
-In der Datenbank sind <%= $stats->{departures} %> Fahrten -an <%= $stats->{days} %> Tagen, -davon -<%= $stats->{realtime} %> -(<%= sprintf('%.1f%%', $stats->{realtime_rate} * 100) %>) mit Echtzeitdaten. -Es gab -<%= $stats->{delayed} %> (<%= sprintf('%.1f%%', $stats->{delayed_rate} * 100) %>) -Züge mit mehr als 5 Minuten Verspätung und -<%= $stats->{canceled} %> (<%= sprintf('%.1f%%', $stats->{canceled_rate} * 100) %>) -Zugausfälle. Pünktlich auf die Minute waren -<%= $stats->{ontime} %> (<%= sprintf('%.1f%%', $stats->{ontime_rate} * 100) %>) -Abfahrten. -
-Insgesamt wurden -<%= sprintf('%d', $stats->{delay_sum} / 60) %> Stunden an Verspätungen eingefahren, -dabei ist ein Zug durchschnittlich -<%= sprintf('%.2f', $stats->{delay_avg}) %> Minuten zu spät. -
+
+ In der Datenbank sind <%= $stats->{departures} %> Fahrten + an <%= $stats->{days} %> Tagen, + davon + <%= $stats->{realtime} %> + (<%= sprintf('%.1f%%', $stats->{realtime_rate} * 100) %>) mit Echtzeitdaten. + Es gab + <%= $stats->{delayed} %> (<%= sprintf('%.1f%%', $stats->{delayed_rate} * 100) %>) + Züge mit mehr als 5 Minuten Verspätung und + <%= $stats->{canceled} %> (<%= sprintf('%.1f%%', $stats->{canceled_rate} * 100) %>) + Zugausfälle. Pünktlich auf die Minute waren + <%= $stats->{ontime} %> (<%= sprintf('%.1f%%', $stats->{ontime_rate} * 100) %>) + Abfahrten. +
+ Insgesamt wurden + <%= sprintf('%d', $stats->{delay_sum} / 60) %> Stunden an Verspätungen eingefahren, + dabei ist ein Zug durchschnittlich + <%= sprintf('%.2f', $stats->{delay_avg}) %> Minuten zu spät. +
-
-Bargraph: -%= include 'barform'; -
-Top-Liste: -%= include 'topform'; -Einzelne Züge: -%= include 'individualform'; +
+
+
+ +
+
+ %= include 'generalbar'; +
+
+ %= include 'meldungbar'; +
+
+ %= include 'topform'; +
+
+ %= include 'individualform'; +
+
+
diff --git a/templates/layouts/default.html.ep b/templates/layouts/default.html.ep index 1c58277..59d9f5a 100644 --- a/templates/layouts/default.html.ep +++ b/templates/layouts/default.html.ep @@ -2,33 +2,51 @@ <%= stash('title') ? "dbdb - " . stash('title') : 'dbdb' %> + + + -% if ($self->stash('refresh_interval')) { - -% } + % if ($self->stash('refresh_interval')) { + + % } + + - %= stylesheet '/css/default.css' - %= javascript '/js/d3.min.js' - %= javascript '/js/d3.tip.v0.6.3.js' - %= javascript '/js/d3funcs.js' - - + %= stylesheet '/css/default.css' + + + %= javascript '/js/d3.min.js' + %= javascript '/js/d3.tip.v0.6.3.js' + %= javascript '/js/d3funcs.js' -% if (my $error = stash 'error') { -
Backend-Fehler:
-
-
-%= $error
-
-
-% } + + + -%= content + % if (my $error = stash 'error') { +
Backend-Fehler:
+
+
+					%= $error
+				
+
+ % } -
-version <%= stash('version') // '???' %> -
+ %= content - - +
+ version <%= stash('version') // '???' %> +
+ + + diff --git a/templates/meldungbar.html.ep b/templates/meldungbar.html.ep new file mode 100644 index 0000000..e94a3cc --- /dev/null +++ b/templates/meldungbar.html.ep @@ -0,0 +1,31 @@ +% if (not defined param('want_msg')) { + % param(want_msg => 1); + % } + %= form_for bar => begin + +
+
+ + % my %yargs = %{$self->barplot_args->{msg}}; + % my @yarg_keys = sort keys %yargs; + %= select_field msgnum => [map {[$yargs{$_}->{desc}, $_]} @yarg_keys] +
+
+
+
+ + % my %xargs = %{$self->barplot_args->{x}}; + % my @xarg_keys = sort keys %xargs; + %= select_field xsource => [map {[$xargs{$_}->{desc}, $_]} @xarg_keys] +
+
+ + %= text_field 'width' => 960, class => 'dimension' +
+
+ + %= text_field 'height' => 500, class => 'dimension' +
+
+ %= include 'filterform'; + % end diff --git a/templates/topform.html.ep b/templates/topform.html.ep index cb35c2f..26a4b78 100644 --- a/templates/topform.html.ep +++ b/templates/topform.html.ep @@ -1,6 +1,3 @@ -
%= form_for top => begin -Nach Häufigkeit sortierte Verspätungs- und Qualitätsmeldungen. -Die Einschränkungen sind alle optional. %= include 'filterform'; % end diff --git a/templates/toplist.html.ep b/templates/toplist.html.ep index f639e36..d3bda6f 100644 --- a/templates/toplist.html.ep +++ b/templates/toplist.html.ep @@ -1,22 +1,34 @@ -%= include 'topform'; +
+
    +
  • +
    Form
    +
    +
    + %= include 'topform'; +
    +
    +
  • +
+
% if (@{$toplist} == 0) { -
-Keine Daten mit diesen Parametern gefunden. -
-% } -% else { -
- - -% my $max = stash('toplist')->[0][2]; -% for my $entry (@{ stash('toplist') // [] }) { -% my ($desc, $percent, $raw) = @{$entry}; - - - - -% } -
MeldungAnteilAnzahl
 
<%= $desc %>
<%= $percent %><%= $raw %>
-
-% } +
+ Keine Daten mit diesen Parametern gefunden. +
+ % } + % else { +
+ + + % my $max = stash('toplist')->[0][2]; + % for my $entry (@{ stash('toplist') // [] }) { + % my ($desc, $percent, $raw) = @{$entry}; + + + + + + % } +
MeldungAnteilAnzahl
 
<%= $desc %>
<%= $percent %><%= $raw %>
+
+ % } -- cgit v1.2.3