{"ast":null,"code":"'use strict';\n\nrequire(\"core-js/modules/es.number.constructor.js\");\n\nexports.__esModule = true;\nexports.PopupManager = undefined;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _merge = require('element-ui/lib/utils/merge');\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _popupManager = require('element-ui/lib/utils/popup/popup-manager');\n\nvar _popupManager2 = _interopRequireDefault(_popupManager);\n\nvar _scrollbarWidth = require('../scrollbar-width');\n\nvar _scrollbarWidth2 = _interopRequireDefault(_scrollbarWidth);\n\nvar _dom = require('../dom');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar idSeed = 1;\nvar scrollBarWidth = void 0;\nexports.default = {\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n openDelay: {},\n closeDelay: {},\n zIndex: {},\n modal: {\n type: Boolean,\n default: false\n },\n modalFade: {\n type: Boolean,\n default: true\n },\n modalClass: {},\n modalAppendToBody: {\n type: Boolean,\n default: false\n },\n lockScroll: {\n type: Boolean,\n default: true\n },\n closeOnPressEscape: {\n type: Boolean,\n default: false\n },\n closeOnClickModal: {\n type: Boolean,\n default: false\n }\n },\n beforeMount: function beforeMount() {\n this._popupId = 'popup-' + idSeed++;\n\n _popupManager2.default.register(this._popupId, this);\n },\n beforeDestroy: function beforeDestroy() {\n _popupManager2.default.deregister(this._popupId);\n\n _popupManager2.default.closeModal(this._popupId);\n\n this.restoreBodyStyle();\n },\n data: function data() {\n return {\n opened: false,\n bodyPaddingRight: null,\n computedBodyPaddingRight: 0,\n withoutHiddenClass: true,\n rendered: false\n };\n },\n watch: {\n visible: function visible(val) {\n var _this = this;\n\n if (val) {\n if (this._opening) return;\n\n if (!this.rendered) {\n this.rendered = true;\n\n _vue2.default.nextTick(function () {\n _this.open();\n });\n } else {\n this.open();\n }\n } else {\n this.close();\n }\n }\n },\n methods: {\n open: function open(options) {\n var _this2 = this;\n\n if (!this.rendered) {\n this.rendered = true;\n }\n\n var props = (0, _merge2.default)({}, this.$props || this, options);\n\n if (this._closeTimer) {\n clearTimeout(this._closeTimer);\n this._closeTimer = null;\n }\n\n clearTimeout(this._openTimer);\n var openDelay = Number(props.openDelay);\n\n if (openDelay > 0) {\n this._openTimer = setTimeout(function () {\n _this2._openTimer = null;\n\n _this2.doOpen(props);\n }, openDelay);\n } else {\n this.doOpen(props);\n }\n },\n doOpen: function doOpen(props) {\n if (this.$isServer) return;\n if (this.willOpen && !this.willOpen()) return;\n if (this.opened) return;\n this._opening = true;\n var dom = this.$el;\n var modal = props.modal;\n var zIndex = props.zIndex;\n\n if (zIndex) {\n _popupManager2.default.zIndex = zIndex;\n }\n\n if (modal) {\n if (this._closing) {\n _popupManager2.default.closeModal(this._popupId);\n\n this._closing = false;\n }\n\n _popupManager2.default.openModal(this._popupId, _popupManager2.default.nextZIndex(), this.modalAppendToBody ? undefined : dom, props.modalClass, props.modalFade);\n\n if (props.lockScroll) {\n this.withoutHiddenClass = !(0, _dom.hasClass)(document.body, 'el-popup-parent--hidden');\n\n if (this.withoutHiddenClass) {\n this.bodyPaddingRight = document.body.style.paddingRight;\n this.computedBodyPaddingRight = parseInt((0, _dom.getStyle)(document.body, 'paddingRight'), 10);\n }\n\n scrollBarWidth = (0, _scrollbarWidth2.default)();\n var bodyHasOverflow = document.documentElement.clientHeight < document.body.scrollHeight;\n var bodyOverflowY = (0, _dom.getStyle)(document.body, 'overflowY');\n\n if (scrollBarWidth > 0 && (bodyHasOverflow || bodyOverflowY === 'scroll') && this.withoutHiddenClass) {\n document.body.style.paddingRight = this.computedBodyPaddingRight + scrollBarWidth + 'px';\n }\n\n (0, _dom.addClass)(document.body, 'el-popup-parent--hidden');\n }\n }\n\n if (getComputedStyle(dom).position === 'static') {\n dom.style.position = 'absolute';\n }\n\n dom.style.zIndex = _popupManager2.default.nextZIndex();\n this.opened = true;\n this.onOpen && this.onOpen();\n this.doAfterOpen();\n },\n doAfterOpen: function doAfterOpen() {\n this._opening = false;\n },\n close: function close() {\n var _this3 = this;\n\n if (this.willClose && !this.willClose()) return;\n\n if (this._openTimer !== null) {\n clearTimeout(this._openTimer);\n this._openTimer = null;\n }\n\n clearTimeout(this._closeTimer);\n var closeDelay = Number(this.closeDelay);\n\n if (closeDelay > 0) {\n this._closeTimer = setTimeout(function () {\n _this3._closeTimer = null;\n\n _this3.doClose();\n }, closeDelay);\n } else {\n this.doClose();\n }\n },\n doClose: function doClose() {\n this._closing = true;\n this.onClose && this.onClose();\n\n if (this.lockScroll) {\n setTimeout(this.restoreBodyStyle, 200);\n }\n\n this.opened = false;\n this.doAfterClose();\n },\n doAfterClose: function doAfterClose() {\n _popupManager2.default.closeModal(this._popupId);\n\n this._closing = false;\n },\n restoreBodyStyle: function restoreBodyStyle() {\n if (this.modal && this.withoutHiddenClass) {\n document.body.style.paddingRight = this.bodyPaddingRight;\n (0, _dom.removeClass)(document.body, 'el-popup-parent--hidden');\n }\n\n this.withoutHiddenClass = true;\n }\n }\n};\nexports.PopupManager = _popupManager2.default;","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src/ElectronicMallVue/node_modules/element-ui/lib/utils/popup/index.js"],"names":["exports","__esModule","PopupManager","undefined","_vue","require","_vue2","_interopRequireDefault","_merge","_merge2","_popupManager","_popupManager2","_scrollbarWidth","_scrollbarWidth2","_dom","obj","default","idSeed","scrollBarWidth","props","visible","type","Boolean","openDelay","closeDelay","zIndex","modal","modalFade","modalClass","modalAppendToBody","lockScroll","closeOnPressEscape","closeOnClickModal","beforeMount","_popupId","register","beforeDestroy","deregister","closeModal","restoreBodyStyle","data","opened","bodyPaddingRight","computedBodyPaddingRight","withoutHiddenClass","rendered","watch","val","_this","_opening","nextTick","open","close","methods","options","_this2","$props","_closeTimer","clearTimeout","_openTimer","Number","setTimeout","doOpen","$isServer","willOpen","dom","$el","_closing","openModal","nextZIndex","hasClass","document","body","style","paddingRight","parseInt","getStyle","bodyHasOverflow","documentElement","clientHeight","scrollHeight","bodyOverflowY","addClass","getComputedStyle","position","onOpen","doAfterOpen","_this3","willClose","doClose","onClose","doAfterClose","removeClass"],"mappings":"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","sourcesContent":["'use strict';\n\nexports.__esModule = true;\nexports.PopupManager = undefined;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _merge = require('element-ui/lib/utils/merge');\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _popupManager = require('element-ui/lib/utils/popup/popup-manager');\n\nvar _popupManager2 = _interopRequireDefault(_popupManager);\n\nvar _scrollbarWidth = require('../scrollbar-width');\n\nvar _scrollbarWidth2 = _interopRequireDefault(_scrollbarWidth);\n\nvar _dom = require('../dom');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar idSeed = 1;\n\nvar scrollBarWidth = void 0;\n\nexports.default = {\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n openDelay: {},\n closeDelay: {},\n zIndex: {},\n modal: {\n type: Boolean,\n default: false\n },\n modalFade: {\n type: Boolean,\n default: true\n },\n modalClass: {},\n modalAppendToBody: {\n type: Boolean,\n default: false\n },\n lockScroll: {\n type: Boolean,\n default: true\n },\n closeOnPressEscape: {\n type: Boolean,\n default: false\n },\n closeOnClickModal: {\n type: Boolean,\n default: false\n }\n },\n\n beforeMount: function beforeMount() {\n this._popupId = 'popup-' + idSeed++;\n _popupManager2.default.register(this._popupId, this);\n },\n beforeDestroy: function beforeDestroy() {\n _popupManager2.default.deregister(this._popupId);\n _popupManager2.default.closeModal(this._popupId);\n\n this.restoreBodyStyle();\n },\n data: function data() {\n return {\n opened: false,\n bodyPaddingRight: null,\n computedBodyPaddingRight: 0,\n withoutHiddenClass: true,\n rendered: false\n };\n },\n\n\n watch: {\n visible: function visible(val) {\n var _this = this;\n\n if (val) {\n if (this._opening) return;\n if (!this.rendered) {\n this.rendered = true;\n _vue2.default.nextTick(function () {\n _this.open();\n });\n } else {\n this.open();\n }\n } else {\n this.close();\n }\n }\n },\n\n methods: {\n open: function open(options) {\n var _this2 = this;\n\n if (!this.rendered) {\n this.rendered = true;\n }\n\n var props = (0, _merge2.default)({}, this.$props || this, options);\n\n if (this._closeTimer) {\n clearTimeout(this._closeTimer);\n this._closeTimer = null;\n }\n clearTimeout(this._openTimer);\n\n var openDelay = Number(props.openDelay);\n if (openDelay > 0) {\n this._openTimer = setTimeout(function () {\n _this2._openTimer = null;\n _this2.doOpen(props);\n }, openDelay);\n } else {\n this.doOpen(props);\n }\n },\n doOpen: function doOpen(props) {\n if (this.$isServer) return;\n if (this.willOpen && !this.willOpen()) return;\n if (this.opened) return;\n\n this._opening = true;\n\n var dom = this.$el;\n\n var modal = props.modal;\n\n var zIndex = props.zIndex;\n if (zIndex) {\n _popupManager2.default.zIndex = zIndex;\n }\n\n if (modal) {\n if (this._closing) {\n _popupManager2.default.closeModal(this._popupId);\n this._closing = false;\n }\n _popupManager2.default.openModal(this._popupId, _popupManager2.default.nextZIndex(), this.modalAppendToBody ? undefined : dom, props.modalClass, props.modalFade);\n if (props.lockScroll) {\n this.withoutHiddenClass = !(0, _dom.hasClass)(document.body, 'el-popup-parent--hidden');\n if (this.withoutHiddenClass) {\n this.bodyPaddingRight = document.body.style.paddingRight;\n this.computedBodyPaddingRight = parseInt((0, _dom.getStyle)(document.body, 'paddingRight'), 10);\n }\n scrollBarWidth = (0, _scrollbarWidth2.default)();\n var bodyHasOverflow = document.documentElement.clientHeight < document.body.scrollHeight;\n var bodyOverflowY = (0, _dom.getStyle)(document.body, 'overflowY');\n if (scrollBarWidth > 0 && (bodyHasOverflow || bodyOverflowY === 'scroll') && this.withoutHiddenClass) {\n document.body.style.paddingRight = this.computedBodyPaddingRight + scrollBarWidth + 'px';\n }\n (0, _dom.addClass)(document.body, 'el-popup-parent--hidden');\n }\n }\n\n if (getComputedStyle(dom).position === 'static') {\n dom.style.position = 'absolute';\n }\n\n dom.style.zIndex = _popupManager2.default.nextZIndex();\n this.opened = true;\n\n this.onOpen && this.onOpen();\n\n this.doAfterOpen();\n },\n doAfterOpen: function doAfterOpen() {\n this._opening = false;\n },\n close: function close() {\n var _this3 = this;\n\n if (this.willClose && !this.willClose()) return;\n\n if (this._openTimer !== null) {\n clearTimeout(this._openTimer);\n this._openTimer = null;\n }\n clearTimeout(this._closeTimer);\n\n var closeDelay = Number(this.closeDelay);\n\n if (closeDelay > 0) {\n this._closeTimer = setTimeout(function () {\n _this3._closeTimer = null;\n _this3.doClose();\n }, closeDelay);\n } else {\n this.doClose();\n }\n },\n doClose: function doClose() {\n this._closing = true;\n\n this.onClose && this.onClose();\n\n if (this.lockScroll) {\n setTimeout(this.restoreBodyStyle, 200);\n }\n\n this.opened = false;\n\n this.doAfterClose();\n },\n doAfterClose: function doAfterClose() {\n _popupManager2.default.closeModal(this._popupId);\n this._closing = false;\n },\n restoreBodyStyle: function restoreBodyStyle() {\n if (this.modal && this.withoutHiddenClass) {\n document.body.style.paddingRight = this.bodyPaddingRight;\n (0, _dom.removeClass)(document.body, 'el-popup-parent--hidden');\n }\n this.withoutHiddenClass = true;\n }\n }\n};\nexports.PopupManager = _popupManager2.default;"]},"metadata":{},"sourceType":"script"}