diff options
author | Daniel Friesel <derf@finalrewind.org> | 2016-09-18 22:23:36 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2016-09-18 22:23:36 +0200 |
commit | a1db5b626ff8a23c6c0e1c47b793774f6fb499bc (patch) | |
tree | a193a74dafe441a0c27aaf79b38b5a32f1fd2b99 | |
parent | 38e787fc72f21a572f3019f9bd3a86cc497f641d (diff) |
hide non-primary options behind js menu
-rw-r--r-- | public/static/collapse.js | 17 | ||||
-rw-r--r-- | public/static/default.css | 38 | ||||
-rw-r--r-- | templates/layouts/default.html.ep | 138 |
3 files changed, 124 insertions, 69 deletions
diff --git a/public/static/collapse.js b/public/static/collapse.js index d38b30a..b6537be 100644 --- a/public/static/collapse.js +++ b/public/static/collapse.js @@ -19,4 +19,21 @@ $(document).ready(function() { }); }); }); + $('.moresettings-header').each(function() { + $(this).click(function() { + var moresettings = $('.moresettings'); + if ($(this).hasClass('moresettings-header-collapsed')) { + $(this).removeClass('moresettings-header-collapsed'); + $(this).addClass('moresettings-header-expanded'); + moresettings.removeClass('moresettings-collapsed'); + moresettings.addClass('moresettings-expanded'); + } + else { + $(this).removeClass('moresettings-header-expanded'); + $(this).addClass('moresettings-header-collapsed'); + moresettings.removeClass('moresettings-expanded'); + moresettings.addClass('moresettings-collapsed'); + } + }); + }); }); diff --git a/public/static/default.css b/public/static/default.css index e11e315..4d8cd91 100644 --- a/public/static/default.css +++ b/public/static/default.css @@ -483,6 +483,26 @@ span.notes { color: #666666; } +.moresettings-header { + cursor: pointer; +} + +.moresettings-header-collapsed:before { + content: "▹ " +} + +.moresettings-header-expanded:before { + content: "▿ " +} + +.moresettings-collapsed { + display: none; +} + +.moresettings-expanded { + display: block; +} + div.break { height: 1em; } @@ -550,10 +570,26 @@ input[type="submit"]:hover, border-color: #204d74; } -input[type="submit"]:active { +input[type="submit"]:active, +.button.active { box-shadow: inset 0 3px 5px rgba(0,0,0,.125); } +.button-light { + color: #333; + background-color: #fff; + border-color: #ccc; +} + +.button-light:active, +.button-light:focus, +.button-light:hover +{ + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} + div.notes { margin-top: 2em; } diff --git a/templates/layouts/default.html.ep b/templates/layouts/default.html.ep index a7e6a02..92ee22a 100644 --- a/templates/layouts/default.html.ep +++ b/templates/layouts/default.html.ep @@ -70,84 +70,86 @@ Bitte eine Station aus der Liste auswählen</div> %= submit_button 'Abfartsmonitor' </div> <div class="break"></div> - <span class="optional">Optionale Einstellungen:</span> - <div class="field"> - <div class="desc"> - Frontend - </div> - <div> - %= select_field mode => [ ['App / Infoscreen' => 'clean'], ['Bahnhofstafel' => 'multi'], ['Gleis' => 'single'] ] + <div class="moresettings-header moresettings-header-collapsed button button-light">Weitere Einstellungen</div> + <div class="moresettings moresettings-collapsed"> + <div class="field"> + <div class="desc"> + Frontend + </div> + <div> + %= select_field mode => [ ['App / Infoscreen' => 'clean'], ['Bahnhofstafel' => 'multi'], ['Gleis' => 'single'] ] + </div> </div> - </div> - <div class="field"> - <div class="desc"> - Backend + <div class="field"> + <div class="desc"> + Backend + </div> + <div> + %= select_field backend => [ ['IRIS' => 'iris'], ['HAFAS' => 'ris'] ] + </div> </div> - <div> - %= select_field backend => [ ['IRIS' => 'iris'], ['HAFAS' => 'ris'] ] + <div class="field"> + <div class="desc"> + Nur Züge über + </div> + <div> + %= text_field 'via', placeholder => 'Bahnhof 1, Bhf2, ... (oder regulärer Ausdruck)', class => 'station' + </div> </div> - </div> - <div class="field"> - <div class="desc"> - Nur Züge über - </div> - <div> - %= text_field 'via', placeholder => 'Bahnhof 1, Bhf2, ... (oder regulärer Ausdruck)', class => 'station' - </div> - </div> - <div class="field"> - <div class="desc"> - Gleise - </div> - <div> - %= text_field 'platforms', placeholder => '1, 2, 5, ...' + <div class="field"> + <div class="desc"> + Gleise + </div> + <div> + %= text_field 'platforms', placeholder => '1, 2, 5, ...' + </div> </div> - </div> - <div class="field"> - <div class="desc"> - %= check_box 'hidelowdelay' => 1, id => 'id_hidelowdelay' - <label for="id_hidelowdelay"> - Nur Verspätungen >5 Min. anzeigen - </label> + <div class="field"> + <div class="desc"> + %= check_box 'hidelowdelay' => 1, id => 'id_hidelowdelay' + <label for="id_hidelowdelay"> + Nur Verspätungen >5 Min. anzeigen + </label> + </div> </div> - </div> - <div class="field"> - <div class="desc"> - %= check_box 'hide_opts' => 1, id => 'id_hide_opts' - <label for="id_hide_opts"> - Formular verstecken (für Infoscreens) - </label> + <div class="field"> + <div class="desc"> + %= check_box 'hide_opts' => 1, id => 'id_hide_opts' + <label for="id_hide_opts"> + Formular verstecken (für Infoscreens) + </label> + </div> </div> - </div> - <div class="break"></div> - <span class="optional">Nur für IRIS-Backend:</span> - <div class="field"> - <div class="desc"> - Ankunfts- oder Abfahrtszeit anzeigen? + <div class="break"></div> + <span class="optional">Nur für IRIS-Backend:</span> + <div class="field"> + <div class="desc"> + Ankunfts- oder Abfahrtszeit anzeigen? + </div> + <div> + %= select_field admode => [['Abfahrt bevorzugen' => 'deparr'], ['Nur Abfahrt' => 'dep'], ['Nur Ankunft' => 'arr']] + </div> </div> - <div> - %= select_field admode => [['Abfahrt bevorzugen' => 'deparr'], ['Nur Abfahrt' => 'dep'], ['Nur Ankunft' => 'arr']] + <div class="field"> + <div class="desc"> + %= check_box 'show_realtime' => 1, id => 'id_show_realtime' + <label for="id_show_realtime"> + Erwartete Zeiten statt Fahrplandaten + </label> + </div> </div> - </div> - <div class="field"> - <div class="desc"> - %= check_box 'show_realtime' => 1, id => 'id_show_realtime' - <label for="id_show_realtime"> - Erwartete Zeiten statt Fahrplandaten - </label> + <div class="field"> + <div class="desc"> + %= check_box 'recursive' => 1, id => 'id_recursive' + <label for="id_recursive"> + Betriebliche Bahnhofstrennungen ignorieren (z.B. "Hbf (Fern+Regio)" vs. "Hbf (S)") + </label> + </div> </div> - </div> - <div class="field"> - <div class="desc"> - %= check_box 'recursive' => 1, id => 'id_recursive' - <label for="id_recursive"> - Betriebliche Bahnhofstrennungen ignorieren (z.B. "Hbf (Fern+Regio)" vs. "Hbf (S)") - </label> + <div class="field"> + %= submit_button 'Anzeigen' </div> - </div> - <div class="field"> - %= submit_button 'Anzeigen' - </div> + </div> <!-- moresettings --> </div> % end |