36 lines
1014 B
JavaScript
36 lines
1014 B
JavaScript
import { Controller } from "@hotwired/stimulus"
|
|
|
|
export default class extends Controller {
|
|
static targets = ['biblio', 'cit', 'ref', 'close'];
|
|
|
|
open(event) {
|
|
const biblio = window.Biblio;
|
|
this.trigger = event.currentTarget;
|
|
const id = this.trigger.id.replace('cit-', '');
|
|
this.ref = this.biblioTarget;
|
|
|
|
if (this.trigger.parentElement.nodeName === 'TD') {
|
|
this.ref = this.biblioTargets.find(t => t.id === 'biblio-detail');
|
|
}
|
|
|
|
this.ref.innerHTML = '<button class="delete" data-action="click->biblio#hideBiblio"></button>';
|
|
this.ref.innerHTML += biblio.getReference(id);
|
|
|
|
this.showBiblio();
|
|
}
|
|
|
|
close() {
|
|
this.modalTarget.classList.remove('is-active');
|
|
}
|
|
|
|
showBiblio() {
|
|
this.ref.classList.remove('is-hidden');
|
|
this.ref.scrollIntoView({behavior: 'smooth'});
|
|
}
|
|
|
|
hideBiblio() {
|
|
this.ref.classList.add('is-hidden');
|
|
this.trigger.parentElement.scrollIntoView({behavior: 'smooth'});
|
|
}
|
|
}
|