Loading lib/DBInfoscreen.pm +2 −0 Original line number Diff line number Diff line Loading @@ -305,6 +305,8 @@ sub startup { $r->get('/_impressum')->to('static#imprint'); $r->get('/dyn/:av/autocomplete.js')->to('stationboard#autocomplete'); $r->get('/_wr/:train/:departure')->to('wagenreihung#wagenreihung'); $r->get('/wr/:train')->to('wagenreihung#zugbildung_db'); $r->get('/w/*wagon')->to('wagenreihung#wagen'); Loading lib/DBInfoscreen/Controller/Stationboard.pm +21 −1 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ use Encode qw(decode encode); use File::Slurp qw(read_file write_file); use List::Util qw(max uniq); use List::MoreUtils qw(); use Mojo::JSON qw(decode_json); use Mojo::JSON qw(decode_json encode_json); use Mojo::Promise; use Mojo::UserAgent; use Travel::Status::DE::HAFAS; Loading Loading @@ -1836,4 +1836,24 @@ sub stations_by_coordinates { } } sub autocomplete { my $self = shift; $self->res->headers->cache_control('max-age=31536000, immutable'); my $output = '$(function(){const stations='; $output .= encode_json( [ map { $_->[1] } Travel::Status::DE::IRIS::Stations::get_stations() ] ); $output .= ";\n"; $output .= "\$('input.station').autocomplete({delay:0,minLength:3,source:stations});});\n"; $self->render( format => 'js', data => $output ); } 1; scripts/asset-rebuild +1 −3 Original line number Diff line number Diff line Loading @@ -8,9 +8,7 @@ set -ex sassc -t compressed sass/dark.scss public/static/css/dark.min.css sassc -t compressed sass/light.scss public/static/css/light.min.css scripts/update-autocomplete uglifyjs public/static/js/autocomplete.js public/static/js/collapse.js -c -m > public/static/js/dbf.min.js uglifyjs public/static/js/collapse.js -c -m > public/static/js/dbf.min.js uglifyjs public/static/js/geostop.js -c -m > public/static/js/geostop.min.js uglifyjs public/static/js/geotrain.js -c -m > public/static/js/geotrain.min.js uglifyjs public/static/js/map-refresh.js -c -m > public/static/js/map-refresh.min.js Loading scripts/update-autocompletedeleted 100755 → 0 +0 −29 Original line number Diff line number Diff line #!/usr/bin/env perl # Copyright (C) 2020 Birte Kristina Friesel # # SPDX-License-Identifier: CC0-1.0 use strict; use warnings; use 5.020; use JSON; use File::Slurp qw(write_file); use Travel::Status::DE::IRIS::Stations; my @station_names = map { $_->[1] } Travel::Status::DE::IRIS::Stations::get_stations(); my $station_json = JSON->new->utf8->encode([@station_names]); my $autocomplete = <<"EOF"; \$(function() { var stations = $station_json; \$('input.station').autocomplete({ delay: 0, minLength: 3, source: stations }); }); EOF write_file("public/static/js/autocomplete.js", $autocomplete); templates/layouts/app.html.ep +3 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,9 @@ %= javascript '/static/js/jquery-3.4.1.min.js', defer => undef %= javascript "/static/${av}/js/jquery-ui.min.js", defer => undef %= javascript "/static/${av}/js/dbf.min.js", defer => undef % if (not stash('hide_opts')) { %= javascript "/dyn/${av}/autocomplete.js", defer => undef % } % if (stash('with_geostop')) { %= javascript "/static/${av}/js/geostop.min.js", defer => undef % } Loading Loading
lib/DBInfoscreen.pm +2 −0 Original line number Diff line number Diff line Loading @@ -305,6 +305,8 @@ sub startup { $r->get('/_impressum')->to('static#imprint'); $r->get('/dyn/:av/autocomplete.js')->to('stationboard#autocomplete'); $r->get('/_wr/:train/:departure')->to('wagenreihung#wagenreihung'); $r->get('/wr/:train')->to('wagenreihung#zugbildung_db'); $r->get('/w/*wagon')->to('wagenreihung#wagen'); Loading
lib/DBInfoscreen/Controller/Stationboard.pm +21 −1 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ use Encode qw(decode encode); use File::Slurp qw(read_file write_file); use List::Util qw(max uniq); use List::MoreUtils qw(); use Mojo::JSON qw(decode_json); use Mojo::JSON qw(decode_json encode_json); use Mojo::Promise; use Mojo::UserAgent; use Travel::Status::DE::HAFAS; Loading Loading @@ -1836,4 +1836,24 @@ sub stations_by_coordinates { } } sub autocomplete { my $self = shift; $self->res->headers->cache_control('max-age=31536000, immutable'); my $output = '$(function(){const stations='; $output .= encode_json( [ map { $_->[1] } Travel::Status::DE::IRIS::Stations::get_stations() ] ); $output .= ";\n"; $output .= "\$('input.station').autocomplete({delay:0,minLength:3,source:stations});});\n"; $self->render( format => 'js', data => $output ); } 1;
scripts/asset-rebuild +1 −3 Original line number Diff line number Diff line Loading @@ -8,9 +8,7 @@ set -ex sassc -t compressed sass/dark.scss public/static/css/dark.min.css sassc -t compressed sass/light.scss public/static/css/light.min.css scripts/update-autocomplete uglifyjs public/static/js/autocomplete.js public/static/js/collapse.js -c -m > public/static/js/dbf.min.js uglifyjs public/static/js/collapse.js -c -m > public/static/js/dbf.min.js uglifyjs public/static/js/geostop.js -c -m > public/static/js/geostop.min.js uglifyjs public/static/js/geotrain.js -c -m > public/static/js/geotrain.min.js uglifyjs public/static/js/map-refresh.js -c -m > public/static/js/map-refresh.min.js Loading
scripts/update-autocompletedeleted 100755 → 0 +0 −29 Original line number Diff line number Diff line #!/usr/bin/env perl # Copyright (C) 2020 Birte Kristina Friesel # # SPDX-License-Identifier: CC0-1.0 use strict; use warnings; use 5.020; use JSON; use File::Slurp qw(write_file); use Travel::Status::DE::IRIS::Stations; my @station_names = map { $_->[1] } Travel::Status::DE::IRIS::Stations::get_stations(); my $station_json = JSON->new->utf8->encode([@station_names]); my $autocomplete = <<"EOF"; \$(function() { var stations = $station_json; \$('input.station').autocomplete({ delay: 0, minLength: 3, source: stations }); }); EOF write_file("public/static/js/autocomplete.js", $autocomplete);
templates/layouts/app.html.ep +3 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,9 @@ %= javascript '/static/js/jquery-3.4.1.min.js', defer => undef %= javascript "/static/${av}/js/jquery-ui.min.js", defer => undef %= javascript "/static/${av}/js/dbf.min.js", defer => undef % if (not stash('hide_opts')) { %= javascript "/dyn/${av}/autocomplete.js", defer => undef % } % if (stash('with_geostop')) { %= javascript "/static/${av}/js/geostop.min.js", defer => undef % } Loading