{"remainingRequest":"D:\\源码\\vue-element-admin-master\\node_modules\\babel-loader\\lib\\index.js!D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\源码\\vue-element-admin-master\\src\\components\\RightPanel\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\源码\\vue-element-admin-master\\src\\components\\RightPanel\\index.vue","mtime":1649647926000},{"path":"D:\\源码\\vue-element-admin-master\\babel.config.js","mtime":1649647926000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMubnVtYmVyLmNvbnN0cnVjdG9yLmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KaW1wb3J0IHsgYWRkQ2xhc3MsIHJlbW92ZUNsYXNzIH0gZnJvbSAnQC91dGlscyc7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnUmlnaHRQYW5lbCcsCiAgcHJvcHM6IHsKICAgIGNsaWNrTm90Q2xvc2U6IHsKICAgICAgZGVmYXVsdDogZmFsc2UsCiAgICAgIHR5cGU6IEJvb2xlYW4KICAgIH0sCiAgICBidXR0b25Ub3A6IHsKICAgICAgZGVmYXVsdDogMjUwLAogICAgICB0eXBlOiBOdW1iZXIKICAgIH0KICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBzaG93OiBmYWxzZQogICAgfTsKICB9LAogIGNvbXB1dGVkOiB7CiAgICB0aGVtZTogZnVuY3Rpb24gdGhlbWUoKSB7CiAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5zZXR0aW5ncy50aGVtZTsKICAgIH0KICB9LAogIHdhdGNoOiB7CiAgICBzaG93OiBmdW5jdGlvbiBzaG93KHZhbHVlKSB7CiAgICAgIGlmICh2YWx1ZSAmJiAhdGhpcy5jbGlja05vdENsb3NlKSB7CiAgICAgICAgdGhpcy5hZGRFdmVudENsaWNrKCk7CiAgICAgIH0KCiAgICAgIGlmICh2YWx1ZSkgewogICAgICAgIGFkZENsYXNzKGRvY3VtZW50LmJvZHksICdzaG93UmlnaHRQYW5lbCcpOwogICAgICB9IGVsc2UgewogICAgICAgIHJlbW92ZUNsYXNzKGRvY3VtZW50LmJvZHksICdzaG93UmlnaHRQYW5lbCcpOwogICAgICB9CiAgICB9CiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgewogICAgdGhpcy5pbnNlcnRUb0JvZHkoKTsKICB9LAogIGJlZm9yZURlc3Ryb3k6IGZ1bmN0aW9uIGJlZm9yZURlc3Ryb3koKSB7CiAgICB2YXIgZWx4ID0gdGhpcy4kcmVmcy5yaWdodFBhbmVsOwogICAgZWx4LnJlbW92ZSgpOwogIH0sCiAgbWV0aG9kczogewogICAgYWRkRXZlbnRDbGljazogZnVuY3Rpb24gYWRkRXZlbnRDbGljaygpIHsKICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbG9zZVNpZGViYXIpOwogICAgfSwKICAgIGNsb3NlU2lkZWJhcjogZnVuY3Rpb24gY2xvc2VTaWRlYmFyKGV2dCkgewogICAgICB2YXIgcGFyZW50ID0gZXZ0LnRhcmdldC5jbG9zZXN0KCcucmlnaHRQYW5lbCcpOwoKICAgICAgaWYgKCFwYXJlbnQpIHsKICAgICAgICB0aGlzLnNob3cgPSBmYWxzZTsKICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmNsb3NlU2lkZWJhcik7CiAgICAgIH0KICAgIH0sCiAgICBpbnNlcnRUb0JvZHk6IGZ1bmN0aW9uIGluc2VydFRvQm9keSgpIHsKICAgICAgdmFyIGVseCA9IHRoaXMuJHJlZnMucmlnaHRQYW5lbDsKICAgICAgdmFyIGJvZHkgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5Jyk7CiAgICAgIGJvZHkuaW5zZXJ0QmVmb3JlKGVseCwgYm9keS5maXJzdENoaWxkKTsKICAgIH0KICB9Cn07"},{"version":3,"mappings":";;;;;;;;;;;;;;;AAeA;AAEA;EACAA,kBADA;EAEAC;IACAC;MACAC,cADA;MAEAC;IAFA,CADA;IAKAC;MACAF,YADA;MAEAC;IAFA;EALA,CAFA;EAYAE,IAZA,kBAYA;IACA;MACAC;IADA;EAGA,CAhBA;EAiBAC;IACAC,KADA,mBACA;MACA;IACA;EAHA,CAjBA;EAsBAC;IACAH,IADA,gBACAI,KADA,EACA;MACA;QACA;MACA;;MACA;QACAC;MACA,CAFA,MAEA;QACAC;MACA;IACA;EAVA,CAtBA;EAkCAC,OAlCA,qBAkCA;IACA;EACA,CApCA;EAqCAC,aArCA,2BAqCA;IACA;IACAC;EACA,CAxCA;EAyCAC;IACAC,aADA,2BACA;MACAC;IACA,CAHA;IAIAC,YAJA,wBAIAC,GAJA,EAIA;MACA;;MACA;QACA;QACAF;MACA;IACA,CAVA;IAWAG,YAXA,0BAWA;MACA;MACA;MACAC;IACA;EAfA;AAzCA","names":["name","props","clickNotClose","default","type","buttonTop","data","show","computed","theme","watch","value","addClass","removeClass","mounted","beforeDestroy","elx","methods","addEventClick","window","closeSidebar","evt","insertToBody","body"],"sourceRoot":"src/components/RightPanel","sources":["index.vue"],"sourcesContent":["<template>\n <div ref=\"rightPanel\" :class=\"{show:show}\" class=\"rightPanel-container\">\n <div class=\"rightPanel-background\" />\n <div class=\"rightPanel\">\n <div class=\"handle-button\" :style=\"{'top':buttonTop+'px','background-color':theme}\" @click=\"show=!show\">\n <i :class=\"show?'el-icon-close':'el-icon-setting'\" />\n </div>\n <div class=\"rightPanel-items\">\n <slot />\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { addClass, removeClass } from '@/utils'\n\nexport default {\n name: 'RightPanel',\n props: {\n clickNotClose: {\n default: false,\n type: Boolean\n },\n buttonTop: {\n default: 250,\n type: Number\n }\n },\n data() {\n return {\n show: false\n }\n },\n computed: {\n theme() {\n return this.$store.state.settings.theme\n }\n },\n watch: {\n show(value) {\n if (value && !this.clickNotClose) {\n this.addEventClick()\n }\n if (value) {\n addClass(document.body, 'showRightPanel')\n } else {\n removeClass(document.body, 'showRightPanel')\n }\n }\n },\n mounted() {\n this.insertToBody()\n },\n beforeDestroy() {\n const elx = this.$refs.rightPanel\n elx.remove()\n },\n methods: {\n addEventClick() {\n window.addEventListener('click', this.closeSidebar)\n },\n closeSidebar(evt) {\n const parent = evt.target.closest('.rightPanel')\n if (!parent) {\n this.show = false\n window.removeEventListener('click', this.closeSidebar)\n }\n },\n insertToBody() {\n const elx = this.$refs.rightPanel\n const body = document.querySelector('body')\n body.insertBefore(elx, body.firstChild)\n }\n }\n}\n</script>\n\n<style>\n.showRightPanel {\n overflow: hidden;\n position: relative;\n width: calc(100% - 15px);\n}\n</style>\n\n<style lang=\"scss\" scoped>\n.rightPanel-background {\n position: fixed;\n top: 0;\n left: 0;\n opacity: 0;\n transition: opacity .3s cubic-bezier(.7, .3, .1, 1);\n background: rgba(0, 0, 0, .2);\n z-index: -1;\n}\n\n.rightPanel {\n width: 100%;\n max-width: 260px;\n height: 100vh;\n position: fixed;\n top: 0;\n right: 0;\n box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, .05);\n transition: all .25s cubic-bezier(.7, .3, .1, 1);\n transform: translate(100%);\n background: #fff;\n z-index: 40000;\n}\n\n.show {\n transition: all .3s cubic-bezier(.7, .3, .1, 1);\n\n .rightPanel-background {\n z-index: 20000;\n opacity: 1;\n width: 100%;\n height: 100%;\n }\n\n .rightPanel {\n transform: translate(0);\n }\n}\n\n.handle-button {\n width: 48px;\n height: 48px;\n position: absolute;\n left: -48px;\n text-align: center;\n font-size: 24px;\n border-radius: 6px 0 0 6px !important;\n z-index: 0;\n pointer-events: auto;\n cursor: pointer;\n color: #fff;\n line-height: 48px;\n i {\n font-size: 24px;\n line-height: 48px;\n }\n}\n</style>\n"]}]}
|