{"version":3,"file":"file_upload_controller-CzZptSck.js","names":[],"sources":["../../../app/javascript/entrypoints/controllers/file_upload_controller.js"],"sourcesContent":["import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"input\", \"dropzone\", \"fileInfo\"]\n\n connect() {\n this.setupEventListeners()\n }\n\n setupEventListeners() {\n this.dropzoneTarget.addEventListener('dragover', this.preventDefault)\n this.dropzoneTarget.addEventListener('dragleave', this.preventDefault)\n this.dropzoneTarget.addEventListener('drop', this.preventDefault)\n }\n\n dragover(event) {\n this.preventDefault(event)\n this.dropzoneTarget.classList.add('border-primary')\n }\n\n dragleave(event) {\n this.preventDefault(event)\n this.dropzoneTarget.classList.remove('border-primary')\n }\n\n drop(event) {\n this.preventDefault(event)\n this.dropzoneTarget.classList.remove('border-primary')\n\n if (event.dataTransfer.files.length) {\n this.inputTarget.files = event.dataTransfer.files\n this.updateFileInfo()\n }\n }\n\n browse() {\n this.inputTarget.click()\n }\n\n fileSelected() {\n this.updateFileInfo()\n }\n\n updateFileInfo() {\n const files = this.inputTarget.files\n\n if (files.length > 0) {\n const file = files[0]\n const fileSize = this.formatFileSize(file.size)\n this.fileInfoTarget.textContent = `${file.name} (${fileSize})`\n } else {\n this.fileInfoTarget.textContent = \"aucun fichier choisi\"\n }\n }\n\n formatFileSize(bytes) {\n if (bytes === 0) return '0 Bytes'\n\n const k = 1024\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB']\n const i = Math.floor(Math.log(bytes) / Math.log(k))\n\n return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i]\n }\n\n preventDefault(event) {\n event.preventDefault()\n event.stopPropagation()\n }\n}\n"],"mappings":"4GAEA,EAAA,cAA6B,CAAW,CACtC,OAAO,QAAU,CAAC,QAAS,WAAY,WAAW,CAElD,SAAU,CACR,KAAK,qBAAqB,CAG5B,qBAAsB,CACpB,KAAK,eAAe,iBAAiB,WAAY,KAAK,eAAe,CACrE,KAAK,eAAe,iBAAiB,YAAa,KAAK,eAAe,CACtE,KAAK,eAAe,iBAAiB,OAAQ,KAAK,eAAe,CAGnE,SAAS,EAAO,CACd,KAAK,eAAe,EAAM,CAC1B,KAAK,eAAe,UAAU,IAAI,iBAAiB,CAGrD,UAAU,EAAO,CACf,KAAK,eAAe,EAAM,CAC1B,KAAK,eAAe,UAAU,OAAO,iBAAiB,CAGxD,KAAK,EAAO,CACV,KAAK,eAAe,EAAM,CAC1B,KAAK,eAAe,UAAU,OAAO,iBAAiB,CAElD,EAAM,aAAa,MAAM,SAC3B,KAAK,YAAY,MAAQ,EAAM,aAAa,MAC5C,KAAK,gBAAgB,EAIzB,QAAS,CACP,KAAK,YAAY,OAAO,CAG1B,cAAe,CACb,KAAK,gBAAgB,CAGvB,gBAAiB,CACf,IAAM,EAAQ,KAAK,YAAY,MAE/B,GAAI,EAAM,OAAS,EAAG,CACpB,IAAM,EAAO,EAAM,GACb,EAAW,KAAK,eAAe,EAAK,KAAK,CAC/C,KAAK,eAAe,YAAc,GAAG,EAAK,KAAK,IAAI,EAAS,QAE5D,KAAK,eAAe,YAAc,uBAItC,eAAe,EAAO,CACpB,GAAI,IAAU,EAAG,MAAO,UAExB,IAAM,EAAI,KACJ,EAAQ,CAAC,QAAS,KAAM,KAAM,KAAM,KAAK,CACzC,EAAI,KAAK,MAAM,KAAK,IAAI,EAAM,CAAG,KAAK,IAAI,EAAE,CAAC,CAEnD,OAAO,YAAY,EAAiB,IAAG,GAAI,QAAQ,EAAE,CAAC,CAAG,IAAM,EAAM,GAGvE,eAAe,EAAO,CACpB,EAAM,gBAAgB,CACtB,EAAM,iBAAiB"}