bye jquery :⁾
This commit is contained in:
parent
3f9b0d41c3
commit
872a4b4eee
Binary file not shown.
Before Width: | Height: | Size: 6.8 KiB |
Binary file not shown.
Before Width: | Height: | Size: 6.9 KiB |
Binary file not shown.
Before Width: | Height: | Size: 4.6 KiB |
Binary file not shown.
Before Width: | Height: | Size: 6.8 KiB |
Binary file not shown.
Before Width: | Height: | Size: 4.5 KiB |
Binary file not shown.
Before Width: | Height: | Size: 6.2 KiB |
7
public/css/jquery-ui.min.css
vendored
7
public/css/jquery-ui.min.css
vendored
File diff suppressed because one or more lines are too long
4
public/js/jquery-3.1.0.min.js
vendored
4
public/js/jquery-3.1.0.min.js
vendored
File diff suppressed because one or more lines are too long
13
public/js/jquery-ui.min.js
vendored
13
public/js/jquery-ui.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -1,4 +1,4 @@
|
||||||
$(document).ready(() => {
|
window.onload = () => {
|
||||||
const menu = document.querySelector("menu");
|
const menu = document.querySelector("menu");
|
||||||
switch(window.location.pathname.split(/\//)[1]) {
|
switch(window.location.pathname.split(/\//)[1]) {
|
||||||
case "v": menu.querySelector("li:nth-child(2)").classList.add("active"); break;
|
case "v": menu.querySelector("li:nth-child(2)").classList.add("active"); break;
|
||||||
|
@ -43,110 +43,4 @@ $(document).ready(() => {
|
||||||
};
|
};
|
||||||
|
|
||||||
document.querySelectorAll("time").forEach(e => e.innerHTML = timeAgo(e.title));
|
document.querySelectorAll("time").forEach(e => e.innerHTML = timeAgo(e.title));
|
||||||
|
|
||||||
$.widget("custom.combobox", {
|
|
||||||
_create: function() {
|
|
||||||
this.wrapper = $("<span>")
|
|
||||||
.addClass("custom-combobox")
|
|
||||||
.insertAfter(this.element);
|
|
||||||
this.element.hide();
|
|
||||||
this._createAutocomplete();
|
|
||||||
this._createShowAllButton();
|
|
||||||
},
|
|
||||||
_createAutocomplete: function() {
|
|
||||||
var selected = this.element.children(":selected"),
|
|
||||||
value = selected.val() ? selected.text() : "";
|
|
||||||
this.input = $("<input>")
|
|
||||||
.appendTo(this.wrapper)
|
|
||||||
.val(value)
|
|
||||||
.attr("title", "")
|
|
||||||
.addClass("custom-combobox-input ui-widget ui-widget-content ui-state-default ui-corner-left")
|
|
||||||
.autocomplete({
|
|
||||||
delay: 0,
|
|
||||||
minLength: 0,
|
|
||||||
source: $.proxy(this, "_source")
|
|
||||||
})
|
|
||||||
.tooltip({
|
|
||||||
classes: {
|
|
||||||
"ui-tooltip": "ui-state-highlight"
|
|
||||||
}
|
|
||||||
});
|
|
||||||
this._on(this.input, {
|
|
||||||
autocompleteselect: function(event, ui) {
|
|
||||||
ui.item.option.selected = true;
|
|
||||||
this._trigger("select", event, {
|
|
||||||
item: ui.item.option
|
|
||||||
});
|
|
||||||
},
|
|
||||||
autocompletechange: "_removeIfInvalid"
|
|
||||||
});
|
|
||||||
},
|
|
||||||
_createShowAllButton: function() {
|
|
||||||
var input = this.input,
|
|
||||||
wasOpen = false;
|
|
||||||
$("<a>")
|
|
||||||
.attr("tabIndex", -1)
|
|
||||||
.attr("title", "Show All Items")
|
|
||||||
.tooltip()
|
|
||||||
.appendTo(this.wrapper)
|
|
||||||
.button({
|
|
||||||
icons: {
|
|
||||||
primary: "ui-icon-triangle-1-s"
|
|
||||||
},
|
|
||||||
text: false
|
|
||||||
})
|
|
||||||
.removeClass("ui-corner-all")
|
|
||||||
.addClass("custom-combobox-toggle ui-corner-right")
|
|
||||||
.on("mousedown", function() {
|
|
||||||
wasOpen = input.autocomplete("widget").is(":visible");
|
|
||||||
})
|
|
||||||
.on("click", function() {
|
|
||||||
input.trigger("focus");
|
|
||||||
if (wasOpen) return;
|
|
||||||
input.autocomplete("search", "");
|
|
||||||
});
|
|
||||||
},
|
|
||||||
_source: function(request, response) {
|
|
||||||
var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
|
|
||||||
response(this.element.children("option").map(function() {
|
|
||||||
var text = $(this).text();
|
|
||||||
if (this.value && (!request.term || matcher.test(text)))
|
|
||||||
return {
|
|
||||||
label: text,
|
|
||||||
value: text,
|
|
||||||
option: this
|
|
||||||
};
|
};
|
||||||
}));
|
|
||||||
},
|
|
||||||
_removeIfInvalid: function(event, ui) {
|
|
||||||
if (ui.item) return;
|
|
||||||
var value = this.input.val(),
|
|
||||||
valueLowerCase = value.toLowerCase(),
|
|
||||||
valid = false;
|
|
||||||
this.element.children("option").each(function() {
|
|
||||||
if ($(this).text().toLowerCase() === valueLowerCase) {
|
|
||||||
this.selected = valid = true;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if (valid) return;
|
|
||||||
this.input
|
|
||||||
.val("")
|
|
||||||
.attr("title", value + " didn't match any item")
|
|
||||||
.tooltip("open");
|
|
||||||
this.element.val("");
|
|
||||||
this._delay(function() {
|
|
||||||
this.input.tooltip("close").attr("title", "");
|
|
||||||
}, 2500);
|
|
||||||
this.input.autocomplete("instance").term = "";
|
|
||||||
},
|
|
||||||
_destroy: function() {
|
|
||||||
this.wrapper.remove();
|
|
||||||
this.element.show();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
$("#lang").combobox();
|
|
||||||
$("#toggle").on("click", function() {
|
|
||||||
$("#lang").toggle();
|
|
||||||
});
|
|
||||||
});
|
|
|
@ -39,9 +39,6 @@
|
||||||
<section id="main">
|
<section id="main">
|
||||||
{{{body}}}
|
{{{body}}}
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<script type="text/javascript" src="/js/jquery-3.1.0.min.js"></script>
|
|
||||||
<script type="text/javascript" src="/js/jquery-ui.min.js"></script>
|
|
||||||
<script type="text/javascript" src="/js/main.js"></script>
|
<script type="text/javascript" src="/js/main.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
Loading…
Reference in New Issue
Block a user