PhotosIndex: replace edit button with edit menu

This commit is contained in:
2024-01-17 17:51:45 +01:00
parent 8613054d69
commit 069d56383e
5 changed files with 78 additions and 35 deletions

View File

@@ -25,7 +25,15 @@ class PhotoPage extends Template
echo '
<div class="row mt-5">
<div class="col-lg-9">
<div class="col-lg">';
$this->photoMeta();
echo '
</div>
</div>
<div class="row mt-5">
<div class="col-lg">
<div id="sub_photo" class="content-box">';
$this->userActions();
@@ -39,12 +47,6 @@ class PhotoPage extends Template
echo '
</div>
</div>
<div class="col-lg-3">';
$this->photoMeta();
echo '
</div>
</div>
<script type="text/javascript" src="', BASEURL, '/js/photonav.js"></script>';
}
@@ -109,12 +111,12 @@ class PhotoPage extends Template
private function photoMeta()
{
echo '
<ul class="list-group photo_meta">';
<ul class="list-group list-group-horizontal photo_meta">';
foreach ($this->metaData as $header => $body)
{
echo '
<li class="list-group-item">
<li class="list-group-item flex-fill">
<h4>', $header, '</h4>
', $body, '
</li>';

View File

@@ -81,6 +81,28 @@ class PhotosIndex extends Template
$this->previous_header = $header;
}
protected function editMenu(Image $image)
{
echo '
<div class="edit dropdown">
<button class="btn btn-primary btn-sm dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
</button>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="', $image->getEditUrl(), '">Edit image</a></li>
<li><a class="dropdown-item" href="', $image->getDeleteUrl(), '&',
Session::getSessionTokenKey(), '=', Session::getSessionToken(),
'" onclick="return confirm(\'Are you sure you want to delete this image?\');',
'">Delete image</a></li>
<li><a class="dropdown-item" href="', $image->getEditUrl(), '&inc_prio&',
Session::getSessionTokenKey(), '=', Session::getSessionToken(),
'">Increase priority</a></li>
<li><a class="dropdown-item" href="', $image->getEditUrl(), '&dec_prio&',
Session::getSessionTokenKey(), '=', Session::getSessionToken(),
'">Decrease priority</a></li>
</ul>
</div>';
}
protected function photo(Image $image, $className, $width, $height, $crop = true, $fit = true)
{
// Prefer thumbnail aspect ratio if available, otherwise use image aspect ratio.
@@ -90,8 +112,7 @@ class PhotosIndex extends Template
<div class="polaroid ', $className, '" style="aspect-ratio: ', $aspectRatio, '">';
if ($this->show_edit_buttons)
echo '
<a class="edit" href="', BASEURL, '/editasset/?id=', $image->getId(), '">Edit</a>';
$this->editMenu($image);
echo '
<a href="', $image->getPageUrl(), $this->url_suffix, '#photo_frame">';