28 lines
888 B
JavaScript
28 lines
888 B
JavaScript
/*
|
|
* Custom LightGallery plugin to add some buttons for administration
|
|
*
|
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
|
*/
|
|
|
|
class lgAdmin {
|
|
constructor(instance, $LG) {
|
|
this.core = instance;
|
|
this.$LG = $LG;
|
|
this.isStaff = instance.settings.isStaff;
|
|
return this;
|
|
}
|
|
|
|
init() {
|
|
this.core.$toolbar.append("<a href=\"#\" id=\"lg-admin\" class=\"lg-icon\">\uE033</a>");
|
|
this.core.LGel.on("lgAfterSlide.admin", this.onAfterSlide.bind(this));
|
|
}
|
|
|
|
onAfterSlide(event) {
|
|
const photoId = this.core.galleryItems[event.detail.index].slideName;
|
|
document.getElementById("lg-admin").href = `https://photos.crans.org/admin/photologue/photo/${photoId}/change/`;
|
|
document.getElementById("lg-admin").style.display = this.isStaff ? 'block' : 'none';
|
|
}
|
|
|
|
// Admin must have destroy prototype
|
|
destroy() { }
|
|
}
|