From 90bdaf41c1c29d91dce3f461ec82adb2e66ea126 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ole=20Volds=C3=A6ter?= <ole.voldsater@uib.no>
Date: Fri, 19 Mar 2021 13:42:59 +0100
Subject: [PATCH] =?UTF-8?q?re=20meta#300=20b=C3=B8yningsboksene=20mer=20so?=
 =?UTF-8?q?m=20i=20prototype,=20scroller=20finere,=20ikke=20fokus=20p?=
 =?UTF-8?q?=C3=A5=20b=C3=B8yningsknapp?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/components/Header.vue        | 53 ++++++++++++++++++++------------
 src/components/SearchResults.vue | 23 ++++++++++++--
 2 files changed, 55 insertions(+), 21 deletions(-)

diff --git a/src/components/Header.vue b/src/components/Header.vue
index 5482cbbf..ebcf9b6a 100644
--- a/src/components/Header.vue
+++ b/src/components/Header.vue
@@ -4,15 +4,17 @@
     <h2 class="article_header">{{header_text}}</h2>
       {{group_list}}
       <details :title="inflect_tooltip" @toggle="toggle()" v-if="group_list" :class="$vuetify.breakpoint.name">
-        <summary :class="dictionary">bøying</summary>
-        <div class="inflection">
-          <div v-for="(lemma, index) in inflection_groups_by_lemma" :key="index">
-            <h4>{{lemma.lemma}}</h4>
-            <component  v-for="grp in Object.keys(lemma.inflection_groups)"
-                        :key="grp.replace('/', '_')"
-                        :is="grp.replace('/', '_')"
-                        :dictionary="dictionary"
-                        :standardisations="lemma.inflection_groups[grp]"></component>
+        <summary :class="dictionary" onclick="this.blur()">bøying</summary>
+        <div class="inflection-wrapper">
+          <div class="inflection">
+            <div v-for="(lemma, index) in inflection_groups_by_lemma" :key="index">
+              <h4>{{lemma.lemma}}</h4>
+              <component  v-for="grp in Object.keys(lemma.inflection_groups)"
+                          :key="grp.replace('/', '_')"
+                          :is="grp.replace('/', '_')"
+                          :dictionary="dictionary"
+                          :standardisations="lemma.inflection_groups[grp]"></component>
+            </div>
           </div>
         </div>
       </details>
@@ -135,6 +137,7 @@ article h2 {
 
 details {
   margin-top: 10px;
+  position: relative;
 }
 
 details > summary {
@@ -198,13 +201,16 @@ details[open] summary ~ * {
   animation: open 0.3s ease-in-out;
 }
 
-.inflection {
-  color: var(--v-primary-base);
-  background-color: #ffffff;
-  margin-top: 5px;
+.inflection-wrapper {
+  padding:20px;
   overflow: scroll;
+  position: absolute;
+  z-index: 10;
+  background-color: rgba(255, 255, 255, 0);
+  max-width: 100vw;
 }
 
+
 .inflection table {
   border-collapse: collapse;
   margin: 10px;
@@ -222,12 +228,21 @@ details > summary::-webkit-details-marker {
   display: none;
 }
 
-details > div {
-  border-radius: 0 0 10px 10px;
-  background-color: #eee;
-  padding: 2px 6px;
-  margin: 0;
-  box-shadow: 3px 3px 4px black;
+.inflection {
+  color: var(--v-primary-base);
+  margin-top: 5px;
+  background-color: #ffffff;
+  width: max-content;
+  border-radius: 30px;
+  padding: 10px;
+  margin-top: 10px;
+  border-style: solid;
+  border-width:  1px;
+  border-color: var(--primary-base)
+}
+
+article:not(.righ_hand_column) .inflection-wrapper {
+  left: -35px;
 }
 
 </style>
diff --git a/src/components/SearchResults.vue b/src/components/SearchResults.vue
index 4046a98f..1c5f15c2 100644
--- a/src/components/SearchResults.vue
+++ b/src/components/SearchResults.vue
@@ -3,13 +3,20 @@
     <div class="flex-container" :class="$vuetify.breakpoint.name">
       <ul class="hits" v-if="results_bob.length">
         <li  class="article_container" v-for="(result, index) in results_bob" :key="index + results_hash">
-          <Article  :article="result" @article-click="article_link_click"  @details-click="details_click">
+          <Article
+              :article="result"
+              @article-click="article_link_click"
+              @details-click="details_click">
           </Article>
         </li>
       </ul>
       <ul class="hits" v-if="results_nob.length">
         <li class="article_container" v-for="(result, index) in results_nob" :key="index + results_hash">
-          <Article :article="result" @article-click="article_link_click" @details-click="details_click">
+          <Article
+              :article="result"
+              @article-click="article_link_click"
+              @details-click="details_click"
+              :class="right_col_class_name">
           </Article>
         </li>
       </ul>
@@ -27,6 +34,14 @@ export default {
     lang: String
   },
   computed: {
+    right_col_class_name: function() {
+      if (this.$vuetify.breakpoint.mdAndUp) {
+        if (this.results_bob.length) {
+          return 'righ_hand_column'
+        }
+      }
+      return ''
+    },
     results_bob: function(){
       return this.hits.filter(hit => hit.dictionary == 'bob')
     },
@@ -111,4 +126,8 @@ export default {
     top:40px;
     background:linear-gradient(rgba(255, 255, 255, 0) 0px, var(--v-tertiary-base));
   }
+
+  article.righ_hand_column div.inflection-wrapper {
+    right: -35px;
+  }
 </style>
-- 
GitLab