From 65e2a2e1601de0619790afcad3d507726c5044a7 Mon Sep 17 00:00:00 2001 From: Henrik Askjer <henrik.askjer@uib.no> Date: Mon, 13 Dec 2021 11:25:54 +0100 Subject: [PATCH] more accessible expand button --- src/components/Article.vue | 10 +++++++--- src/components/DictionaryView.vue | 6 +++--- src/components/Header.vue | 8 +++++++- src/components/Pagination.vue | 6 +++--- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/components/Article.vue b/src/components/Article.vue index eaec0f4b..3cfe1338 100644 --- a/src/components/Article.vue +++ b/src/components/Article.vue @@ -1,7 +1,7 @@ <template> <article v-bind:class="{'v-sheet v-card rounded-xl': !articleLookup, dictionary}" v-if="article"> <Header :lemmas="article.lemmas" :dictionary="dictionary" :article_id="article.article_id" /> - <v-btn rounded depressed x-small class="expand_icon" @click="collapsed=!collapsed">{{collapsed? 'Vis innhold' : 'Skjul innhold'}}<v-icon right color="primary">{{collapsed ? 'expand_more': 'expand_less'}}</v-icon></v-btn> + <div class="article_content" :class="$vuetify.breakpoint.name" v-if="!collapsed"> <section v-if="article.body.pronunciation && article.body.pronunciation.length" class="pronunciation"> <h3>Uttale</h3> @@ -76,11 +76,15 @@ export default { }, data: function() { return { - collapsed: true + collapsed: this.$parent.results_bm.length > 1 || this.$parent.results_bm.length > 1 } }, - computed: { + computed: { + collapsable: function() { + return this.$parent.results_bm.length > 1 || this.$parent.results_bm.length > 1 + + }, link_to_self: function() { return { ref: '/' + this.dictionary + '/' + this.article.article_id + '/' + encodeURIComponent(this.article.lemmas[0].lemma), diff --git a/src/components/DictionaryView.vue b/src/components/DictionaryView.vue index 00ec812b..0c551514 100644 --- a/src/components/DictionaryView.vue +++ b/src/components/DictionaryView.vue @@ -101,7 +101,7 @@ function navigate_to_article(self, source) { .then(function(response){ self.waiting_for_articles = false history.replaceState({article: self.article, - search_results: [], + search_results: {}, lang: self.lang, error: self.error, pos_selected: self.pos_selected, @@ -217,7 +217,7 @@ export default { data: function() { return { article_key: 0, - search_results: [], + search_results: {}, lang: this.$store.state.defaultDict, waiting_for_articles: true, waiting_for_metadata: true, @@ -394,7 +394,7 @@ export default { item.article.source = this.previous this.article = item.article history.replaceState({article: this.article, - search_results: [], + search_results: {}, lang: this.lang, error: null, pos_selected: this.pos_selected, diff --git a/src/components/Header.vue b/src/components/Header.vue index 119a3a67..20326151 100644 --- a/src/components/Header.vue +++ b/src/components/Header.vue @@ -21,12 +21,18 @@ </v-card> </v-menu>) </span> + <v-btn rounded v-if="$parent.collapsable" + depressed + x-small + class="expand_icon" + @click="$parent.collapsed=!$parent.collapsed">{{$parent.collapsed? 'Vis innhold' : 'Skjul innhold'}} + <v-icon right color="primary">{{$parent.collapsed ? 'expand_more': 'expand_less'}}</v-icon></v-btn> <div class="inflection-wrapper" v-if="inflected && !$parent.collapsed"> <v-btn class="show-inflection" width="160px" rounded depressed small @click.native="toggle" :class="$vuetify.breakpoint.name"> <span>{{inflection_button_text}}</span><span class = "inflection-arrow"><v-icon right>{{inflection_arrow}}</v-icon></span> </v-btn> - <div class="inflection-canvas" v-if="inflection_expanded"> + <div class="inflection-canvas" v-if="inflection_expanded" tabindex="0"> <inflectionTable :lemmaList="lemmas_with_word_class_and_lang" :mq="$vuetify.breakpoint.name" /> </div> diff --git a/src/components/Pagination.vue b/src/components/Pagination.vue index 28fa48c4..064a5ff5 100644 --- a/src/components/Pagination.vue +++ b/src/components/Pagination.vue @@ -3,9 +3,9 @@ <span color="tertiary" class = "pagination" v-if="!$parent.$parent.article && $parent.$parent.article_info && ($parent.count_bm > $parent.$parent.perPage || $parent.count_nn > $parent.$parent.perPage)"> <v-pagination @input="update" v-model="$parent.$parent.page" :class="$vuetify.breakpoint.name" :total-visible="$vuetify.breakpoint.smAndDown ? 5 : 8" circle :length="Math.ceil(Math.max($parent.count_bm, $parent.count_nn)/$parent.$parent.perPage)"></v-pagination> <span class="result-counts" v-if="!bottom"> - <span class="total-results">{{$parent.$parent.total_results()}} treff </span> - <span v-if="$parent.$parent.lang=='bm,nn'" class="dict-counts"> | {{$vuetify.breakpoint.mdAndDown? 'bokmål': 'Bokmålsordboka'}}: {{$parent.count_bm}} | {{$vuetify.breakpoint.mdAndDown? 'nynorsk': 'Nynorskordboka'}}: {{$parent.count_nn}}</span> - <span v-if="$parent.$parent.lang!='bm,nn'" class="dict-counts"> | {{$t('dicts_inline.'+$parent.lang)}}</span> + <span tabindex="0" class="total-results">{{$parent.$parent.total_results()}} treff </span> + <span tabindex="0" v-if="$parent.$parent.lang=='bm,nn'" class="dict-counts"> | {{$vuetify.breakpoint.mdAndDown? 'bokmål': 'Bokmålsordboka'}}: {{$parent.count_bm}} | {{$vuetify.breakpoint.mdAndDown? 'nynorsk': 'Nynorskordboka'}}: {{$parent.count_nn}}</span> + <span tabindex="0" v-if="$parent.$parent.lang!='bm,nn'" class="dict-counts"> | {{$t('dicts_inline.'+$parent.lang)}}</span> </span> </span> -- GitLab