/**
* Component to render data for not conserved assets
* @class NotConserved
*/
export class NotConserved {
biblioElements = [];
/**
* @param {object} data
*/
set siteData(data) {
this._data = data;
}
async render() {
return `
Denominazione: ${this._data.denomination}
Periodo: ${this._data.period}
Località generica: ${this._data.genericLocation}
Descrizione
${this._data.shortDescription}
Bibliografia: ${await this.biblio(this._data.id)}
Autore scheda: ${this._data.author}
`;
}
renderImages() {
let content = `
Immagini
`;
content += `
Cliccare sull'immagine per aprire la gallery
`;
return content;
}
/**
* @param {HTMLElement} imageContainer
* @param {Function} gallery
*/
async setImages(imageContainer, gallery) {
let record = await this.fetchData(`${window.API_URL}/not_conserved/${this._data.id}`)
if (record.images.length) {
this.images = record.images;
imageContainer.innerHTML = this.renderImages();
gallery('not-conserved-gallery', this.images);
}
}
async biblio(recordId) {
let record = await this.fetchData(`${window.API_URL}/not_conserved/${recordId}`);
let citations = '';
if (record.bibliography.length) {
record.bibliography.forEach(record => {
citations += `