Advertisement
Guest User

Untitled

a guest
Dec 16th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let navSearch = document.getElementById("nav_search");
  2. let navSearchContainer = document.getElementById("nav_search_container");
  3. let navSearchEl = document.querySelector(".nav_search_el");
  4. navSearchEl.remove();
  5.  
  6. navSearchContainer.addSubj = function(name, year) {
  7.     let cur = navSearchEl.cloneNode(true);
  8.     cur.querySelector(".search-name").innerText = name;
  9.     cur.querySelector(".search-year > span").innerText = year;
  10.     cur.title = name + " - " + year;
  11.     navSearchContainer.append(cur);
  12. };
  13.  
  14.  
  15.  
  16. navSearch.addEventListener("focus", function () {
  17.     if (!document.querySelector(".nav_search_el")) return;
  18.     navSearchContainer.className += " show";
  19. });
  20. navSearch.hideSearch = function () {
  21.     navSearchContainer.className =
  22.         navSearchContainer.className
  23.             .split(" ")
  24.             .filter(function(s) {
  25.                 return s !== "show";
  26.             })
  27.             .join(" ");
  28. };
  29. navSearch.addEventListener("blur", navSearch.hideSearch);
  30. let timer;
  31. navSearch.addEventListener("keyup", function () {
  32.     lastQuery = navSearch.value;
  33.     clearTimeout(timer);
  34.     if (lastQuery.length === 0) {
  35.         navSearch.hideSearch();
  36.         return;
  37.     }
  38.  
  39.     timer = setTimeout(function () {
  40.         console.log(navSearch.value);
  41.         $.ajax({
  42.             type: 'post',
  43.             url: '/getSubj',
  44.             data: {name: navSearch.value}
  45.         }).done(function (data) {
  46.             navSearchContainer.innerText = '';
  47.             navSearch.hideSearch();
  48.             navSearchContainer.className += " show";
  49.             if (data) {
  50.                 data.forEach(function (v) {
  51.                     navSearchContainer.addSubj(v.title, v.releaseYear);
  52.                 })
  53.             } else navSearch.hideSearch();
  54.         });
  55.     }, 500)
  56. });
  57.  
  58. if (searchTitle != null && !searchTitle.equals("")) {
  59.     List<PlaylistDto> result = searchService.searchPlaylists(searchTitle, user.get());
  60.     json = objectMapper.writeValueAsString(result);
  61.     response.setContentType("application/json");
  62.     response.getWriter().write(json);
  63. } else request.getRequestDispatcher("/ftl/playlists.ftl").forward(request, response);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement