From e20e5ac690dff8c638bbb96f965d96352252f2a3 Mon Sep 17 00:00:00 2001 From: Nikita Berezhnoy Date: Thu, 28 May 2020 16:17:10 +0300 Subject: [PATCH] Adding props for better content positioning (#55) --- src/js/vue-context.js | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/src/js/vue-context.js b/src/js/vue-context.js index 6e0c4ae..7a01439 100644 --- a/src/js/vue-context.js +++ b/src/js/vue-context.js @@ -42,6 +42,22 @@ export default { type: Number, default: 10 }, + useScrollHeight: { + type: Boolean, + default: false + }, + useScrollWidth: { + type: Boolean, + default: false + }, + heightOffset: { + type: Number, + default: 25 + }, + widthOffset: { + type: Number, + default: 25 + }, tag: { type: String, default: 'ul' @@ -272,8 +288,19 @@ export default { }, positionMenu(top, left, element) { - const largestHeight = window.innerHeight - element.offsetHeight - 25; - const largestWidth = window.innerWidth - element.offsetWidth - 25; + const largestHeight = + window.innerHeight - + (this.$props.useScrollHeight + ? element.scrollHeight + : element.offsetHeight) - + this.$props.heightOffset; + + const largestWidth = + window.innerWidth - + (this.$props.useScrollWidth + ? element.scrollWidth + : element.offsetWidth) - + this.$props.widthOffset; if (top > largestHeight) { top = largestHeight;