Segelparade / www / symfonyproject / public / assets / js / backend / imageEntry.js
imageEntry.js
Raw
class imageEntry extends serverFetch{

    static allInstances = [];

    constructor(id, cut = false) {
        super();
        this.id = id;
        this.thumbnail = document.querySelector(`[thumbid='${this.id}']`);
        this.thumbnailLayer = this.thumbnail.querySelector(".custom-backend-layer");
        // this.thumbnailImage = this.thumbnail.querySelector('img');
        this.thumbnailcheckbox = this.thumbnail.querySelector('input');

        imageEntry.allInstances.push(this);

        if (cut) {
            this.cut = true;
        }

        if(this.thumbnailLayer){
            this.thumbnailLayer.addEventListener("click", ()=>{
                if(backend.checkedImages && backend.checkedImages.length > 0){
                    
                    this.thumbnailcheckbox.checked = !this.thumbnailcheckbox.checked;
                    this.toogleCheckbox();
                }
                else{
                this.createModal();
                }
            });
        }

        if(this.thumbnailcheckbox){
            this.thumbnailcheckbox.addEventListener("click", ()=>{
                this.toogleCheckbox();
            })
        }
 }
    toogleCheckbox(uncheck = false){
        if(uncheck){
            this.thumbnailcheckbox.checked = false;
        }
        backend.multitool();
        this.thumbnail.classList.toggle('activeThumb');
    }

    createModal(){
            this.modal = new entryModal(this);
    }

    getNext(){
        let all     = imageEntry.allInstances;
        let currentIndex = all.indexOf(this);

        if (currentIndex !== -1 && currentIndex < all.length - 1) {
            return all[currentIndex + 1];
    }


}
async delete(){
    console.log(new Date);
    console.log("aufruf von delete()");
    let url = "/backend/delete/" + this.id;
    await this.makeFetch(url);
    return Promise.resolve;
}


}