fixed html inline and slideshow frontend
This commit is contained in:
@ -1,10 +1,113 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>$Title$</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<link href="../css/uploadfile.css" rel="stylesheet">
|
||||
|
||||
<title>Medien hinzufügen</title>
|
||||
|
||||
<!-- Bootstrap core CSS -->
|
||||
<link href="../css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="../css/icons/bootstrap-icons.css">
|
||||
<script src="../js/bootstrap.bundle.min.js"></script>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
$END$
|
||||
<div class="card border-0">
|
||||
<div class="card-body">
|
||||
<nav class="navbar navbar-expand-lg navbar-dark bg-dark rounded-3">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="dashboard.php">DBR</a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
|
||||
data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent"
|
||||
aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" aria-current="page" href="dashboard.php">Home</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="addSlider.php">Medien hinzufügen</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="listSlider.php">Datein verwalten</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="d-flex">
|
||||
<ul class="navbar-nav ml-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="logout.php">Ausloggen <i
|
||||
class="bi-box-arrow-right text-light"></i></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card border-0">
|
||||
<div class="card-body">
|
||||
<div class="container d-grid gap-3">
|
||||
<div class="p-2 bg-light border">
|
||||
<div class="input-group mb-3">
|
||||
<span class="input-group-text" id="basic-addon1">Gruppe</span>
|
||||
<input type="text" id="group" class="form-control" placeholder="Gruppe" aria-label="Gruppe"
|
||||
aria-describedby="basic-addon1" value="">
|
||||
</div>
|
||||
|
||||
<div id="mulitplefileuploader">Upload</div>
|
||||
<div id="status"></div>
|
||||
|
||||
</div>
|
||||
<div class="p-2 bg-light border">
|
||||
<p class="card-text">
|
||||
<h3>Erlaubte Inhalte:</h3>
|
||||
'png', 'jpg', 'jpeg', 'gif', 'html', 'mp4', 'avi'
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../js/jquery-1.11.0.js"></script>
|
||||
<script src="../js/jquery.uploadfile.min.js"></script>
|
||||
<script>
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
const settings = {
|
||||
url: "/api/collections/media/records",
|
||||
method: "POST",
|
||||
allowedTypes: "jpg,png,gif,doc,pdf,zip,mp4,html,jpeg,avi",
|
||||
fileName: "media",
|
||||
formData: {
|
||||
"group": function () {
|
||||
return document.getElementById("group").value
|
||||
},
|
||||
"duration": "7000",
|
||||
"enabled": true
|
||||
},
|
||||
multiple: true,
|
||||
onSuccess: function (files, data, xhr) {
|
||||
$("#status").html("<font color='green'>Upload is success</font>");
|
||||
|
||||
},
|
||||
onError: function (files, status, errMsg) {
|
||||
$("#status").html("<font color='red'>Upload is Failed</font>");
|
||||
}
|
||||
};
|
||||
$("#mulitplefileuploader").uploadFile(settings);
|
||||
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -45,23 +45,28 @@
|
||||
|
||||
<script type="module">
|
||||
import PocketBase from './js/pocketbase/pocketbase.esm.js'
|
||||
|
||||
const sliderArrayQuery = [];
|
||||
|
||||
const pb = new PocketBase('http://127.0.0.1:8090');
|
||||
|
||||
const media = pb.collection('media').getFullList(200, {
|
||||
const media = pb.collection('media').getFullList(2000, {
|
||||
sort: '-created',
|
||||
});
|
||||
|
||||
media.then(
|
||||
it => it.forEach((arrObj) => {
|
||||
sliderArrayQuery.push(new Slider(arrObj.collectionId, arrObj.collectionName, arrObj.created, arrObj.duration, arrObj.enabled, arrObj.id, arrObj.media, arrObj.updated))
|
||||
media.then(
|
||||
it => it.forEach((arrObj) => {
|
||||
sliderArrayQuery.push(new Slider(arrObj.collectionId, arrObj.collectionName, arrObj.created, arrObj.duration, arrObj.enabled, arrObj.id, arrObj.media, arrObj.updated))
|
||||
})
|
||||
).then(_ => {
|
||||
let sliderArray = sliderArrayQuery.filter(mediaObjekt => {
|
||||
return mediaObjekt.enabled === true
|
||||
})
|
||||
let slideshow = new Slideshow('#image_container', sliderArray, '', true, true, 0)
|
||||
startSlideShow(slideshow)
|
||||
})
|
||||
;
|
||||
|
||||
let sliderArray = sliderArrayQuery.filter(mediaObjekt => {return mediaObjekt.enabled === true})
|
||||
let slideshow = new Slideshow('#image_container', sliderArray, '', true, true, 0)
|
||||
startSlideShow(slideshow)
|
||||
})
|
||||
);
|
||||
</script>
|
||||
<script src="js/slideshow.js"></script>
|
||||
|
||||
|
@ -126,7 +126,7 @@ class MultipleUploader {
|
||||
|
||||
for (const [ index, file] of Object.entries( this.#$imagesUploadInput.files ))
|
||||
{
|
||||
if ( index != deletedIndex )
|
||||
if ( index !== deletedIndex )
|
||||
dt.items.add( file )
|
||||
}
|
||||
|
||||
|
@ -119,7 +119,7 @@ function show() {
|
||||
|
||||
if (slideshow.sliderArray[counter].media.endsWith('.html')) {
|
||||
wrapper.style.backgroundImage = ``;
|
||||
wrapper.id = "test";
|
||||
wrapper.id = "image";
|
||||
const makeIframe = document.createElement("iframe");
|
||||
makeIframe.setAttribute('src', "/api/files/" + slideshow.sliderArray[counter].collectionId + "/" + slideshow.sliderArray[counter].id + "/" + slideshow.sliderArray[counter].media);
|
||||
makeIframe.setAttribute("scrolling", "no");
|
||||
@ -127,6 +127,9 @@ function show() {
|
||||
makeIframe.style.height = "100vh";
|
||||
makeIframe.style.overflow = "hidden";
|
||||
makeIframe.style.border = "none";
|
||||
makeIframe.style.position = "relative";
|
||||
makeIframe.style.zIndex = "7";
|
||||
wrapper_blur.style.height = "0";
|
||||
|
||||
if (wrapper.dataset.loaded === 'false') {
|
||||
wrapper.dataset.loaded = 'true';
|
||||
@ -136,6 +139,7 @@ function show() {
|
||||
} else {
|
||||
if (slideshow.sliderArray[counter].media.endsWith('.mp4')) {
|
||||
wrapper.style.backgroundImage = ``;
|
||||
wrapper.id = "image";
|
||||
const vid = document.createElement('video');
|
||||
vid.setAttribute('loop', 'true');
|
||||
vid.setAttribute('autoplay', 'true');
|
||||
@ -154,6 +158,8 @@ function show() {
|
||||
}
|
||||
} else {
|
||||
wrapper.innerHTML = ' ';
|
||||
wrapper.id = "image";
|
||||
wrapper_blur.style.height = "100%";
|
||||
let url = '/api/files/' + slideshow.sliderArray[counter].collectionId + "/" + slideshow.sliderArray[counter].id + "/" + slideshow.sliderArray[counter].media;
|
||||
let i = new Image();
|
||||
i.src = url;
|
||||
|
Reference in New Issue
Block a user