landing page via php (blade)

This commit is contained in:
Arno Kaimbacher 2020-03-10 18:58:46 +01:00
parent a080faa91d
commit 43748471dc
9 changed files with 378 additions and 80 deletions

View file

@ -1,19 +1,19 @@
<template>
<div class="box" v-if="post">
<div class="box" v-if="dataset">
<div class="dataset_heaader">
<div class="dataset__blog-meta">published: {{ toDayDateTimeString(post.server_date_published) }}</div>
<h1 class="dataset__title">{{ post.title_output }}</h1>
<div class="dataset__blog-meta">published: {{ toDayDateTimeString(dataset.server_date_published) }}</div>
<h1 class="dataset__title">{{ dataset.title_output }}</h1>
<p class="dataset__id">{{ post.id }}</p>
<p class="dataset__id">{{ dataset.id }}</p>
</div>
<div class="dataset">
<p class="dataset__abstract">{{ post.abstract_output }}</p>
<p class="dataset__abstract">{{ dataset.abstract_output }}</p>
<p class="dataset__abstract" v-if="post.subject && post.subject.length > 0">keywords: {{ post.subject.join(', ') }}</p>
<p class="dataset__abstract">creating corporation: {{ post.creating_corporation }}</p>
<p class="dataset__abstract">publisher: {{ post.publisher_name }}</p>
<p class="dataset__abstract" v-if="dataset.subject && dataset.subject.length > 0">keywords: {{ dataset.subject.join(', ') }}</p>
<p class="dataset__abstract">creating corporation: {{ dataset.creating_corporation }}</p>
<p class="dataset__abstract">publisher: {{ dataset.publisher_name }}</p>
<p class="dataset__abstract">coverage: {{ dataset.geo_location }}</p>
</div>
</div>
</template>
@ -32,7 +32,7 @@ export default class Dataset extends Vue {
metaInfo() {
return {
title: this.post && this.post.title
title: this.dataset && this.dataset.title
};
}
@ -63,7 +63,7 @@ export default class Dataset extends Vue {
return time;
}
post = null;
dataset = null;
host = "https://repository.geologie.ac.at/";
path = "solr/rdr_data/select?";
endpoint = this.host + this.path;
@ -72,8 +72,8 @@ export default class Dataset extends Vue {
getPost(id) {
axios(this.endpoint + "&q=id:" + id)
.then(response => {
this.post = response.data.response.docs[0];
// this.post.title_output = "Ein etwas längerer Titel zum Testen!!! Test";
this.dataset = response.data.response.docs[0];
// this.dataset.title_output = "Ein etwas längerer Titel zum Testen!!! Test";
})
.catch(error => {
console.log("-----error-------");
@ -90,7 +90,7 @@ export default class Dataset extends Vue {
<style lang="scss" scoped>
.box {
margin: 0 auto;
padding: 115px 20px 70px;
padding: 100px 20px 70px;
// background-color: salmon;
@ -113,8 +113,8 @@ export default class Dataset extends Vue {
}
&__id {
position: absolute;
font-size: 280px;
bottom: -50px;
font-size: 250px;
bottom: -40px;
margin: 0;
color: #eeeeee;
right: -20px;

View file

@ -54,7 +54,7 @@ export default {
Object.entries(filterItems).forEach(([key, valueArray]) => {
// console.log(`${key} ${valueArray}`);
valueArray.forEach(function (value) {
filterFields += "&fq=" + key + ":(" + value + ")";
filterFields += '&fq=' + key + ':("' + value + '")';
});
});

View file

@ -1,21 +1,184 @@
@extends('layouts.app')
@extends('layouts.app')
@section('content')
<section class="normal dataset u-full-width">
<div id="app"></div>
<div id="app">
<main>
<div class="content">
<div class="box" v-if="dataset">
<div class="dataset_heaader">
<div class="dataset__blog-meta">published: {{ $dataset->server_date_published->toDayDateTimeString() }}
</div>
<h1 class="dataset__title">{{ $dataset->mainTitle()->value }}</h1>
<p class="dataset__id">{{ $dataset->id }}</p>
</div>
<div class="dataset">
<p class="dataset__abstract">{{ $dataset->mainAbstract()->value }}</p>
@if($dataset->authors()->exists())
<p class="dataset__abstract" v-if="dataset.subject && dataset.subject.length > 0">
Ersteller/Autor: {{ $dataset->authors->implode('full_name', ', ') }}
</p>
@endif
@if($dataset->contributors()->exists())
<p class="dataset__abstract" v-if="dataset.subject && dataset.subject.length > 0">
Beitragende: {{ $dataset->contributors->implode('full_name', ', ') }}
</p>
@endif
@if($dataset->subjects()->exists())
<p class="dataset__abstract" v-if="dataset.subject && dataset.subject.length > 0">
Schlüsselwörter: {{ $dataset->subjects->implode('value', ', ') }}
</p>
@endif
<p class="dataset__abstract">Erstellungsjahr: {{ $dataset->server_date_published->year }}</p>
<p class="dataset__abstract">Sprache: {{ $dataset->language }}</p>
<p class="dataset__abstract">Objekttyp: {{ $dataset->type }}</p>
<p class="dataset__abstract">Herausgeber: {{ $dataset->creating_corporation }}</p>
<p class="dataset__abstract">Publisher: {{ $dataset->publisher_name }}</p>
<p class="dataset__abstract">Coverage: {{ $dataset->geoLocation() }}</p>
@if($dataset->hasEmbargoPassed() == true)
<table id="items" class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>Path Name</th>
</tr>
</thead>
<tbody>
@foreach($dataset->files as $key => $file)
<tr>
<td>
@if($file->exists() === true)
<a href="{{ route('file.download', ['id' => $file->id]) }}"> {{ $file->label }} </a>
@else
<span class="alert">missing file: {{ $file->path_name }}</span>
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
@else
<span>Datensatz hat noch ein gültiges Embargo-Datum.</span>
@endif
</div>
</div>
</div>
</main>
</div>
</section>
@stop
@section('head')
<style>
/* body {
margin: 0;
padding: 0;
} */
#app {
font-family: "Avenir", Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color: #2c3e50;
}
h1,
h2 {
font-weight: normal;
}
main {
display: flex;
/* height: calc(100vh - 90px); */
max-width: 1200px;
margin-top: 90px;
margin-left: auto;
margin-right: auto;
overflow: hidden;
}
aside {
flex: 1 0 30%;
height: 100%;
overflow-y: auto;
width: 30%;
padding: 50px 30px;
box-sizing: border-box;
border-right: 1px solid #42b983;
}
.content {
// flex: 1 1 80%;
// display: flex;
align-items: center;
justify-content: center;
}
.box {
margin: 0 auto;
padding: 100px 20px 70px;
// background-color: salmon;
}
.dataset_heaader {
// background-color: lightgray;
position: relative;
}
.dataset {
// max-width: 500px;
}
.dataset__title {
position: relative;
text-transform: uppercase;
z-index: 1;
}
.dataset__abstract {
position: relative;
z-index: 1;
}
.dataset__id {
position: absolute;
font-size: 250px;
bottom: -40px;
margin: 0;
color: #eeeeee;
right: -20px;
line-height: 1;
font-weight: 900;
z-index: 0;
}
.dataset__blog-meta {
padding: 10px 0 20px;
color: #c2c2c2;
// font-size: 0.8em;
margin-top: -1.7em;
}
</style>
@endsection
@section('after-scripts')
<script>
window.Laravel = <?php echo json_encode([
'csrf_token' => csrf_token(),
'id' => $id,
]); ?>
</script>
<script src="{{ asset('js/landingpage/main.js') }}"></script>
@stop