mirror of
https://github.com/KevinMidboe/zoff.git
synced 2025-10-29 18:00:23 +00:00
Temporary fix for autocomplete with materializeCSS
This commit is contained in:
2
public/dist/callback.min.js
vendored
2
public/dist/callback.min.js
vendored
@@ -1 +1 @@
|
|||||||
!function(){function e(e){var t,a=e.substring(1).split("&"),n={};for(var o in a)t=a[o].split("="),2==t.length&&(n[t[0]]=t[1]);return n}window.addEventListener("load",function(){var t,a,n,o=e(window.location.hash),i=window.location.protocol+"//"+window.location.hostname+"/o_callback";if(o.spotify)t="b934ecdd173648f5bcd38738af529d58",a="token",n="playlist-read-private playlist-read-collaborative user-read-private playlist-modify-public",state=o.nonce,window.location.href="https://accounts.spotify.com/authorize?client_id="+t+"&scope="+n+"&show_dialog=false&response_type="+a+"&redirect_uri="+i+"&state="+state;else if(o.youtube)t="944988770273-butsmlr1aotlsskk8lmgvh0etqqekigf.apps.googleusercontent.com",a="token",n="https://www.googleapis.com/auth/youtube",state=o.nonce,window.location.href="https://accounts.google.com/o/oauth2/v2/auth?client_id="+t+"&response_type="+a+"&state="+state+"&redirect_uri="+i+"&scope="+n;else{var s=e(window.location.hash);window.opener.callback(s)}})}();
|
!function(){function e(e){var t,a=e.substring(1).split("&"),n={};for(var i in a)t=a[i].split("="),2==t.length&&(n[t[0]]=t[1]);return n}window.addEventListener("load",function(){var t,a,n,i=e(window.location.hash),o=window.location.protocol+"//"+window.location.hostname+"/o_callback";if(i.spotify)t="b934ecdd173648f5bcd38738af529d58",a="token",n="playlist-read-private playlist-read-collaborative user-read-private playlist-modify-public",state=i.nonce,window.location.href="https://accounts.spotify.com/authorize?client_id="+t+"&scope="+n+"&show_dialog=false&response_type="+a+"&redirect_uri="+o+"&state="+state;else if(i.youtube)t="944988770273-butsmlr1aotlsskk8lmgvh0etqqekigf.apps.googleusercontent.com",a="token",n="https://www.googleapis.com/auth/youtube",state=i.nonce,window.location.href="https://accounts.google.com/o/oauth2/v2/auth?client_id="+t+"&response_type="+a+"&state="+state+"&redirect_uri="+o+"&scope="+n;else{var s=e(window.location.hash);window.opener.callback(s)}})}();
|
||||||
4
public/dist/embed.min.js
vendored
4
public/dist/embed.min.js
vendored
File diff suppressed because one or more lines are too long
8
public/dist/main.min.js
vendored
8
public/dist/main.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -136,7 +136,7 @@ var Frontpage = {
|
|||||||
limit: 5, // The max amount of results that can be shown at once. Default: Infinity.
|
limit: 5, // The max amount of results that can be shown at once. Default: Infinity.
|
||||||
});
|
});
|
||||||
|
|
||||||
$(".autocomplete").off('keydown.autocomplete');
|
//$(".autocomplete").off('keydown.autocomplete');
|
||||||
|
|
||||||
document.getElementById("preloader").style.display = "none";
|
document.getElementById("preloader").style.display = "none";
|
||||||
//Materialize.fadeInImage('#channels');
|
//Materialize.fadeInImage('#channels');
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ var Helper = {
|
|||||||
mobilecheck: function() {
|
mobilecheck: function() {
|
||||||
var isMobile = false; //initiate as false
|
var isMobile = false; //initiate as false
|
||||||
// device detection
|
// device detection
|
||||||
if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)
|
if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)
|
||||||
|| /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) isMobile = true;
|
|| /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) isMobile = true;
|
||||||
return isMobile;
|
return isMobile;
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -129,6 +129,176 @@ $().ready(function(){
|
|||||||
} catch(error){
|
} catch(error){
|
||||||
Helper.log("Error with fetching GitHub commit info");
|
Helper.log("Error with fetching GitHub commit info");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*******
|
||||||
|
|
||||||
|
MaterializeCSS fix for autocomplete
|
||||||
|
|
||||||
|
******/
|
||||||
|
|
||||||
|
$.fn.autocomplete = function (options) {
|
||||||
|
// Defaults
|
||||||
|
var defaults = {
|
||||||
|
data: {},
|
||||||
|
limit: Infinity,
|
||||||
|
onAutocomplete: null
|
||||||
|
};
|
||||||
|
|
||||||
|
options = $.extend(defaults, options);
|
||||||
|
|
||||||
|
return this.each(function() {
|
||||||
|
var $input = $(this);
|
||||||
|
var data = options.data,
|
||||||
|
count = 0,
|
||||||
|
activeIndex = -1,
|
||||||
|
oldVal,
|
||||||
|
$inputDiv = $input.closest('.input-field'); // Div to append on
|
||||||
|
|
||||||
|
// Check if data isn't empty
|
||||||
|
if (!$.isEmptyObject(data)) {
|
||||||
|
var $autocomplete = $('<ul class="autocomplete-content dropdown-content"></ul>');
|
||||||
|
var $oldAutocomplete;
|
||||||
|
|
||||||
|
// Append autocomplete element.
|
||||||
|
// Prevent double structure init.
|
||||||
|
if ($inputDiv.length) {
|
||||||
|
$oldAutocomplete = $inputDiv.children('.autocomplete-content.dropdown-content').first();
|
||||||
|
if (!$oldAutocomplete.length) {
|
||||||
|
$inputDiv.append($autocomplete); // Set ul in body
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$oldAutocomplete = $input.next('.autocomplete-content.dropdown-content');
|
||||||
|
if (!$oldAutocomplete.length) {
|
||||||
|
$input.after($autocomplete);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($oldAutocomplete.length) {
|
||||||
|
$autocomplete = $oldAutocomplete;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Highlight partial match.
|
||||||
|
var highlight = function(string, $el) {
|
||||||
|
var img = $el.find('img');
|
||||||
|
var matchStart = $el.text().toLowerCase().indexOf("" + string.toLowerCase() + ""),
|
||||||
|
matchEnd = matchStart + string.length - 1,
|
||||||
|
beforeMatch = $el.text().slice(0, matchStart),
|
||||||
|
matchText = $el.text().slice(matchStart, matchEnd + 1),
|
||||||
|
afterMatch = $el.text().slice(matchEnd + 1);
|
||||||
|
$el.html("<span>" + beforeMatch + "<span class='highlight'>" + matchText + "</span>" + afterMatch + "</span>");
|
||||||
|
if (img.length) {
|
||||||
|
$el.prepend(img);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Reset current element position
|
||||||
|
var resetCurrentElement = function() {
|
||||||
|
activeIndex = -1;
|
||||||
|
$autocomplete.find('.active').removeClass('active');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Perform search
|
||||||
|
$input.off('keyup.autocomplete').on('keyup.autocomplete', function (e) {
|
||||||
|
// Reset count.
|
||||||
|
count = 0;
|
||||||
|
|
||||||
|
// Don't capture enter or arrow key usage.
|
||||||
|
if (e.which === 13 ||
|
||||||
|
e.which === 38 ||
|
||||||
|
e.which === 40) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var val = $input.val().toLowerCase();
|
||||||
|
|
||||||
|
// Check if the input isn't empty
|
||||||
|
if (oldVal !== val) {
|
||||||
|
$autocomplete.empty();
|
||||||
|
resetCurrentElement();
|
||||||
|
|
||||||
|
if (val !== '') {
|
||||||
|
for(var key in data) {
|
||||||
|
if (data.hasOwnProperty(key) &&
|
||||||
|
key.toLowerCase().indexOf(val) !== -1 &&
|
||||||
|
key.toLowerCase() !== val) {
|
||||||
|
// Break if past limit
|
||||||
|
if (count >= options.limit) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
var autocompleteOption = $('<li></li>');
|
||||||
|
if (!!data[key]) {
|
||||||
|
autocompleteOption.append('<img src="'+ data[key] +'" class="right circle"><span>'+ key +'</span>');
|
||||||
|
} else {
|
||||||
|
autocompleteOption.append('<span>'+ key +'</span>');
|
||||||
|
}
|
||||||
|
|
||||||
|
$autocomplete.append(autocompleteOption);
|
||||||
|
highlight(val, autocompleteOption);
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update oldVal
|
||||||
|
oldVal = val;
|
||||||
|
});
|
||||||
|
|
||||||
|
$input.off('keydown.autocomplete').on('keydown.autocomplete', function (e) {
|
||||||
|
// Arrow keys and enter key usage
|
||||||
|
var keyCode = e.which,
|
||||||
|
liElement,
|
||||||
|
numItems = $autocomplete.children('li').length,
|
||||||
|
$active = $autocomplete.children('.active').first();
|
||||||
|
|
||||||
|
// select element on Enter
|
||||||
|
if (keyCode === 13 && activeIndex >= 0) {
|
||||||
|
liElement = $autocomplete.children('li').eq(activeIndex);
|
||||||
|
if (liElement.length) {
|
||||||
|
liElement.click();
|
||||||
|
e.preventDefault();
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Capture up and down key
|
||||||
|
if ( keyCode === 38 || keyCode === 40 ) {
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
if (keyCode === 38 &&
|
||||||
|
activeIndex > 0) {
|
||||||
|
activeIndex--;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (keyCode === 40 &&
|
||||||
|
activeIndex < (numItems - 1)) {
|
||||||
|
activeIndex++;
|
||||||
|
}
|
||||||
|
console.log(activeIndex);
|
||||||
|
|
||||||
|
$active.removeClass('active');
|
||||||
|
if (activeIndex >= 0) {
|
||||||
|
$autocomplete.children('li').eq(activeIndex).addClass('active');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Set input value
|
||||||
|
$autocomplete.on('click', 'li', function () {
|
||||||
|
var text = $(this).text().trim();
|
||||||
|
$input.val(text);
|
||||||
|
$input.trigger('change');
|
||||||
|
$autocomplete.empty();
|
||||||
|
resetCurrentElement();
|
||||||
|
|
||||||
|
// Handle onAutocomplete callback.
|
||||||
|
if (typeof(options.onAutocomplete) === "function") {
|
||||||
|
options.onAutocomplete.call(this, text);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
@@ -855,7 +1025,7 @@ $(document).on("submit", ".channel-finder", function(e){
|
|||||||
Frontpage.to_channel($(".room-namer").val());
|
Frontpage.to_channel($(".room-namer").val());
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
/*
|
||||||
$(document).off("keyup", "keyup.autocomplete", function(e){
|
$(document).off("keyup", "keyup.autocomplete", function(e){
|
||||||
if(e.keyCode == 13){
|
if(e.keyCode == 13){
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
@@ -870,7 +1040,7 @@ $(document).off("keydown", "keydown.autocomplete", function(e){
|
|||||||
console.log(e.keyCode);
|
console.log(e.keyCode);
|
||||||
console.log($(this).val());
|
console.log($(this).val());
|
||||||
}
|
}
|
||||||
});
|
});*/
|
||||||
|
|
||||||
$(document).on("submit", ".channel-finder-mobile", function(e){
|
$(document).on("submit", ".channel-finder-mobile", function(e){
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|||||||
Reference in New Issue
Block a user