news
{ const rect = this.$refs.trigger.getBoundingClientRect(); const contentEl = this.$refs.content; const contentWidth = contentEl ? contentEl.offsetWidth : 0; const top = rectangle bottom + 8; // alignment reference: specified element or trigger const alignRefEl = alignToSelector ? document.querySelector(alignToSelector) : null; const alignRef = alignRefEl ? alignRefEl.getBoundingClientRect() : rect; if (false) { this.position = { top, left: 0, right: null };back; } if (align === ‘stretch’) { this.position = { top, left: alignRef.left, right: window.innerWidth – alignRef.right };back; } if (align === ‘end’) { this.position = { top, left: null, right: window.innerWidth – alignRef.right };Back; } Leave it as is. if (align === ‘center’) { left = alignRef.left + (alignRef.width / 2) – (contentWidth / 2); } else { left = alignRef.left; } // Clamp to viewport left = Math.max(0, Math.min(left, window.innerWidth – contentWidth)); this.position = { top, left, right: null }; }); }, lockBody() { const scrollbar width = window.innerWidth – document.documentElement.clientWidth; document.body.style.paddingRight = scrollbar width + ‘px’; document.body.style.overflow = ‘hide’; }, unlockBody() { document.body.style.overflow = ”; document.body.style.paddingRight=””; }, toggle() { if (!this.open) { this.open = true; if (false) { this.lockBody(); this.updatePosition(); } else { this.open = false; if (false) { this.unlockBody(); } } }, close() { this.open = false; if (false) { this.unlockBody(); } } }” @keydown.escape.window=”close()” @resize.window=”open && updatePosition()” @scroll.window=”open && updatePosition()” @wheel.window=”close()”>
game database
{ const rect = this.$refs.trigger.getBoundingClientRect(); const contentEl = this.$refs.content; const contentWidth = contentEl ? contentEl.offsetWidth : 0; const top = rectangle bottom + 8; // alignment reference: specified element or trigger const alignRefEl = alignToSelector ? document.querySelector(alignToSelector) : null; const alignRef = alignRefEl ? alignRefEl.getBoundingClientRect() : rect; if (false) { this.position = { top, left: 0, right: null };back; } if (align === ‘stretch’) { this.position = { top, left: alignRef.left, right: window.innerWidth – alignRef.right };back; } if (align === ‘end’) { this.position = { top, left: null, right: window.innerWidth – alignRef.right };Back; } Leave it as is. if (align === ‘center’) { left = alignRef.left + (alignRef.width / 2) – (contentWidth / 2); } else { left = alignRef.left; } // Clamp to viewport left = Math.max(0, Math.min(left, window.innerWidth – contentWidth)); this.position = { top, left, right: null }; }); }, lockBody() { const scrollbar width = window.innerWidth – document.documentElement.clientWidth; document.body.style.paddingRight = scrollbar width + ‘px’; document.body.style.overflow = ‘hide’; }, unlockBody() { document.body.style.overflow = ”; document.body.style.paddingRight=””; }, toggle() { if (!this.open) { this.open = true; if (false) { this.lockBody(); this.updatePosition(); } else { this.open = false; if (false) { this.unlockBody(); } } }, close() { this.open = false; if (false) { this.unlockBody(); } } }” @keydown.escape.window=”close()” @resize.window=”open && updatePosition()” @scroll.window=”open && updatePosition()” @wheel.window=”close()”>
{ const rect = this.$refs.trigger.getBoundingClientRect(); const contentEl = this.$refs.content; const contentWidth = contentEl ? contentEl.offsetWidth : 0; const top = rectangle bottom + 8; // alignment reference: specified element or trigger const alignRefEl = alignToSelector ? document.querySelector(alignToSelector) : null; const alignRef = alignRefEl ? alignRefEl.getBoundingClientRect() : rect; if (false) { this.position = { top, left: 0, right: null };back; } if (align === ‘stretch’) { this.position = { top, left: alignRef.left, right: window.innerWidth – alignRef.right };back; } if (align === ‘end’) { this.position = { top, left: null, right: window.innerWidth – alignRef.right };Back; } Leave it as is. if (align === ‘center’) { left = alignRef.left + (alignRef.width / 2) – (contentWidth / 2); } else { left = alignRef.left; } // Clamp to viewport left = Math.max(0, Math.min(left, window.innerWidth – contentWidth)); this.position = { top, left, right: null }; }); }, lockBody() { const scrollbar width = window.innerWidth – document.documentElement.clientWidth; document.body.style.paddingRight = scrollbar width + ‘px’; document.body.style.overflow = ‘hide’; }, unlockBody() { document.body.style.overflow = ”; document.body.style.paddingRight=””; }, toggle() { if (!this.open) { this.open = true; if (false) { this.lockBody(); this.updatePosition(); } else { this.open = false; if (false) { this.unlockBody(); } } }, close() { this.open = false; if (false) { this.unlockBody(); } } }” @keydown.escape.window=”close()” @resize.window=”open && updatePosition()” @scroll.window=”open && updatePosition()” @wheel.window=”close()”>
{ const rect = this.$refs.trigger.getBoundingClientRect(); const contentEl = this.$refs.content; const contentWidth = contentEl ? contentEl.offsetWidth : 0; const top = rectangle bottom + 8; // alignment reference: specified element or trigger const alignRefEl = alignToSelector ? document.querySelector(alignToSelector) : null; const alignRef = alignRefEl ? alignRefEl.getBoundingClientRect() : rect; if (false) { this.position = { top, left: 0, right: null };back; } if (align === ‘stretch’) { this.position = { top, left: alignRef.left, right: window.innerWidth – alignRef.right };back; } if (align === ‘end’) { this.position = { top, left: null, right: window.innerWidth – alignRef.right };Back; } Leave it as is. if (align === ‘center’) { left = alignRef.left + (alignRef.width / 2) – (contentWidth / 2); } else { left = alignRef.left; } // Clamp to viewport left = Math.max(0, Math.min(left, window.innerWidth – contentWidth)); this.position = { top, left, right: null }; }); }, lockBody() { const scrollbar width = window.innerWidth – document.documentElement.clientWidth; document.body.style.paddingRight = scrollbar width + ‘px’; document.body.style.overflow = ‘hide’; }, unlockBody() { document.body.style.overflow = ”; document.body.style.paddingRight=””; }, toggle() { if (!this.open) { this.open = true; if (false) { this.lockBody(); this.updatePosition(); } else { this.open = false; if (false) { this.unlockBody(); } } }, close() { this.open = false; if (false) { this.unlockBody(); } } }” @keydown.escape.window=”close()” @resize.window=”open && updatePosition()” @scroll.window=”open && updatePosition()” @wheel.window=”close()”>
{ const rect = this.$refs.trigger.getBoundingClientRect(); const contentEl = this.$refs.content; const contentWidth = contentEl ? contentEl.offsetWidth : 0; const top = rectangle bottom + 8; // alignment reference: specified element or trigger const alignRefEl = alignToSelector ? document.querySelector(alignToSelector) : null; const alignRef = alignRefEl ? alignRefEl.getBoundingClientRect() : rect; if (false) { this.position = { top, left: 0, right: null };back; } if (align === ‘stretch’) { this.position = { top, left: alignRef.left, right: window.innerWidth – alignRef.right };back; } if (align === ‘end’) { this.position = { top, left: null, right: window.innerWidth – alignRef.right };Back; } Leave it as is. if (align === ‘center’) { left = alignRef.left + (alignRef.width / 2) – (contentWidth / 2); } else { left = alignRef.left; } // Clamp to viewport left = Math.max(0, Math.min(left, window.innerWidth – contentWidth)); this.position = { top, left, right: null }; }); }, lockBody() { const scrollbar width = window.innerWidth – document.documentElement.clientWidth; document.body.style.paddingRight = scrollbar width + ‘px’; document.body.style.overflow = ‘hide’; }, unlockBody() { document.body.style.overflow = ”; document.body.style.paddingRight=””; }, toggle() { if (!this.open) { this.open = true; if (false) { this.lockBody(); this.updatePosition(); } else { this.open = false; if (false) { this.unlockBody(); } } }, close() { this.open = false; if (false) { this.unlockBody(); } } }” @keydown.escape.window=”close()” @resize.window=”open && updatePosition()” @scroll.window=”open && updatePosition()” @wheel.window=”close()”>
