diff options
author | Birte Kristina Friesel <derf@finalrewind.org> | 2023-08-26 09:17:28 +0200 |
---|---|---|
committer | Birte Kristina Friesel <derf@finalrewind.org> | 2023-08-26 09:17:28 +0200 |
commit | f4d71b4d9fb4191c07a9c200d32626175568b4fa (patch) | |
tree | 1903cec1805df51d9b2d9d08e00e7f0a708e04be /lib/Travelynx/Controller/Api.pm | |
parent | 559a1cedd7814d101743f718f1db2760338ab51f (diff) |
obtain autocompletion from database2.1.1
Diffstat (limited to 'lib/Travelynx/Controller/Api.pm')
-rwxr-xr-x | lib/Travelynx/Controller/Api.pm | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/Travelynx/Controller/Api.pm b/lib/Travelynx/Controller/Api.pm index 7f72a53..687243d 100755 --- a/lib/Travelynx/Controller/Api.pm +++ b/lib/Travelynx/Controller/Api.pm @@ -7,6 +7,7 @@ use Mojo::Base 'Mojolicious::Controller'; use DateTime; use List::Util; +use Mojo::JSON qw(encode_json); use UUID::Tiny qw(:std); # Internal Helpers @@ -648,4 +649,21 @@ sub set_token { $self->redirect_to('account'); } +sub autocomplete { + my ($self) = @_; + + $self->res->headers->cache_control('max-age=86400, immutable'); + + my $output + = "document.addEventListener('DOMContentLoaded',function(){M.Autocomplete.init(document.querySelectorAll('.autocomplete'),{\n"; + $output .= 'minLength:3,limit:50,data:'; + $output .= encode_json( $self->stations->get_for_autocomplete ); + $output .= "\n});});\n"; + + $self->render( + format => 'js', + data => $output + ); +} + 1; |