aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site/static/js/wiki/dropdown.js
diff options
context:
space:
mode:
authorGravatar Leon Sandøy <[email protected]>2019-04-20 23:49:12 +0200
committerGravatar GitHub <[email protected]>2019-04-20 23:49:12 +0200
commit0e373cd953dd7ee8433cd936a8df050ab097bb08 (patch)
tree54061f3d1f33247f0a57efc311167ba275c67c94 /pydis_site/static/js/wiki/dropdown.js
parentMerge pull request #213 from python-discord/django_front_page (diff)
parentReplace wiki dep with PyDis fork, add git to Docker (diff)
Merge pull request #202 from gdude2002/django+200/wiki
[#200] Django Wiki
Diffstat (limited to 'pydis_site/static/js/wiki/dropdown.js')
-rw-r--r--pydis_site/static/js/wiki/dropdown.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/pydis_site/static/js/wiki/dropdown.js b/pydis_site/static/js/wiki/dropdown.js
new file mode 100644
index 00000000..a914a4ab
--- /dev/null
+++ b/pydis_site/static/js/wiki/dropdown.js
@@ -0,0 +1,35 @@
+(function() {
+ window.dropdowns = {};
+
+ let elements = document.getElementsByClassName("dropdown");
+
+ for (let element of elements) {
+ let menu_element = element.getElementsByClassName("dropdown-menu")[0];
+
+ function show() {
+ $(element).addClass("is-active");
+ }
+
+ function hide() {
+ $(element).removeClass("is-active");
+ }
+
+ function handle_event(e) {
+ show();
+
+ $(document.body).on("click." + menu_element.id, function() {
+ hide();
+
+ $(document.body).off("click." + menu_element.id);
+ });
+
+ e.stopPropagation();
+ }
+
+ $(element).click(handle_event);
+ $(element).hover(handle_event);
+ $(element).mouseleave(hide);
+
+ window.dropdowns[menu_element.id] = element;
+ }
+})();