Download Fore_End/cpcn2/node_modules/element-ui/lib/utils/vue-popper.js from zxy0307/JavaWeb: direct link, hf CLI and curl.
- Browser
- Download file 5.93 kB
-
https://huggingface.co/zxy0307/JavaWeb/resolve/main/Fore_End/cpcn2/node_modules/element-ui/lib/utils/vue-popper.js
- Command line
-
hf download hf://zxy0307/JavaWeb/Fore_End/cpcn2/node_modules/element-ui/lib/utils/vue-popper.js
-
curl -L -o vue-popper.js https://huggingface.co/zxy0307/JavaWeb/resolve/main/Fore_End/cpcn2/node_modules/element-ui/lib/utils/vue-popper.js
5.93 kB
| ; | |
| exports.__esModule = true; | |
| var _vue = require('vue'); | |
| var _vue2 = _interopRequireDefault(_vue); | |
| var _popup = require('element-ui/lib/utils/popup'); | |
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | |
| var PopperJS = _vue2.default.prototype.$isServer ? function () {} : require('./popper'); | |
| var stop = function stop(e) { | |
| return e.stopPropagation(); | |
| }; | |
| /** | |
| * @param {HTMLElement} [reference=$refs.reference] - The reference element used to position the popper. | |
| * @param {HTMLElement} [popper=$refs.popper] - The HTML element used as popper, or a configuration used to generate the popper. | |
| * @param {String} [placement=button] - Placement of the popper accepted values: top(-start, -end), right(-start, -end), bottom(-start, -end), left(-start, -end) | |
| * @param {Number} [offset=0] - Amount of pixels the popper will be shifted (can be negative). | |
| * @param {Boolean} [visible=false] Visibility of the popup element. | |
| * @param {Boolean} [visible-arrow=false] Visibility of the arrow, no style. | |
| */ | |
| exports.default = { | |
| props: { | |
| transformOrigin: { | |
| type: [Boolean, String], | |
| default: true | |
| }, | |
| placement: { | |
| type: String, | |
| default: 'bottom' | |
| }, | |
| boundariesPadding: { | |
| type: Number, | |
| default: 5 | |
| }, | |
| reference: {}, | |
| popper: {}, | |
| offset: { | |
| default: 0 | |
| }, | |
| value: Boolean, | |
| visibleArrow: Boolean, | |
| arrowOffset: { | |
| type: Number, | |
| default: 35 | |
| }, | |
| appendToBody: { | |
| type: Boolean, | |
| default: true | |
| }, | |
| popperOptions: { | |
| type: Object, | |
| default: function _default() { | |
| return { | |
| gpuAcceleration: false | |
| }; | |
| } | |
| } | |
| }, | |
| data: function data() { | |
| return { | |
| showPopper: false, | |
| currentPlacement: '' | |
| }; | |
| }, | |
| watch: { | |
| value: { | |
| immediate: true, | |
| handler: function handler(val) { | |
| this.showPopper = val; | |
| this.$emit('input', val); | |
| } | |
| }, | |
| showPopper: function showPopper(val) { | |
| if (this.disabled) return; | |
| val ? this.updatePopper() : this.destroyPopper(); | |
| this.$emit('input', val); | |
| } | |
| }, | |
| methods: { | |
| createPopper: function createPopper() { | |
| var _this = this; | |
| if (this.$isServer) return; | |
| this.currentPlacement = this.currentPlacement || this.placement; | |
| if (!/^(top|bottom|left|right)(-start|-end)?$/g.test(this.currentPlacement)) { | |
| return; | |
| } | |
| var options = this.popperOptions; | |
| var popper = this.popperElm = this.popperElm || this.popper || this.$refs.popper; | |
| var reference = this.referenceElm = this.referenceElm || this.reference || this.$refs.reference; | |
| if (!reference && this.$slots.reference && this.$slots.reference[0]) { | |
| reference = this.referenceElm = this.$slots.reference[0].elm; | |
| } | |
| if (!popper || !reference) return; | |
| if (this.visibleArrow) this.appendArrow(popper); | |
| if (this.appendToBody) document.body.appendChild(this.popperElm); | |
| if (this.popperJS && this.popperJS.destroy) { | |
| this.popperJS.destroy(); | |
| } | |
| options.placement = this.currentPlacement; | |
| options.offset = this.offset; | |
| options.arrowOffset = this.arrowOffset; | |
| this.popperJS = new PopperJS(reference, popper, options); | |
| this.popperJS.onCreate(function (_) { | |
| _this.$emit('created', _this); | |
| _this.resetTransformOrigin(); | |
| _this.$nextTick(_this.updatePopper); | |
| }); | |
| if (typeof options.onUpdate === 'function') { | |
| this.popperJS.onUpdate(options.onUpdate); | |
| } | |
| this.popperJS._popper.style.zIndex = _popup.PopupManager.nextZIndex(); | |
| this.popperElm.addEventListener('click', stop); | |
| }, | |
| updatePopper: function updatePopper() { | |
| var popperJS = this.popperJS; | |
| if (popperJS) { | |
| popperJS.update(); | |
| if (popperJS._popper) { | |
| popperJS._popper.style.zIndex = _popup.PopupManager.nextZIndex(); | |
| } | |
| } else { | |
| this.createPopper(); | |
| } | |
| }, | |
| doDestroy: function doDestroy(forceDestroy) { | |
| /* istanbul ignore if */ | |
| if (!this.popperJS || this.showPopper && !forceDestroy) return; | |
| this.popperJS.destroy(); | |
| this.popperJS = null; | |
| }, | |
| destroyPopper: function destroyPopper() { | |
| if (this.popperJS) { | |
| this.resetTransformOrigin(); | |
| } | |
| }, | |
| resetTransformOrigin: function resetTransformOrigin() { | |
| if (!this.transformOrigin) return; | |
| var placementMap = { | |
| top: 'bottom', | |
| bottom: 'top', | |
| left: 'right', | |
| right: 'left' | |
| }; | |
| var placement = this.popperJS._popper.getAttribute('x-placement').split('-')[0]; | |
| var origin = placementMap[placement]; | |
| this.popperJS._popper.style.transformOrigin = typeof this.transformOrigin === 'string' ? this.transformOrigin : ['top', 'bottom'].indexOf(placement) > -1 ? 'center ' + origin : origin + ' center'; | |
| }, | |
| appendArrow: function appendArrow(element) { | |
| var hash = void 0; | |
| if (this.appended) { | |
| return; | |
| } | |
| this.appended = true; | |
| for (var item in element.attributes) { | |
| if (/^_v-/.test(element.attributes[item].name)) { | |
| hash = element.attributes[item].name; | |
| break; | |
| } | |
| } | |
| var arrow = document.createElement('div'); | |
| if (hash) { | |
| arrow.setAttribute(hash, ''); | |
| } | |
| arrow.setAttribute('x-arrow', ''); | |
| arrow.className = 'popper__arrow'; | |
| element.appendChild(arrow); | |
| } | |
| }, | |
| beforeDestroy: function beforeDestroy() { | |
| this.doDestroy(true); | |
| if (this.popperElm && this.popperElm.parentNode === document.body) { | |
| this.popperElm.removeEventListener('click', stop); | |
| document.body.removeChild(this.popperElm); | |
| } | |
| }, | |
| // call destroy in keep-alive mode | |
| deactivated: function deactivated() { | |
| this.$options.beforeDestroy[0].call(this); | |
| } | |
| }; |