1 |
- {"remainingRequest":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\boman-framwork\\ruoyi-ui\\src\\layout\\components\\TagsView\\ScrollPane.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\boman-framwork\\ruoyi-ui\\src\\layout\\components\\TagsView\\ScrollPane.vue","mtime":1619333322755},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC1pbmRleC5qcyIpOwoKLy8KLy8KLy8KLy8KLy8KLy8KdmFyIHRhZ0FuZFRhZ1NwYWNpbmcgPSA0OyAvLyB0YWdBbmRUYWdTcGFjaW5nCgp2YXIgX2RlZmF1bHQgPSB7CiAgbmFtZTogJ1Njcm9sbFBhbmUnLAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBsZWZ0OiAwCiAgICB9OwogIH0sCiAgY29tcHV0ZWQ6IHsKICAgIHNjcm9sbFdyYXBwZXI6IGZ1bmN0aW9uIHNjcm9sbFdyYXBwZXIoKSB7CiAgICAgIHJldHVybiB0aGlzLiRyZWZzLnNjcm9sbENvbnRhaW5lci4kcmVmcy53cmFwOwogICAgfQogIH0sCiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHsKICAgIHRoaXMuc2Nyb2xsV3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLmVtaXRTY3JvbGwsIHRydWUpOwogIH0sCiAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHsKICAgIHRoaXMuc2Nyb2xsV3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLmVtaXRTY3JvbGwpOwogIH0sCiAgbWV0aG9kczogewogICAgaGFuZGxlU2Nyb2xsOiBmdW5jdGlvbiBoYW5kbGVTY3JvbGwoZSkgewogICAgICB2YXIgZXZlbnREZWx0YSA9IGUud2hlZWxEZWx0YSB8fCAtZS5kZWx0YVkgKiA0MDsKICAgICAgdmFyICRzY3JvbGxXcmFwcGVyID0gdGhpcy5zY3JvbGxXcmFwcGVyOwogICAgICAkc2Nyb2xsV3JhcHBlci5zY3JvbGxMZWZ0ID0gJHNjcm9sbFdyYXBwZXIuc2Nyb2xsTGVmdCArIGV2ZW50RGVsdGEgLyA0OwogICAgfSwKICAgIGVtaXRTY3JvbGw6IGZ1bmN0aW9uIGVtaXRTY3JvbGwoKSB7CiAgICAgIHRoaXMuJGVtaXQoJ3Njcm9sbCcpOwogICAgfSwKICAgIG1vdmVUb1RhcmdldDogZnVuY3Rpb24gbW92ZVRvVGFyZ2V0KGN1cnJlbnRUYWcpIHsKICAgICAgdmFyICRjb250YWluZXIgPSB0aGlzLiRyZWZzLnNjcm9sbENvbnRhaW5lci4kZWw7CiAgICAgIHZhciAkY29udGFpbmVyV2lkdGggPSAkY29udGFpbmVyLm9mZnNldFdpZHRoOwogICAgICB2YXIgJHNjcm9sbFdyYXBwZXIgPSB0aGlzLnNjcm9sbFdyYXBwZXI7CiAgICAgIHZhciB0YWdMaXN0ID0gdGhpcy4kcGFyZW50LiRyZWZzLnRhZzsKICAgICAgdmFyIGZpcnN0VGFnID0gbnVsbDsKICAgICAgdmFyIGxhc3RUYWcgPSBudWxsOyAvLyBmaW5kIGZpcnN0IHRhZyBhbmQgbGFzdCB0YWcKCiAgICAgIGlmICh0YWdMaXN0Lmxlbmd0aCA+IDApIHsKICAgICAgICBmaXJzdFRhZyA9IHRhZ0xpc3RbMF07CiAgICAgICAgbGFzdFRhZyA9IHRhZ0xpc3RbdGFnTGlzdC5sZW5ndGggLSAxXTsKICAgICAgfQoKICAgICAgaWYgKGZpcnN0VGFnID09PSBjdXJyZW50VGFnKSB7CiAgICAgICAgJHNjcm9sbFdyYXBwZXIuc2Nyb2xsTGVmdCA9IDA7CiAgICAgIH0gZWxzZSBpZiAobGFzdFRhZyA9PT0gY3VycmVudFRhZykgewogICAgICAgICRzY3JvbGxXcmFwcGVyLnNjcm9sbExlZnQgPSAkc2Nyb2xsV3JhcHBlci5zY3JvbGxXaWR0aCAtICRjb250YWluZXJXaWR0aDsKICAgICAgfSBlbHNlIHsKICAgICAgICAvLyBmaW5kIHByZVRhZyBhbmQgbmV4dFRhZwogICAgICAgIHZhciBjdXJyZW50SW5kZXggPSB0YWdMaXN0LmZpbmRJbmRleChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgcmV0dXJuIGl0ZW0gPT09IGN1cnJlbnRUYWc7CiAgICAgICAgfSk7CiAgICAgICAgdmFyIHByZXZUYWcgPSB0YWdMaXN0W2N1cnJlbnRJbmRleCAtIDFdOwogICAgICAgIHZhciBuZXh0VGFnID0gdGFnTGlzdFtjdXJyZW50SW5kZXggKyAxXTsgLy8gdGhlIHRhZydzIG9mZnNldExlZnQgYWZ0ZXIgb2YgbmV4dFRhZwoKICAgICAgICB2YXIgYWZ0ZXJOZXh0VGFnT2Zmc2V0TGVmdCA9IG5leHRUYWcuJGVsLm9mZnNldExlZnQgKyBuZXh0VGFnLiRlbC5vZmZzZXRXaWR0aCArIHRhZ0FuZFRhZ1NwYWNpbmc7IC8vIHRoZSB0YWcncyBvZmZzZXRMZWZ0IGJlZm9yZSBvZiBwcmV2VGFnCgogICAgICAgIHZhciBiZWZvcmVQcmV2VGFnT2Zmc2V0TGVmdCA9IHByZXZUYWcuJGVsLm9mZnNldExlZnQgLSB0YWdBbmRUYWdTcGFjaW5nOwoKICAgICAgICBpZiAoYWZ0ZXJOZXh0VGFnT2Zmc2V0TGVmdCA+ICRzY3JvbGxXcmFwcGVyLnNjcm9sbExlZnQgKyAkY29udGFpbmVyV2lkdGgpIHsKICAgICAgICAgICRzY3JvbGxXcmFwcGVyLnNjcm9sbExlZnQgPSBhZnRlck5leHRUYWdPZmZzZXRMZWZ0IC0gJGNvbnRhaW5lcldpZHRoOwogICAgICAgIH0gZWxzZSBpZiAoYmVmb3JlUHJldlRhZ09mZnNldExlZnQgPCAkc2Nyb2xsV3JhcHBlci5zY3JvbGxMZWZ0KSB7CiAgICAgICAgICAkc2Nyb2xsV3JhcHBlci5zY3JvbGxMZWZ0ID0gYmVmb3JlUHJldlRhZ09mZnNldExlZnQ7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfQp9OwpleHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDs="},{"version":3,"sources":["ScrollPane.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;AAOA,IAAA,gBAAA,GAAA,CAAA,C,CAAA;;eAEA;AACA,EAAA,IAAA,EAAA,YADA;AAEA,EAAA,IAFA,kBAEA;AACA,WAAA;AACA,MAAA,IAAA,EAAA;AADA,KAAA;AAGA,GANA;AAOA,EAAA,QAAA,EAAA;AACA,IAAA,aADA,2BACA;AACA,aAAA,KAAA,KAAA,CAAA,eAAA,CAAA,KAAA,CAAA,IAAA;AACA;AAHA,GAPA;AAYA,EAAA,OAZA,qBAYA;AACA,SAAA,aAAA,CAAA,gBAAA,CAAA,QAAA,EAAA,KAAA,UAAA,EAAA,IAAA;AACA,GAdA;AAeA,EAAA,aAfA,2BAeA;AACA,SAAA,aAAA,CAAA,mBAAA,CAAA,QAAA,EAAA,KAAA,UAAA;AACA,GAjBA;AAkBA,EAAA,OAAA,EAAA;AACA,IAAA,YADA,wBACA,CADA,EACA;AACA,UAAA,UAAA,GAAA,CAAA,CAAA,UAAA,IAAA,CAAA,CAAA,CAAA,MAAA,GAAA,EAAA;AACA,UAAA,cAAA,GAAA,KAAA,aAAA;AACA,MAAA,cAAA,CAAA,UAAA,GAAA,cAAA,CAAA,UAAA,GAAA,UAAA,GAAA,CAAA;AACA,KALA;AAMA,IAAA,UANA,wBAMA;AACA,WAAA,KAAA,CAAA,QAAA;AACA,KARA;AASA,IAAA,YATA,wBASA,UATA,EASA;AACA,UAAA,UAAA,GAAA,KAAA,KAAA,CAAA,eAAA,CAAA,GAAA;AACA,UAAA,eAAA,GAAA,UAAA,CAAA,WAAA;AACA,UAAA,cAAA,GAAA,KAAA,aAAA;AACA,UAAA,OAAA,GAAA,KAAA,OAAA,CAAA,KAAA,CAAA,GAAA;AAEA,UAAA,QAAA,GAAA,IAAA;AACA,UAAA,OAAA,GAAA,IAAA,CAPA,CASA;;AACA,UAAA,OAAA,CAAA,MAAA,GAAA,CAAA,EAAA;AACA,QAAA,QAAA,GAAA,OAAA,CAAA,CAAA,CAAA;AACA,QAAA,OAAA,GAAA,OAAA,CAAA,OAAA,CAAA,MAAA,GAAA,CAAA,CAAA;AACA;;AAEA,UAAA,QAAA,KAAA,UAAA,EAAA;AACA,QAAA,cAAA,CAAA,UAAA,GAAA,CAAA;AACA,OAFA,MAEA,IAAA,OAAA,KAAA,UAAA,EAAA;AACA,QAAA,cAAA,CAAA,UAAA,GAAA,cAAA,CAAA,WAAA,GAAA,eAAA;AACA,OAFA,MAEA;AACA;AACA,YAAA,YAAA,GAAA,OAAA,CAAA,SAAA,CAAA,UAAA,IAAA;AAAA,iBAAA,IAAA,KAAA,UAAA;AAAA,SAAA,CAAA;AACA,YAAA,OAAA,GAAA,OAAA,CAAA,YAAA,GAAA,CAAA,CAAA;AACA,YAAA,OAAA,GAAA,OAAA,CAAA,YAAA,GAAA,CAAA,CAAA,CAJA,CAMA;;AACA,YAAA,sBAAA,GAAA,OAAA,CAAA,GAAA,CAAA,UAAA,GAAA,OAAA,CAAA,GAAA,CAAA,WAAA,GAAA,gBAAA,CAPA,CASA;;AACA,YAAA,uBAAA,GAAA,OAAA,CAAA,GAAA,CAAA,UAAA,GAAA,gBAAA;;AAEA,YAAA,sBAAA,GAAA,cAAA,CAAA,UAAA,GAAA,eAAA,EAAA;AACA,UAAA,cAAA,CAAA,UAAA,GAAA,sBAAA,GAAA,eAAA;AACA,SAFA,MAEA,IAAA,uBAAA,GAAA,cAAA,CAAA,UAAA,EAAA;AACA,UAAA,cAAA,CAAA,UAAA,GAAA,uBAAA;AACA;AACA;AACA;AA9CA;AAlBA,C","sourcesContent":["<template>\r\n <el-scrollbar ref=\"scrollContainer\" :vertical=\"false\" class=\"scroll-container\" @wheel.native.prevent=\"handleScroll\">\r\n <slot />\r\n </el-scrollbar>\r\n</template>\r\n\r\n<script>\r\nconst tagAndTagSpacing = 4 // tagAndTagSpacing\r\n\r\nexport default {\r\n name: 'ScrollPane',\r\n data() {\r\n return {\r\n left: 0\r\n }\r\n },\r\n computed: {\r\n scrollWrapper() {\r\n return this.$refs.scrollContainer.$refs.wrap\r\n }\r\n },\r\n mounted() {\r\n this.scrollWrapper.addEventListener('scroll', this.emitScroll, true)\r\n },\r\n beforeDestroy() {\r\n this.scrollWrapper.removeEventListener('scroll', this.emitScroll)\r\n },\r\n methods: {\r\n handleScroll(e) {\r\n const eventDelta = e.wheelDelta || -e.deltaY * 40\r\n const $scrollWrapper = this.scrollWrapper\r\n $scrollWrapper.scrollLeft = $scrollWrapper.scrollLeft + eventDelta / 4\r\n },\r\n emitScroll() {\r\n this.$emit('scroll')\r\n },\r\n moveToTarget(currentTag) {\r\n const $container = this.$refs.scrollContainer.$el\r\n const $containerWidth = $container.offsetWidth\r\n const $scrollWrapper = this.scrollWrapper\r\n const tagList = this.$parent.$refs.tag\r\n\r\n let firstTag = null\r\n let lastTag = null\r\n\r\n // find first tag and last tag\r\n if (tagList.length > 0) {\r\n firstTag = tagList[0]\r\n lastTag = tagList[tagList.length - 1]\r\n }\r\n\r\n if (firstTag === currentTag) {\r\n $scrollWrapper.scrollLeft = 0\r\n } else if (lastTag === currentTag) {\r\n $scrollWrapper.scrollLeft = $scrollWrapper.scrollWidth - $containerWidth\r\n } else {\r\n // find preTag and nextTag\r\n const currentIndex = tagList.findIndex(item => item === currentTag)\r\n const prevTag = tagList[currentIndex - 1]\r\n const nextTag = tagList[currentIndex + 1]\r\n\r\n // the tag's offsetLeft after of nextTag\r\n const afterNextTagOffsetLeft = nextTag.$el.offsetLeft + nextTag.$el.offsetWidth + tagAndTagSpacing\r\n\r\n // the tag's offsetLeft before of prevTag\r\n const beforePrevTagOffsetLeft = prevTag.$el.offsetLeft - tagAndTagSpacing\r\n\r\n if (afterNextTagOffsetLeft > $scrollWrapper.scrollLeft + $containerWidth) {\r\n $scrollWrapper.scrollLeft = afterNextTagOffsetLeft - $containerWidth\r\n } else if (beforePrevTagOffsetLeft < $scrollWrapper.scrollLeft) {\r\n $scrollWrapper.scrollLeft = beforePrevTagOffsetLeft\r\n }\r\n }\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.scroll-container {\r\n white-space: nowrap;\r\n position: relative;\r\n overflow: hidden;\r\n width: 100%;\r\n ::v-deep {\r\n .el-scrollbar__bar {\r\n bottom: 0px;\r\n }\r\n .el-scrollbar__wrap {\r\n height: 49px;\r\n }\r\n }\r\n}\r\n</style>\r\n"],"sourceRoot":"src/layout/components/TagsView"}]}
|