$(function () { var itemsItems = new Bloodhound({ datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'), queryTokenizer: Bloodhound.tokenizers.whitespace, limit: 1000, prefetch: { url: '/items.php', ttl: 1, filter: function (list) { return $.map(list, function (item) { return { name: item.name, category: item.category, release: item.release, id: item.id }; }); } } }); itemsItems.initialize(); $('.typeahead').typeahead(null, { name: 'itemsItems', displayKey: 'name', source: itemsItems.ttAdapter(), templates: { suggestion: function (data) { return '' + data.name + ' (' + data.release + ')'; } } }); $('.region-title').on('click', function (e) { $('.region-' + $(this).data('region')).toggleClass('hide'); $(this).toggleClass('region-hidden'); }); $('[rel=popover]').popover(); $('.typeahead').on('typeahead:selected', function (e, item) { $(".container-result").empty(); $(".container-result").append(''); $.get("/home/_snippet/" + item.id, function (data) { $(".container-result").empty(); $(".container-result").append(data); }); }).on('typeahead:autocompleted', function (e, item) { $(".container-result").empty(); $(".container-result").append(''); $.get("/result/" + item.id, function (data) { $(".container-result").empty(); $(".container-result").append(data); }); }); $('.frontpage-table tr:gt(0)').on('click', function (e) { var tableRow = $(this); if(tableRow.hasClass('tr-after-active')) { tableRow.removeClass('tr-after-active'); $('.insert-after').remove(); } else { $.get("/home/_snippet/" + $(this).data('id'), function (data) { $('.insert-after').remove(); $('.tr-after-active').removeClass('tr-after-active'); tableRow.addClass('tr-after-active'); tableRow.after('' + data + ''); // $(".container-result").empty(); // $(".container-result").append(data); // // $('html, body').animate({ // scrollTop: $('#result').offset().top - 70 // }); }); } }); /* $(".typeahead").keypress(function(e) { var code = (e.keyCode ? e.keyCode : e.which); if(code == 13) { //Enter keycode return false; } }); $('.typeahead').autocomplete( { source: function(request, response) { $.ajax({ url: 'search/' + request.term.replace(/\ /g, '+'), success: function(data) { var transformed = $.map(data, function(el) { if(el.category !== null && el.category !== undefined) { } else { el.category = 'Unknown'; } return { id: el.id, name: el.name, category: el.category, release: el.release, }; }); response(transformed); }, error: function() { response([]); } }); }, select: function(event, ui) { $(".container-result").slideToggle(100); $(".container-result").empty(); $.get("result/" + ui.item.id, function(data) { $(".container-result").append(data); }); $(".container-result").slideToggle(100); $(".typeahead").val(ui.item.name); return false; } }).data("uiAutocomplete")._renderItem = function(ul, item) { return $("
  • ") .data("item.autocomplete", item) .append("" + item.name + " (" + item.release + ")") .appendTo(ul); }; */ /*var delay = (function() { var timer = 0; return function(callback, ms) { clearTimeout(timer); timer = setTimeout(callback, ms); }; })(); $('.form-register #username').keyup(function() { var thisSel = $(this); thisSel.parent().append(''); delay(function(){ thisSel.parent().next().remove(); }, 1000 ); });*/ }); $(function () { if($('body').hasClass('logged-in')) { initClickFavourites(); } function initClickFavourites() { $(document.body).on('click', '.js-favourite', function (e) { var $thisCont = $(this); $('i', $thisCont).addClass('animate-spin'); var number = parseInt($('.js-times-favourited', $thisCont).text(), 10); var _click = {}; if($thisCont.hasClass('active')) { var _click = { url: 'item/_removeFavourite', removeClass: 'active btn-primary', addClass: 'btn-default', newNumber: number-1 }; } else { var _click = { url: 'item/_addFavourite', removeClass: 'btn-default', addClass: 'btn-primary active', newNumber: number+1 }; } $.post('/' + _click.url, { id: $thisCont.attr('data-id') }).done(function (data) { $thisCont.removeClass(_click.removeClass).addClass(_click.addClass); $('.js-times-favourited', $thisCont).text(_click.newNumber); setAlert('success', JSON.parse(data).message); }).always(function () { $('i', $thisCont).removeClass('animate-spin'); }).fail(function (data) { setAlert('danger', JSON.parse(data.responseText).message); }); // } else { // $.post("/item/_addFavourite", { // id: thisCont.attr('data-id') // }).done(function (data) { // thisCont.addClass('active').removeClass('btn-default').addClass('btn-primary'); // $('.js-times-favourited', thisCont).text(number + 1); // setAlert('success', JSON.parse(data).message); // }).always(function () { // $('i', thisCont).removeClass('animate-spin'); // }).fail(function (data) { // setAlert('danger', JSON.parse(data.responseText).message); // }); // } }); } function setAlert(type, text) { $('.js-alert').addClass('alert-' + type).removeClass('hidden').fadeIn(400); $('.js-alert p').text(text); setTimeout(function () { $('.js-alert').fadeOut(600, function () { removeAlert($(this), type); }); }, 5000); } function removeAlert($alert, type) { $alert.fadeOut(400, function () { $(this).removeClass('alert-' + type).addClass('hidden'); $('p', this).text(''); }); } $('.js-alert').on('click', function () { removeAlert($(this), 'success'); }); });