{"version":3,"file":"js/videocomment-288752f141f8fd4be35d.js","mappings":"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","sources":["webpack://nzsl_share/./app/frontend/components/video-comment.js","webpack://nzsl_share/./app/frontend/packs/videocomment.js"],"sourcesContent":["import { initialHTML, errorHTML } from './file-upload';\n\nimport uppyFileUpload from './uppy-file-upload';\nimport signVideoRestrictions from './uppy/signVideoRestrictions';\n\nconst signVideoCommentController = container => {\n const receiver = container.querySelector(\n \"input[data-sign-video-comment-target='receiver']\"\n );\n\n const uppy = uppyFileUpload(container, {\n uppy: {\n restrictions: {\n ...signVideoRestrictions,\n maxNumberOfFiles: 1\n }\n },\n dashboard: {\n hideRetryButton: true\n }\n });\n\n uppy.on('complete', result => {\n const [file] = result.successful;\n if (!file) {\n return;\n }\n\n receiver.value = file.response.signed_id;\n receiver.form.requestSubmit();\n });\n};\n\n$(() => {\n $(\"[data-controller='sign-video-comment']\").each((_idx, container) =>\n signVideoCommentController(container)\n );\n});\n\nconst handleCommentAttachmentUpload = $container => {\n const $content = $container.find('.file-upload__content');\n const $field = $container.find(\n `input[name=\"${$container.data('fileUploadController')}\"]`\n );\n const listSelector = '.video-comment';\n const signId = $container.data('signId');\n const signedBlobId = $field.val();\n const folder = document.getElementById('sign_comment_folder');\n const folderId = $(folder).children('option:selected').val();\n\n $.ajaxSetup({\n headers: { 'X-CSRF-TOKEN': $(\"meta[name='csrf-token']\").attr('content') }\n });\n\n // eslint-disable-next-line camelcase\n return $.post(`/signs/${signId}/video_comment`, {\n // eslint-disable-next-line camelcase\n signed_blob_id: signedBlobId,\n // eslint-disable-next-line camelcase\n folder_id: folderId,\n format: 'js'\n })\n .done(() => {\n $(listSelector).load(`${window.location} ${listSelector} > *`);\n const fieldName = $field.attr('name');\n $field.filter(\"input[type='hidden']\").remove();\n $content.html(initialHTML(fieldName));\n })\n .fail(xhr => {\n let errorMessage = 'Something went wrong.';\n if (xhr.status === 422) {\n errorMessage = xhr.responseJSON.join(', ');\n }\n\n $content.html(errorHTML(errorMessage));\n });\n};\n\nconst handleCommentReplyAttachmentUpload = $container => {\n const $content = $container.find('.file-upload__content');\n const $field = $container.find(\n `input[name=\"${$container.data('fileUploadController')}\"]`\n );\n const listSelector = '.video-comment-reply';\n const signId = $container.data('signId');\n const parentId = $container.data('parentId');\n const signedBlobId = $field.val();\n const folderId = $container.data('folderId');\n\n $.ajaxSetup({\n headers: { 'X-CSRF-TOKEN': $(\"meta[name='csrf-token']\").attr('content') }\n });\n\n // eslint-disable-next-line camelcase\n return $.post(`/signs/${signId}/video_comment`, {\n // eslint-disable-next-line camelcase\n signed_blob_id: signedBlobId,\n // eslint-disable-next-line camelcase\n parent_id: parentId,\n // eslint-disable-next-line camelcase\n folder_id: folderId,\n format: 'js'\n })\n .done(() => {\n $(listSelector).load(`${window.location} ${listSelector} > *`);\n const fieldName = $field.attr('name');\n $field.filter(\"input[type='hidden']\").remove();\n $content.html(initialHTML(fieldName));\n })\n .fail(xhr => {\n let errorMessage = 'Something went wrong.';\n if (xhr.status === 422) {\n errorMessage = xhr.responseJSON.join(', ');\n }\n\n $content.html(errorHTML(errorMessage));\n });\n};\n\nconst handleAttachmentRemoval = type =>\n $(`.sign-${type}`).load(`${window.location} .sign-${type} > *`);\n\n$(document).on('upload-success', '.video-comment-file-upload-reply', event => {\n handleCommentReplyAttachmentUpload($(event.target));\n});\n\n$(document).on('upload-success', '.video-comment-file-upload', event => {\n handleCommentAttachmentUpload($(event.target));\n});\n\n$(document).on(\n 'ajax:success',\n \".video-comment-reply a[data-method='delete']\",\n () => {\n handleAttachmentRemoval('video-comment-reply');\n }\n);\n\n$(document).on('ajax:success', \".video-comment a[data-method='delete']\", () => {\n handleAttachmentRemoval('video-comment');\n});\n","// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript and only use these pack files to reference\n// that code so it'll be compiled.\n//\n// To reference this file, add <%= javascript_pack_tag 'contributions' %> to the appropriate\n// layout file, like app/views/layouts/application.html.erb\n\nrequire.context('../images', true);\nimport '../components/file-upload';\nimport '../components/video-comment';\n"],"names":["$","each","_idx","container","receiver","querySelector","uppyFileUpload","uppy","restrictions","_objectSpread","signVideoRestrictions","maxNumberOfFiles","dashboard","hideRetryButton","on","result","file","_slicedToArray","successful","value","response","signed_id","form","requestSubmit","signVideoCommentController","handleAttachmentRemoval","type","concat","load","window","location","document","event","$container","$content","$field","listSelector","signId","parentId","signedBlobId","folderId","target","find","data","val","ajaxSetup","headers","attr","post","signed_blob_id","parent_id","folder_id","format","done","fieldName","filter","remove","html","initialHTML","fail","xhr","errorMessage","status","responseJSON","join","errorHTML","folder","getElementById","children","require"],"sourceRoot":""}