Files
Mangarr/assets/controllers/toolbar_controller.js
Jérémy Guillot ba30d3102d Added:
- new simpler modal without bootstrap
- new loadingbutton component
- cleanupsome old code
- toolbar adjusments
2024-06-30 12:44:41 +02:00

89 lines
1.9 KiB
JavaScript

// assets/controllers/toolbar_controller.js
import { Controller } from "@hotwired/stimulus"
export default class extends Controller {
static targets = ["dropdown"]
static values = {
currentSort: String,
currentOrder: String,
currentStatus: String
}
refreshMetadata() {
console.log("Refreshing...");
}
searchLastChapter() {
console.log("Searching last chapter...");
}
import() {
console.log("Importing...");
}
editMangas() {
console.log("Editing mangas...");
}
editManga() {
const event = new CustomEvent('openEditModal');
document.dispatchEvent(event);
}
deleteMangas() {
console.log("Deleting mangas...");
}
deleteManga() {
const event = new CustomEvent('openDeleteModal');
document.dispatchEvent(event);
}
showOptions() {
console.log("Showing options...");
}
expandAll() {
console.log("Expanding all...");
}
changeView(event) {
event.preventDefault();
const viewOption = event.currentTarget.dataset.view;
const url = new URL(window.location);
url.searchParams.set('view', viewOption);
window.location = url.toString();
}
sort(event) {
event.preventDefault()
const sortOption = event.currentTarget.dataset.sort;
let order = 'asc';
if (sortOption === this.currentSortValue && this.currentOrderValue === 'asc') {
order = 'desc';
}
const url = new URL(window.location);
url.searchParams.set('sort', sortOption);
url.searchParams.set('order', order);
window.location = url.toString();
}
filter(event) {
event.preventDefault();
const filterOption = event.currentTarget.dataset.filter;
const url = new URL(window.location);
url.searchParams.set('status', filterOption);
// Réinitialiser la page à 1 si on utilise la pagination
// url.searchParams.set('page', '1');
window.location = url.toString();
}
}