summaryrefslogtreecommitdiff
path: root/public/assets/js/_dependency-control/plugins/scrollShadowHor.js
diff options
context:
space:
mode:
authorGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-04-18 01:11:37 +0300
committerGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-04-18 01:11:37 +0300
commit2b6970d33afd75be5bfef951dc3691d492004d43 (patch)
tree39eba4206ca0c4cd3fecd5ead95580a74e50f3f9 /public/assets/js/_dependency-control/plugins/scrollShadowHor.js
parent68fc9e55e538e03f94509731ab41a0c8cf96710f (diff)
downloadclassroom-2b6970d33afd75be5bfef951dc3691d492004d43.tar.gz
classroom-2b6970d33afd75be5bfef951dc3691d492004d43.tar.bz2
classroom-2b6970d33afd75be5bfef951dc3691d492004d43.zip
admin back-office environment (skeleton); admin categories
Diffstat (limited to 'public/assets/js/_dependency-control/plugins/scrollShadowHor.js')
-rw-r--r--public/assets/js/_dependency-control/plugins/scrollShadowHor.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/public/assets/js/_dependency-control/plugins/scrollShadowHor.js b/public/assets/js/_dependency-control/plugins/scrollShadowHor.js
new file mode 100644
index 0000000..eed0325
--- /dev/null
+++ b/public/assets/js/_dependency-control/plugins/scrollShadowHor.js
@@ -0,0 +1,42 @@
+$$plugins.define('scrollShadowHor', function (element, options) {
+ var scrollElm = element.querySelector('.scrollbar'),
+ listInner = element.querySelector('.scrollbar__inner');
+
+ const observer = new MutationObserver(function(mutations) {
+ var childrenMutations = mutations.filter((x) => x.type === "childList");
+ if (childrenMutations.length > 0){
+ checkScrollPos(scrollElm);
+ }
+ });
+
+ observer.observe(listInner, { subtree: true, childList: true });
+
+ checkScrollPos(scrollElm);
+
+ scrollElm.addEventListener("scroll", function () {
+ checkScrollPos(this);
+ });
+
+ function checkScrollPos(scrollContainer) {
+ if (scrollContainer.scrollLeft + element.offsetWidth > listInner.offsetWidth - 8) {
+ element.classList.add('scrollbarShadow--right');
+ } else {
+ element.classList.remove('scrollbarShadow--right');
+ }
+ if (scrollContainer.scrollLeft < 8) {
+ element.classList.add('scrollbarShadow--left');
+ } else {
+ element.classList.remove('scrollbarShadow--left');
+ }
+ }
+
+ //checkScrollInit();
+
+ //function checkScrollInit() {
+ // if (element.offsetWidth >= listInner.offsetWidth) {
+ // element.classList.add('scrollbarShadow--noScroll');
+ // } else {
+ // element.classList.remove('scrollbarShadow--noScroll');
+ // }
+ //}
+});