{"version":3,"sources":["webpack:///./app/javascript/src/uppy.js"],"names":["uppyInstances","document","querySelectorAll","uppyDocInstances","length","forEach","element","trigger","querySelector","direct_upload_url","closest","getAttribute","field_name","dataset","uppy","addEventListener","event","preventDefault","Uppy","autoProceed","allowMultipleUploads","logger","debugLogger","restrictions","maxFileSize","maxNumberOfFiles","minNumberOfFiles","allowedFileTypes","use","ActiveStorageUpload","directUploadUrl","Dashboard","inline","closeAfterFinish","ImageEditor","target","quality","cropperOptions","viewMode","background","autoCropArea","responsive","croppedCanvasOptions","actions","revert","rotate","granularRotate","flip","zoomIn","zoomOut","cropSquare","cropWidescreen","cropWidescreenVertical","Compressor","limit","on","result","console","log","successful","failed","parentNode","removeChild","file","hiddenField","createElement","setAttribute","response","signed_id","appendChild","appendUploadedFile","preview","src","setPreview","reset","setupUppy"],"mappings":"2FAAA,4HAeIA,GAfJ,4BAeoBC,SAASC,iBAAiB,gBAAkB,IAC5DC,EAAmBF,SAASC,iBAAiB,oBAAsB,GAGrEF,EAAcI,OAAS,GACvBJ,EAAcI,OAASD,EAAiBC,QAExCH,SACGC,iBAAiB,eACjBG,SAAQ,SAACC,GAAO,OAGrB,SAAmBA,GACjB,IAAIC,EAAUD,EAAQE,cAAc,kCAEhCC,GADOH,EAAQI,QAAQ,QACHT,SACrBO,cAAc,kCACdG,aAAa,YACZC,EAAaN,EAAQO,QAAQC,KACjCP,EAAQQ,iBAAiB,SAAS,SAACC,GAAK,OAAKA,EAAMC,gBAAgB,IAEnE,IAAIH,EAAO,IAAII,IAAK,CAClBC,aAAa,EACbC,sBAAsB,EACtBC,OAAQH,IAAKI,YACbC,aAAc,CACZC,YAAa,KACbC,iBAAkB,EAClBC,iBAAkB,EAClBC,iBAAkB,CAAC,cAIvBb,EAAKc,IAAIC,IAAqB,CAC5BC,gBAAiBrB,IAGnBK,EAAKc,IAAIG,IAAW,CAClBxB,QAASA,EACTyB,QAAQ,EACRC,kBAAkB,IASpBnB,EAAKc,IAAIM,IAAa,CACpBC,OAAQJ,IACRK,QAAS,EACTC,eAAgB,CACdC,SAAU,EACVC,YAAY,EACZC,aAAc,EACdC,YAAY,EACZC,qBAAsB,CAAC,GAEzBC,QAAS,CACPC,QAAQ,EACRC,QAAQ,EACRC,gBAAgB,EAChBC,MAAM,EACNC,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZC,gBAAgB,EAChBC,wBAAwB,KAI5BtC,EAAKc,IAAIyB,IAAY,CACnBjB,QAAS,GACTkB,MAAO,KAGTxC,EAAKyC,GAAG,YAAY,SAACC,GAInBC,QAAQC,IAAI,oBAAqBF,EAAOG,YACxCF,QAAQC,IAAI,gBAAiBF,EAAOI,QAEpCtD,EACGJ,iBAAiB,yBACjBG,SAAQ,SAACC,GAAO,OAAKA,EAAQuD,WAAWC,YAAYxD,EAAQ,IAE/DkD,EAAOG,WAAWtD,SAAQ,SAAC0D,IAW/B,SAA4BzD,EAASyD,EAAMnD,GACzC,IAAMoD,EAAc/D,SAASgE,cAAc,SAE3CD,EAAYE,aAAa,OAAQ,UACjCF,EAAYE,aAAa,OAAQtD,GACjCoD,EAAYE,aAAa,uBAAuB,GAChDF,EAAYE,aAAa,QAASH,EAAKI,SAASC,WAEhD9D,EAAQ+D,YAAYL,EACtB,CAnBMM,CAAmBhE,EAASyD,EAAMnD,GAClC6C,QAAQC,IAAI,SACZD,QAAQC,IAAIpD,GACZmD,QAAQC,IAAIK,GAkBlB,SAAoBzD,EAASyD,GAC3B,IAAIQ,EAAUjE,EAAQE,cAAc,kCACpC,GAAI+D,EAAS,CACX,IAAIC,EAAMT,EAAKQ,QACXR,EAAKQ,QACL,6GACJA,EAAQC,IAAMA,CAChB,CACF,CAzBMC,CAAWnE,EAASyD,EACtB,IACAjD,EAAK4D,OACP,GACF,CAxF0BC,CAAUrE,EAAQ,G","file":"js/15-be4b987784bd11bc4502.chunk.js","sourcesContent":["import { Modal } from \"bootstrap\";\nimport \"data-confirm-modal\";\n\nimport Uppy from \"@uppy/core\";\nimport Dashboard from \"@uppy/dashboard\";\nimport ActiveStorageUpload from \"@excid3/uppy-activestorage-upload\";\nimport Url from \"@uppy/url\";\nimport Compressor from \"@uppy/compressor\";\nimport ImageEditor from \"@uppy/image-editor\";\n\nimport \"@uppy/core/dist/style.css\";\nimport \"@uppy/dashboard/dist/style.css\";\nimport \"@uppy/image-editor/dist/style.css\";\nimport \"@uppy/url/dist/style.css\";\n\nlet uppyInstances = document.querySelectorAll(\"[data-uppy]\") || [];\nlet uppyDocInstances = document.querySelectorAll(\"[data-doc-uppy]\") || [];\n\nif (\n uppyInstances.length > 0 &&\n uppyInstances.length > uppyDocInstances.length\n) {\n document\n .querySelectorAll(\"[data-uppy]\")\n .forEach((element) => setupUppy(element));\n}\n\nfunction setupUppy(element) {\n let trigger = element.querySelector('[data-behavior=\"uppy-trigger\"]');\n let form = element.closest(\"form\");\n let direct_upload_url = document\n .querySelector(\"meta[name='direct-upload-url']\")\n .getAttribute(\"content\");\n let field_name = element.dataset.uppy;\n trigger.addEventListener(\"click\", (event) => event.preventDefault());\n\n let uppy = new Uppy({\n autoProceed: false,\n allowMultipleUploads: false,\n logger: Uppy.debugLogger,\n restrictions: {\n maxFileSize: 5200000,\n maxNumberOfFiles: 1,\n minNumberOfFiles: 1,\n allowedFileTypes: [\"image/*\"],\n },\n });\n\n uppy.use(ActiveStorageUpload, {\n directUploadUrl: direct_upload_url,\n });\n\n uppy.use(Dashboard, {\n trigger: trigger,\n inline: false,\n closeAfterFinish: false,\n });\n\n // uppy.use(Url, {\n // target: Dashboard,\n // companionUrl: \"https://companion.uppy.io/\",\n // locale: {},\n // });\n\n uppy.use(ImageEditor, {\n target: Dashboard,\n quality: 1,\n cropperOptions: {\n viewMode: 1,\n background: false,\n autoCropArea: 1,\n responsive: true,\n croppedCanvasOptions: {},\n },\n actions: {\n revert: true,\n rotate: true,\n granularRotate: true,\n flip: true,\n zoomIn: true,\n zoomOut: true,\n cropSquare: true,\n cropWidescreen: true,\n cropWidescreenVertical: true,\n },\n });\n\n uppy.use(Compressor, {\n quality: 0.6,\n limit: 10,\n });\n\n uppy.on(\"complete\", (result) => {\n // Rails.ajax\n // or show a preview:\n\n console.log(\"successful files:\", result.successful);\n console.log(\"failed files:\", result.failed);\n\n element\n .querySelectorAll(\"[data-pending-upload]\")\n .forEach((element) => element.parentNode.removeChild(element));\n\n result.successful.forEach((file) => {\n appendUploadedFile(element, file, field_name);\n console.log(\"done!\");\n console.log(element);\n console.log(file);\n setPreview(element, file);\n });\n uppy.reset();\n });\n}\n\nfunction appendUploadedFile(element, file, field_name) {\n const hiddenField = document.createElement(\"input\");\n\n hiddenField.setAttribute(\"type\", \"hidden\");\n hiddenField.setAttribute(\"name\", field_name);\n hiddenField.setAttribute(\"data-pending-upload\", true);\n hiddenField.setAttribute(\"value\", file.response.signed_id);\n\n element.appendChild(hiddenField);\n}\n\nfunction setPreview(element, file) {\n let preview = element.querySelector('[data-behavior=\"uppy-preview\"]');\n if (preview) {\n let src = file.preview\n ? file.preview\n : \"https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSpj0DBTVsaja01_xWh37bcutvpd7rh7zEd528HD0d_l6A73osY\";\n preview.src = src;\n }\n}\n"],"sourceRoot":""}