travelynx/scripts/update-autocomplete
2023-07-03 17:59:25 +02:00

43 lines
904 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 Birte Kristina 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
);