Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • subugoe/ahiqar/website
1 result
Show changes
Commits on Source (91)
Showing
with 463 additions and 155 deletions
......@@ -2,6 +2,92 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
## [1.4.0](https://gitlab.gwdg.de/subugoe/ahiqar/website/compare/v1.3.0...v1.4.0) (2021-08-23)
### Features
* add circular progress to the search list ([fc29c07](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/fc29c0724d0b5c751c4ac2277fc20a8119548c98))
* add incremental counter to either match ([e29e28f](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/e29e28f72118f0a92c9d36d592ddaf0002d9c184))
* add version number to page ([dcece01](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/dcece01a25057efdb2758eaa4dc2444f028e44de)), closes [#106](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/issues/106)
* hits per sheet optimisation ([846dd29](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/846dd2957e0d999a76057ea98d1b55645830a46a))
* only show notifaction of *no results* if there aren't any in effect; not by default ([7079a0b](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/7079a0b7f664062948e0d44d266e248b44fe0b3a))
* update logos on website ([b5c0b16](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/b5c0b164bfd8c48ae7551bd7aef8e6481b82982d)), closes [#98](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/issues/98)
### Bug Fixes
* adding a slash key ([a185b1e](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/a185b1ee96d1550bba3c68ea98159533163fe939))
* amount of total hits and distinctive sheets ([e6eb71d](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/e6eb71dec72ebc7a34c79a9b5d25692b44d8ef3e))
* display error message for empty search and search containing whitespace only ([20a41e0](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/20a41e080c4f211530a18654203e819d9a63767b))
* don't show an error message by default ([cba20fc](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/cba20fcac6b6d15bd4fa970f5d24888d2e9acd9c))
* implement filter to fix numerus for sheet/s and manuscript/s ([9cdb2ae](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/9cdb2ae81d3f8e609ab4ee465af38e60e64af5d7))
* logic to display any items on empty search ([0d3a9a2](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/0d3a9a29ee84a38d602c597da2935c6cb19dec8b))
* markdown formatting ([5a25591](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/5a25591e1d2093b0a56545e3746341fcfe391a22))
* modifying the method names ([ee1d451](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/ee1d451d83fe37842ade267874cf42c7fb6d1473))
* navigating from tido homepage to website ([4154c09](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/4154c091399151aeebf12b828fc26ed41fff220f))
* remove word boundary for whitespace ([50f7b5c](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/50f7b5c0d67a964eb9226732dbb5e1519ad5f9ad))
* removed the obsolete code. ([4ec1fc3](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/4ec1fc3422d6c0c38d9fbcd50a2c84f2bc9a9a13))
* replace page path with empty. ([19feac6](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/19feac6ad665ed6bcbce31d8876225824d5eecfb))
* scroll to top after using the pagination ([3c76fd6](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/3c76fd629208a01b1d63ba183f81876e1d16a0b9))
* search result list navigation error ([93a3010](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/93a30107504f1be71f34dbaead0ac3c80622dfcf))
* show pagination ony if needed ([f5010e7](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/f5010e739e78c8decada372c24f54debb3b4909c))
* update home page links ([b677e4c](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/b677e4ca0213308aabbfc12374b1834afe0d4f1f))
* update route path condition. ([d15f303](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/d15f30307a25d6b611f930327247990127f4cdc7))
### Reverts
* open TIDO on the page (botched during last merge) ([2d31b77](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/2d31b77cd018a97295a4e18e38d69b133ca3301e))
* Revert "Remove artifact updating" ([88fcff3](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/88fcff3e03385b5a96c99ce563e2d9b8c621efe9))
* Revert "Update .gitlab-ci.yml" ([5f6e634](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/5f6e6348f3127398812e407716fd346a11ffa1e2))
### Styling
* add missing key to loop structure ([5feba24](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/5feba24ce3c5aceaf2078350cd94f97e4cc900c5))
* change website color to (University) Blue ([d97a68d](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/d97a68d281a35925e766ce88125342577fcd86fc)), closes [#97](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/issues/97)
* improve display of result number ([a512944](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/a512944a310fcf446348a3f506e64341c34619a4))
* minor ([e758fae](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/e758fae11484c33c68d5871b044dd8209531cbda))
* minor formatting / prop ordering ([f67356b](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/f67356b75426410156faa426ccb82597b5cd9324))
* minor formatting / whitespacing for better readability ([10388eb](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/10388eb227be3de4968cbb172f92bb2462bf5120))
* optimize heading/ structure on website ([dff5cc2](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/dff5cc22096fe8e513158eb080af47d61eeef9fa)), closes [#99](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/issues/99)
* replace dfg logo and make it clickable ([b6492be](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/b6492be71a58c9fa021916fb29fea93a0ae0ee8b))
* style loading animation ([7f43a99](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/7f43a999ca91eed6dad55270ea1e90ab053aa5e2))
### Refactoring
* add line break for multiple hits ([cbacab6](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/cbacab60c737f030a772617d0039a4077840c84d))
* add the number of distinctive manuscripts delivered by the api ([56f37bd](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/56f37bd9fb153378c4c9221db8d63dd4994c32e5))
* adding white spaces according to review comments ([2ab8fef](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/2ab8fef88100e260844179cab4e8fd35d4f63919))
* fix path url ([daf9f91](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/daf9f91f71bb58f838a9d2df4a059710442c3770))
* move logic of valid query check to parent component ([561e862](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/561e86213c0a64a9852eb07f75831e9bc07d443f))
* moving the method to mixin. ([088c768](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/088c768a50d27b62741bc66058837acc366a211f))
* only render resultlist on match; not by default ([22006f2](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/22006f26019416034234d114c3aaf45cab0e6cf6))
* open TIDO on same page from search results ([fbb471d](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/fbb471d78dcc0411d05a0f1d908a3bdd27307138))
* provide singular / plural term (hit/s) according to the number of matches in each sheet ([4b566de](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/4b566de3c884618b6f22c85885fa7269a224100f))
* updating the paths ([9843f11](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/9843f119232cf1d5f446cbfc7aee3d46feffd528))
* use try-catch-finally according to the review proposal ([dcb3361](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/dcb3361155d48aefaa2113dc777b17307f2dd9e6)), closes [/gitlab.gwdg.de/subugoe/ahiqar/website/-/merge_requests/60#note_370134](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/issues/note_370134)
* wrap request logic into try-catch-block ([e5b0a52](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/e5b0a527f56b4380c5706152f89301f880ea12e1))
### Chore
* add "Sayings" and "Parables" as Pages under Meta Edition ([217cc6f](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/217cc6f9b145cd2a77f3fa629663393da70c4ad4)), closes [#108](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/issues/108)
* add info to the search ([6fced06](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/6fced06b004dae0fcfbc2cff29234b38f20caadf)), closes [#111](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/issues/111)
* fix some minor typos ([763bf00](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/763bf00ff8e783c5953ae6ec356de9457b394fb2))
* merge develop ([e6437a3](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/e6437a334e429ed78cc53e24f5651dfef678601f))
* merge develop into working branch ([297bc76](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/297bc766764e7d9ffef70bcf29eac39c18a9c62d))
* merge latest changes from develop ([7bd6d45](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/7bd6d45aa3205b05897bf872c93e09fedfad016c))
* merge latest state from develop branch ([047536f](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/047536fde3aa6cdea83040344d977a3e9310218a))
* merge latest state of develop branch ([ad0439f](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/ad0439f8d5333842313740c080d705d7301056ec))
* merge latest state of develop branch ([4f6752c](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/4f6752cc3d6ce45a8034728fae0e9d4a23dc5708))
* minor typo ([e6a17b6](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/e6a17b6aa1a3fe2c2d23cecff73f47eb1123f535))
* minor wording ([a14396f](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/a14396f1f740d754ecf965aac2c01574f4053644))
* remove log stmt ([15e6b6e](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/15e6b6e4d8706fb609a8366417cb970867b56e66))
* remove log stmt ([701ac8f](https://gitlab.gwdg.de/subugoe/ahiqar/website/-/commit/701ac8f22e369dbbf0ff2ba1882e88bc77d56a52))
## [1.3.0](https://gitlab.gwdg.de/subugoe/ahiqar/website/compare/v1.2.0...v1.3.0) (2021-08-03)
......
{
"name": "ahiqar-website",
"version": "1.3.0",
"version": "1.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
......
{
"name": "ahiqar-website",
"version": "1.3.0",
"version": "1.4.0",
"description": "",
"main": "",
"authors": {
......
......@@ -53,7 +53,7 @@
<v-list-item
v-for="(item, index) in editions"
:key="index"
:href="item.to + path"
:href="item.to + getPath"
>
<v-list-item-title>{{ item.title }}</v-list-item-title>
</v-list-item>
......@@ -78,6 +78,7 @@
<script>
import editions from "../utilities/editionLinks";
import pathUrl from "../mixin/pathUrl.js";
export default {
data: () => ({
......@@ -85,20 +86,16 @@ export default {
metaEdition: [
{ title: 'Manuscripts', to: '/manuscripts.html' },
{ title: 'Motifs', to: '/motifs.html' },
{ title: 'Sayings', to: '/sayings.html' },
{ title: 'Parables', to: '/parables.html' },
{ title: 'Stemmata', to: '/stemmata.html' },
{ title: 'Collation', to: '/collation.html' },
{ title: 'Edition guidelines', to: '/editionguidelines.html' },
{ title: 'Related Literature', to: '/relatedliterature.html' },
],
origin:'',
}),
mounted(){
this.origin = window?.location?.origin;
},
computed:{
path(){
return this.origin + this.$route.path;
}
},
mixins: [
pathUrl
]
}
</script>
......@@ -9,7 +9,7 @@
>
<a
class="white--text text-overline text-decoration-none text-uppercase"
:href="editionSyriac.to"
:href="editionSyriac.to + getPath"
:title="editionSyriac.title"
role="link"
tabindex="0"
......@@ -26,7 +26,7 @@
>
<a
class="white--text text-overline text-decoration-none text-uppercase"
:href="editionArabic.to"
:href="editionArabic.to + getPath"
:title="editionArabic.title"
role="link"
tabindex="0"
......@@ -40,11 +40,15 @@
</template>
<script>
import editionLinks from "../utilities/editionLinks";
import pathUrl from "../mixin/pathUrl.js"
export default {
data: () => ({
editionSyriac: editionLinks[0],
editionArabic: editionLinks[1]
})
}),
mixins: [
pathUrl
]
}
</script>
......@@ -3,67 +3,111 @@
padless
color="secondary"
>
<v-col
class="d-flex justify-center pb-0"
cols="12"
>
<!-- TODO: provide translation -->
<v-tabs
centered
hide-slider
background-color="secondary"
class="font-weight-light"
dark
dense
role="navigation"
height="20px"
>
<v-tab
class="grey--text text--lighten-3"
to="/project.html#contact"
<v-container>
<v-row>
<v-col
class="d-flex justify-center mb-1"
cols="12"
>
<!-- TODO: provide translation -->
<v-tabs
centered
hide-slider
background-color="secondary"
class="font-weight-light"
dark
dense
role="navigation"
height="20px"
>
Contact
</v-tab>
<v-tab
class="grey--text text--lighten-3"
to="/privacy.html"
>
Data Privacy
</v-tab>
<v-tab
class="grey--text text--lighten-3"
to="/imprint.html"
>
Imprint
</v-tab>
<v-tab
class="grey--text text--lighten-3"
to="/termsofuse.html"
>
Terms of Use
</v-tab>
</v-tabs>
</v-col>
<v-col
cols="12"
>
<v-img
max-height="100%"
max-width="200px"
style="margin: 0 auto"
:src="$withBase('/assets/images/dfg_logo_schriftzug_blau_foerderung_en.svg')"
></v-img>
</v-col>
<v-col
class="text-caption grey--text text--lighten-3 text-center copyright"
cols="12"
>
<!-- TODO: provide translation -->
© {{ new Date().getFullYear() }} – Ahiqar - The syriac and arabic Ahiqar Texts
</v-col>
<v-tab
class="grey--text text--lighten-3"
to="/project.html#contact"
>
Contact
</v-tab>
<v-tab
class="grey--text text--lighten-3"
to="/privacy.html"
>
Data Privacy
</v-tab>
<v-tab
class="grey--text text--lighten-3"
to="/imprint.html"
>
Imprint
</v-tab>
<v-tab
class="grey--text text--lighten-3"
to="/termsofuse.html"
>
Terms of Use
</v-tab>
</v-tabs>
</v-col>
</v-row>
<v-row>
<v-col cols="12" class="d-flex justify-space-around align-center">
<a href="https://www.dfg.de/" title="Deutsche Forschungsgemeinschaft e.V." target="_blank">
<v-img
max-height="100%"
max-width="240px"
style="margin: 0 auto"
:src="$withBase('/assets/images/dfg_logo_schriftzug_weiss.svg')"
></v-img>
</a>
<!-- </v-col>
<v-col cols="3" class="d-flex"> -->
<a href="https://uni-goettingen.de/" title="Georg August University Goettingen" target="_blank">
<v-img
max-height="100%"
max-width="240px"
style="margin: 0 auto"
:src="$withBase('/assets/images/logo-uni-goettingen.svg')"
></v-img>
</a>
<!-- </v-col>
<v-col cols="3"> -->
<a href="https://sub.uni-goettingen.de/" title="State- and University Library Goettingen" target="_blank">
<v-img
max-height="100%"
max-width="240px"
style="margin: 0 auto"
:src="$withBase('/assets/images/SUB_left_horizontal_white.svg')"
></v-img>
</a>
</v-col>
</v-row>
<v-row>
<v-col
class="text-caption grey--text text--lighten-3 text-center copyright"
cols="12"
>
<!-- TODO: provide translation -->
© {{ new Date().getFullYear() }} – Ahiqar - The syriac and arabic Ahiqar Texts (<a href="https://gitlab.gwdg.de/subugoe/ahiqar/website/-/blob/main/CHANGELOG.md" class="grey--text text--lighten-3 text-decoration-none" target="_blank">v{{ version }}</a>)
</v-col>
</v-row>
</v-container>
</v-footer>
</template>
<script>
import { version } from '../../../package.json';
export default {
data() {
return {
version: '',
}
},
created() {
this.version = version;
}
}
</script>
<style lang="scss" scoped>
.v-tab {
font-size: 75%;
......
......@@ -76,15 +76,10 @@ export default {
keyboardLayouts: ['arabic', 'syriac']
}
},
watch:{
'$route.query': {
handler(query) {
if (query.searchTerm) {
this.input = query.searchTerm;
}
},
immediate: true,
},
mounted(){
if(this.$route.query?.searchTerm){
this.input = this.$route.query.searchTerm;
}
},
methods: {
onSubmit(e) {
......
<template>
<div>
<SearchInput @search="onSearchInput" />
<p
v-if="total > 0"
class="text-overline mb-0"
>{{total}} Results</p>
<SearchResultList :items="items" />
<div class="text-center">
<!-- #TODO: add translation -->
<p v-if="total > 0">
<!-- TODO: make string translable -->
Found a total of <code class="font-weight-black">{{ total }}</code>
<!-- TODO: make string translable -->
{{ 'hit' | numerus(total) }} for <code class="font-weight-black">{{ query }}</code> in
<!-- TODO: make string translable -->
<code class="font-weight-black">{{ distinctSheets }}</code> {{ 'Sheet' | numerus(distinctSheets) }} and
<code class="font-weight-black">{{ distinctManuscripts }}</code> {{ 'Manuscript' | numerus(distinctManuscripts) }}.
</p>
<div
v-if="loading"
class="loading-wrapper py-10"
>
<v-progress-circular
color="primary"
indeterminate
size="50"
/>
</div>
<SearchResultList
v-else
:hit-counter="hitCounter"
:items="items"
:message="message"
:query="query"
/>
<div
class="text-center"
@click="scrollUp()"
>
<v-pagination
v-if="items.length > 0"
v-if="distinctSheets > size"
v-model="page"
:length="pagesAmount"
:total-visible="7"
></v-pagination>
/>
</div>
</div>
</template>
<script>
import SearchResultList from "./SearchResultList";
import SearchResultEmpty from "./SearchResultEmpty";
import apiService from '../utilities/api';
import SearchResultEmpty from "./SearchResultEmpty";
import SearchResultList from "./SearchResultList";
export default {
components: {
SearchResultEmpty,
SearchResultList,
SearchResultEmpty
},
data() {
return {
query: '',
distinctManuscripts: 0,
distinctSheets: 0,
hitCounter: 0,
items: [],
loading: false,
message: '',
page: 1,
query: null,
size: 20,
total: 0,
page: 1,
}
};
},
watch:{
'$route.query': {
handler(query) {
if (query.searchTerm) {
this.onSearchInput(query.searchTerm);
}
},
immediate: true,
},
page: function() {
this.loading = true;
const from = this.size * (this.page - 1);
this.search(this.query, from, this.size);
this.search(this.query.trim(), from, this.size);
},
},
mounted(){
if(this.$route.query?.searchTerm) {
this.onSearchInput(this.$route.query.searchTerm);
}
},
computed: {
invalid() {
return this.query.match(/^\s*$/);
},
pagesAmount() {
return this.total > 0 ? Math.ceil(this.total / this.size) : 1;
}
return this.distinctSheets > 0
? Math.ceil(this.distinctSheets / this.size)
: 1;
},
},
filters: {
numerus: function (term, value) {
return value === 1
? term
: `${term}s`;
},
},
methods: {
onSearchInput(query) {
this.query = query;
this.page = 1;
this.search(this.query, 0, this.size)
this.search(this.query.trim(), 0, this.size);
if (this.$route.query.searchTerm !== query) {
this.$router.push({ query: { ...this.$route.query, searchTerm:query } });
};
},
async search(value, from, size) {
const searchResponse = await apiService.search(value, from, size);
this.hitCounter = from + 1;
try {
this.items = [];
this.total = 0;
this.distinctSheets = 0;
if (searchResponse) {
this.loading = true;
const searchResponse = await apiService.search(value, from, size);
const items = searchResponse.hits?.hits;
if (items) {
this.total = searchResponse.hits?.total.value || 0;
this.items = items.map(x=>({...x, searchTerm: value}));
this.items = items.map(x => ({ ...x, searchTerm: value }));
this.distinctManuscripts = searchResponse.hits?.total?.manifests || 0;
this.distinctSheets = searchResponse.hits?.total?.value || 0;
this.total = searchResponse.hits?.total?.matches || 0;
}
// TODO: make string translable
if (!this.invalid) this.message = `No search results found for <code>${this.query}</code>.`;
} catch(error) {
this.items = [];
this.distinctSheets = 0;
this.total = 0;
this.message = 'Please enter a valid search term.';
} finally {
this.loading = false;
}
}
}
}
},
scrollUp() {
window.scrollTo({
top: 0,
left: 0,
behavior: 'smooth',
});
},
},
};
</script>
<style scoped>
<style lang="scss" scoped>
.loading-wrapper {
text-align: center;
}
</style>
......@@ -2,18 +2,23 @@
<div>
<v-alert
border="left"
colored-border
color="red accent-4"
colored-border
elevation="2"
>
<!--
TODO: provide translation
TODO: insert the string the user searched for in the message
-->
No search results found.
>
<!-- TODO: provide translation -->
<span v-html="message"></span>
</v-alert>
</div>
</template>
<style lang="scss" scoped>
</style>
<script>
export default {
props: {
message: {
type: String,
default: () => '',
},
},
};
</script>
<template>
<div class="result-container">
<v-list
two-line
subheader
v-if="items.length > 0"
>
<v-list-item v-for="item in items" :key="item.item" class="pl-0">
<v-list-item-content>
<a :href="getItemUrl(item)" target="_blank">
<v-list-item-title>{{item.label}}</v-list-item-title>
<v-list-item-subtitle class="d-flex">
<span v-for="(matchItem, i) in item.matches" class="d-flex">
<span>"{{matchItem.match}}"</span>
<span>&nbsp;({{matchItem.occurrencesOnPage}})</span>
<span v-if="i < item.matches.length - 1">, </span>
>
<v-list-item v-for="(item, i) in items" :key="item.item" class="pl-0 mb-1 d-flex flex-row">
<span class="numbering align-self-start">
<span class="text-underline mr-2">{{ hitCounter + i }}.</span>
</span>
<v-list-item-content class="d-flex flex-row">
<a :href="getItemUrl(item)">
<v-list-item-title class="mb-2">
<!-- TODO: add translation -->
<span class="font-weight-regular">Sheet {{ item.n }}</span><span class="font-weight-light"> in </span><span class="font-weight-regular">{{ item.label }}</span>
</v-list-item-title>
<v-list-item-subtitle class="d-flex mb-1 multiple-hits">
<span v-for="(matchItem, i) in item.matches" :key="i" class="d-flex mb-1">
<!-- TODO: add translation -->
<span>{{ matchItem.occurrencesOnPage }} {{ matchItem.occurrencesOnPage === 1 ? 'hit' : 'hits' }} for <code>{{ matchItem.match }}</code></span>
</span>
<span class="ml-1">in Sheet {{item.n}}</span>
</v-list-item-subtitle>
<v-list-item-subtitle>{{getLanguage(item.lang)}}</v-list-item-subtitle>
<!-- TODO: add translation -->
<v-list-item-subtitle class="">{{ getLanguage(item.lang) }} Edition</v-list-item-subtitle>
</a>
</v-list-item-content>
</v-list-item>
</v-list>
<SearchResultEmpty v-else />
<SearchResultEmpty :message="message" v-else-if="query !== null" />
</div>
</template>
<script>
import pathUrl from "../mixin/pathUrl.js";
export default {
data() {
return {
languagesMap: {
ara: 'Arabic',
syc: 'Syriac',
}
}
},
};
},
mixins: [
pathUrl,
],
computed: {
viewerBaseUrl() {
return process.env.VUE_APP_BASE_URL_VIEWER;
},
},
props: {
hitCounter: {
type: Number,
default: () => 1,
},
items: {
type: Array,
default: []
default: () => [],
},
message: {
type: String,
default: () => '',
},
query: {
type: String,
default: () => null,
},
},
computed: {
viewerBaseUrl() {
return process.env.VUE_APP_BASE_URL_VIEWER;
},
},
methods: {
......@@ -57,17 +85,17 @@ export default {
if (item.lang === 'ara') {
language = 'arabic-karshuni';
} else if (item.lang === 'syc') {
language = 'syriac'
language = 'syriac';
}
return `${this.viewerBaseUrl}/${language}/#/?itemurl=${item.item}&source=external&searchTerm=${item.searchTerm}&redirectUrl=${window.location.href.replace(/\?(.*)/g,'')}`;
return `${this.viewerBaseUrl}/${language}/#/?itemurl=${item.item}&source=external&searchTerm=${item.searchTerm}&redirectUrl=${this.getPath}`;
},
},
watch: {
page: function() {
this.$emit('page-change', this.page);
}
}
}
},
},
};
</script>
<style lang="scss" scoped>
......@@ -75,6 +103,16 @@ a {
text-decoration: none;
}
.multiple-hits {
flex-direction: column;
}
.numbering {
padding-top: 10px;
width: 48px;
text-align: right;
}
.result-container {
min-height: 200px;
}
......
......@@ -14,8 +14,8 @@ export default ({
theme: {
themes: {
light: {
primary: '#583c33',
secondary: '#5a5b3c',
primary: '#1A3771',
secondary: '#475987',
accent: '#bdbdbd'
}
},
......
export default {
computed: {
getPath() {
const origin = window?.location?.origin;
const path = this.$route.path;
const pathName = window?.location?.pathname;
let suffixDomain = pathName.replace(path, '');
if (!suffixDomain.startsWith('/')) {
suffixDomain = '/' + suffixDomain;
};
if (!suffixDomain.endsWith('/')) {
suffixDomain += '/';
};
return origin + suffixDomain;
}
}
}
This diff is collapsed.
<template>
<v-app>
<Bar/>
<client-only>
<Bar/>
</client-only>
<v-main>
<Content/>
</v-main>
......
<template>
<v-app>
<Bar/>
<client-only>
<Bar/>
</client-only>
<v-main>
<v-container>
<Content/>
......
<template>
<v-app>
<Bar/>
<client-only>
<Bar/>
</client-only>
<v-main>
<v-container>
<Content/>
......
......@@ -4,6 +4,6 @@ title: Collation
layout: Layout
---
# {{ $frontmatter.title }}{.text-h1 .mt-4 .mb-6 .font-weight-light .primary--text}
# {{ $frontmatter.title }}{.text-h1 .mt-4 .mb-6 .primary--text}
Lorem ipsum dolor sit amut. Lorem ipsum dolor sit amut. Lorem ipsum dolor sit amut. Lorem ipsum dolor sit amut. Lorem ipsum dolor sit amut. Lorem ipsum dolor sit amut. Lorem ipsum dolor sit amut. Lorem ipsum dolor sit amut. Lorem ipsum dolor sit amut. Lorem ipsum dolor sit amut. Lorem ipsum dolor sit amut. {.body-2}
......@@ -4,6 +4,6 @@ title: Impressum
layout: Layout
---
# {{ $frontmatter.title }}{.text-h1 .mt-4 .mb-6 .font-weight-light .primary--text}
# {{ $frontmatter.title }}{.text-h1 .mt-4 .mb-6 .primary--text}
Bitte lesen Sie das [Impressum der Niedersächsischen Staats- und Universitätsbibliothek Göttingen](https://www.sub.uni-goettingen.de/impressum/) {.body-2}