mirror of
https://github.com/derf/travelynx
synced 2024-11-30 00:10:18 +00:00
43 lines
896 B
Perl
Executable file
43 lines
896 B
Perl
Executable file
#!/usr/bin/env perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
use 5.020;
|
|
|
|
use JSON;
|
|
use File::Slurp qw(write_file);
|
|
use List::Util qw(uniq);
|
|
use Travel::Status::DE::IRIS::Stations;
|
|
|
|
my @station_names
|
|
= uniq map { $_->[1] } Travel::Status::DE::IRIS::Stations::get_stations();
|
|
my $station_list = q{};
|
|
|
|
for my $station (@station_names) {
|
|
$station_list .= sprintf( "\t\t\t\"%s\": null,\n", $station );
|
|
}
|
|
|
|
my $autocomplete = <<"EOF";
|
|
/*
|
|
* Copyright (C) 2020 DB Station&Service AG, Europaplatz 1, 10557 Berlin
|
|
* Copyright (C) 2020 Daniel Friesel
|
|
*
|
|
* SPDX-License-Identifier: CC-BY-4.0
|
|
*/
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
var elems = document.querySelectorAll('.autocomplete');
|
|
M.Autocomplete.init(elems, {
|
|
minLength: 3,
|
|
limit: 50,
|
|
data: {
|
|
$station_list
|
|
}
|
|
});
|
|
});
|
|
EOF
|
|
|
|
write_file(
|
|
"public/static/js/autocomplete.js",
|
|
{ binmode => ':encoding(utf-8)' },
|
|
$autocomplete
|
|
);
|