client: collapse search on click outside

This commit is contained in:
geoffrey45
2021-12-31 12:53:10 +03:00
parent 61e7ff7188
commit d74aee0c46
3 changed files with 21 additions and 12 deletions
+4 -4
View File
@@ -89,13 +89,13 @@ export default {
return { return {
toggleNav, toggleNav,
collapsed,
up_next,
expandQueue,
expandSearch, expandSearch,
collapseSearch, collapseSearch,
search,
isMagicFlag, isMagicFlag,
expandQueue,
collapsed,
up_next,
search,
}; };
}, },
}; };
+15 -5
View File
@@ -86,7 +86,7 @@
<script> <script>
import { ref, toRefs } from "@vue/reactivity"; import { ref, toRefs } from "@vue/reactivity";
import { watch } from "@vue/runtime-core"; import { onMounted, watch } from "@vue/runtime-core";
import state from "@/composables/state.js"; import state from "@/composables/state.js";
export default { export default {
@@ -125,6 +125,10 @@ export default {
title: "📁 Folder", title: "📁 Folder",
icon: "📁", icon: "📁",
}, },
{
title: "🈁 Here",
icon: "🈁",
}
]; ];
const searchComponent = ref(null); const searchComponent = ref(null);
const filters = ref(state.filters); const filters = ref(state.filters);
@@ -189,10 +193,17 @@ export default {
} }
}); });
function hideScrollable() { onMounted(() => {
document.querySelector(".scrollable").classList.remove("v1"); const dom = document.getElementsByClassName("right-search")[0]
document.querySelector(".scrollable").classList.add("v0");
document.addEventListener("click", (e) => {
var isClickedInside = dom.contains(e.target);
if (!isClickedInside) {
emit("collapseSearch");
} }
});
});
return { return {
addFilter, addFilter,
@@ -200,7 +211,6 @@ export default {
removeMagicFlag, removeMagicFlag,
removeFilter, removeFilter,
removeLastFilter, removeLastFilter,
hideScrollable,
songs, songs,
albums, albums,
artists, artists,
-1
View File
@@ -104,7 +104,6 @@ setTimeout(() => {
}); });
localStorage.setItem("current", JSON.stringify(new_current)); localStorage.setItem("current", JSON.stringify(new_current));
// localStorage.setItem("prev", JSON.stringify(old_current));
}); });
}, 1000); }, 1000);