{"version":3,"file":"js/videocomment-41e9c04b8581e3e9e677.js","mappings":"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","sources":["webpack://nzsl_share/./app/frontend/images/ sync ^\\.\\/.*$","webpack://nzsl_share/./app/frontend/components/file-upload.js","webpack://nzsl_share/./app/frontend/components/uppy/ActiveStorageUpload.js","webpack://nzsl_share/./app/frontend/components/uppy-file-upload.js","webpack://nzsl_share/./app/frontend/components/uppy/signVideoRestrictions.js","webpack://nzsl_share/./app/frontend/components/video-comment.js","webpack://nzsl_share/./app/frontend/packs/videocomment.js"],"sourcesContent":["var map = {\n\t\"./ackama-lockup.svg\": 2386,\n\t\"./add-2.svg\": 2103,\n\t\"./add.svg\": 526,\n\t\"./admin/archived.svg\": 2991,\n\t\"./admin/pending.svg\": 7238,\n\t\"./admin/published.svg\": 5513,\n\t\"./agree.svg\": 1235,\n\t\"./archive.svg\": 2037,\n\t\"./avatar.svg\": 9962,\n\t\"./bad-example.jpg\": 1864,\n\t\"./bell.svg\": 4218,\n\t\"./by-nc-sa.png\": 9672,\n\t\"./camera.svg\": 1016,\n\t\"./checkbox-checked.svg\": 5134,\n\t\"./checkbox-hover.svg\": 5651,\n\t\"./checkbox.svg\": 4290,\n\t\"./chevron-right.svg\": 6847,\n\t\"./chosen-sprite-adjusted.png\": 8889,\n\t\"./chosen-sprite.png\": 4900,\n\t\"./chosen-sprite@2x.png\": 3444,\n\t\"./close.svg\": 407,\n\t\"./comment.svg\": 4672,\n\t\"./control-play.svg\": 6951,\n\t\"./disagree.svg\": 421,\n\t\"./dropdown-light.svg\": 6665,\n\t\"./dropdown.svg\": 1810,\n\t\"./dummy.mp4\": 8708,\n\t\"./edit.svg\": 8505,\n\t\"./emotsmile.svg\": 4946,\n\t\"./external-link.svg\": 3605,\n\t\"./eye.svg\": 2504,\n\t\"./facebook-light.svg\": 9546,\n\t\"./facebook.svg\": 5185,\n\t\"./flag.svg\": 2195,\n\t\"./folder-add.svg\": 2827,\n\t\"./folder-alt.svg\": 2563,\n\t\"./folder-collection.svg\": 2486,\n\t\"./folder-success.svg\": 4791,\n\t\"./github.svg\": 8228,\n\t\"./good-example.jpg\": 8996,\n\t\"./hero-image.jpg\": 9750,\n\t\"./hero-play-dropshadow.svg\": 1942,\n\t\"./hero-play.svg\": 1476,\n\t\"./hero-thumbnail.jpg\": 2961,\n\t\"./home-intro.mp4\": 9658,\n\t\"./home-intro.webm\": 5942,\n\t\"./home.svg\": 4748,\n\t\"./home/camera-2.svg\": 3191,\n\t\"./home/conversation-check.svg\": 6029,\n\t\"./home/folder.svg\": 9651,\n\t\"./home/rectangle.svg\": 9222,\n\t\"./home/upload.svg\": 832,\n\t\"./learn-NZSL-sq.png\": 7879,\n\t\"./logo-stacked.svg\": 472,\n\t\"./logo.svg\": 3208,\n\t\"./moderator.svg\": 3774,\n\t\"./nzsl-share-favicon.svg\": 8621,\n\t\"./nzsl_logo.jpg\": 4333,\n\t\"./ok.svg\": 7491,\n\t\"./options.svg\": 2241,\n\t\"./private.svg\": 6318,\n\t\"./processing.svg\": 7540,\n\t\"./radio-checked.svg\": 2554,\n\t\"./radio-hover.svg\": 4079,\n\t\"./radio.svg\": 5662,\n\t\"./record.svg\": 5818,\n\t\"./remove.svg\": 3289,\n\t\"./reply.svg\": 4603,\n\t\"./search.svg\": 5797,\n\t\"./share.svg\": 6426,\n\t\"./table.svg\": 5683,\n\t\"./tags.svg\": 8006,\n\t\"./text.svg\": 7488,\n\t\"./tick.svg\": 1170,\n\t\"./trash.svg\": 2065,\n\t\"./twitter.svg\": 7742,\n\t\"./user.svg\": 4948,\n\t\"./users.svg\": 5327,\n\t\"./video-play.svg\": 6721\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 8257;","import { DirectUploadController } from '@rails/activestorage/src/direct_upload_controller';\n\nconst uploadUrl = '/rails/active_storage/direct_uploads';\nconst wrapBlobCreateError = error => {\n const prefix = 'Error creating Blob for';\n const message = error.message ? error.message : error;\n if (!message.startsWith(prefix)) {\n return error;\n }\n return 'The file you selected does not comply with our upload guidelines.';\n};\n\n// Always prevent the default browser behaviour of attempting to open a dropped file\n$(document).on(\n 'drag dragstart dragend dragover dragenter dragleave drop',\n event => {\n event.preventDefault();\n event.stopPropagation();\n }\n);\n\nconst FileUpload = (_index, container) => {\n const $container = $(container).empty();\n const fieldName = $container.data('fileUploadController');\n const $content = $(\"
\").prependTo(\n $container\n );\n const $input = $(``).appendTo($container);\n\n $content.html(initialHTML(fieldName));\n\n $container\n .on('direct-upload:start', $input, () => $content.html(pendingHTML()))\n .on(\n 'direct-upload:error',\n $input,\n event => $container.trigger('upload-error', event.detail.error) && false\n )\n .on('dragover dragenter', () =>\n $container.addClass('file-upload--dragged-over')\n )\n .on('dragleave dragend drop', () =>\n $container.removeClass('file-upload--dragged-over')\n )\n .on('upload-error', (_event, error) => $content.html(errorHTML(error)))\n .on('click', '.file-upload__reset', event => {\n event.preventDefault();\n $content.html(initialHTML(fieldName));\n })\n .on('change', $input, event => {\n const input = $input.get(0);\n const fileSize = input.files[0].size / 1024 / 1024; // in MB\n\n if (fileSize > 250) {\n // same file size as app/models/signs.rb MAXIMUM_VIDEO_FILE_SIZE\n return $container.trigger(\n 'upload-error',\n new Error(\n `Upload failed - file is too large (${Math.round(fileSize)} MB)`\n )\n );\n }\n\n input.setAttribute('data-direct-upload-url', uploadUrl);\n input.disabled = true;\n\n new DirectUploadController(event.target, event.target.files[0]).start(\n error => {\n input.disabled = false;\n input.removeAttribute('data-direct-upload-url');\n if (error) {\n return $container.trigger(\n 'upload-error',\n wrapBlobCreateError(error)\n );\n }\n $container.trigger('upload-success');\n }\n );\n })\n .on('direct-upload:progress', $input, event => {\n const {\n progress,\n file: { name: filename }\n } = event.detail;\n $content.html(progressHTML(Math.round(progress || 0), filename));\n })\n .on('drop', event => {\n $input\n .prop('files', event.originalEvent.dataTransfer.files)\n .trigger('change');\n });\n};\n\n$(document).ready(() => $('[data-file-upload-controller]').each(FileUpload));\n\n// Templates\nconst initialHTML = field =>\n `

Drag and drop your file here

\n \n\n
\n `;\n\nconst pendingHTML = () =>\n `
\n
Processing, please wait...
\n ${progressIndicator('indeterminate')}\n
`;\n\nconst errorHTML = error =>\n `
\n

${error.message ? error.message : error}

\n Try again.\n
`;\n\nconst progressHTML = (progress, filename) =>\n `
\n
File(s) uploading(${filename})… ${progress}%
\n ${progressIndicator(`progress-${progress}`)}\n
`;\n\nconst progressIndicator = progress =>\n `\n \n\n \n\n `;\n\nexport { initialHTML, errorHTML, progressHTML, pendingHTML };\n","import { BasePlugin } from '@uppy/core';\nimport { nanoid } from 'nanoid';\nimport settle from '@uppy/utils/lib/settle';\nimport EventTracker from '@uppy/utils/lib/EventTracker';\nimport ProgressTimeout from '@uppy/utils/lib/ProgressTimeout';\nimport {\n RateLimitedQueue,\n internalRateLimitedQueue\n} from '@uppy/utils/lib/RateLimitedQueue';\nimport { DirectUpload } from '@rails/activestorage';\n\n// History of this file:\n// Based on https://github.com/brainzllc/uppy-activestorage-upload\n// which is forked from https://github.com/Sega-Aero/uppy-activestorage-upload\n// which is forked from https://github.com/corknine/uppy-activestorage-upload\n// which is forked from https://github.com/excid3/uppy-activestorage-upload\n// which is forked from https://github.com/Rudiney/uppy-activestorage-upload\n// which is forked from https://github.com/glenbray/uppy-activestorage-upload\n// which is forked from https://github.com/Sology/uppy-activestorage-upload\n//\n// Each of these forks added _something_, and even the original we've had\n// to update the imports to ES style.\n// Because there is no trustworthy fork to actually trust to fix bugs\n// going forward, I prefer just vendoring this to make it easier to see\n// what's going on.\nclass ActiveStorageUpload extends BasePlugin {\n constructor(uppy, opts) {\n super(uppy, opts);\n this.type = 'uploader';\n this.id = this.opts.id || 'ActiveStorage';\n this.title = 'ActiveStorage';\n\n this.defaultLocale = {\n strings: {\n timedOut: 'Upload stalled for %{seconds} seconds, aborting.'\n }\n };\n\n // Default options\n const defaultOptions = {\n limit: 5,\n timeout: 30 * 1000,\n directUploadUrl: null\n };\n\n this.opts = { ...defaultOptions, ...opts };\n\n this.handleUpload = this.handleUpload.bind(this);\n\n // Simultaneous upload limiting is shared across all uploads with this plugin.\n if (internalRateLimitedQueue in this.opts) {\n this.requests = this.opts[internalRateLimitedQueue];\n } else {\n this.requests = new RateLimitedQueue(this.opts.limit);\n }\n\n this.uploaderEvents = Object.create(null);\n }\n\n upload(file, current, total) {\n const opts = this.opts;\n\n this.uppy.log(`uploading ${current} of ${total}`);\n return new Promise((resolve, reject) => {\n this.uppy.emit('upload-started', file);\n\n var directHandlers = {\n directUploadWillStoreFileWithXHR: null,\n directUploadDidProgress: null\n };\n directHandlers.directUploadDidProgress = ev => {\n this.uppy.log(\n `[ActiveStorage] ${id} progress: ${ev.loaded} / ${ev.total}`\n );\n // Begin checking for timeouts when progress starts, instead of loading,\n // to avoid timing out requests on browser concurrency queue\n timer.progress();\n\n if (ev.lengthComputable) {\n this.uppy.emit('upload-progress', file, {\n uploader: this,\n bytesUploaded: ev.loaded,\n bytesTotal: ev.total\n });\n }\n };\n directHandlers.directUploadWillStoreFileWithXHR = request => {\n request.upload.addEventListener('progress', event =>\n directHandlers.directUploadDidProgress(event)\n );\n };\n\n const { data, meta } = file;\n\n if (!data.name && meta.name) {\n data.name = meta.name;\n }\n\n const upload = new DirectUpload(\n data,\n this.opts.directUploadUrl,\n directHandlers\n );\n this.uploaderEvents[file.id] = new EventTracker(this.uppy);\n\n const timer = new ProgressTimeout(opts.timeout, () => {\n upload.abort();\n queuedRequest.done();\n const error = new Error(\n this.i18n('timedOut', { seconds: Math.ceil(opts.timeout / 1000) })\n );\n this.uppy.emit('upload-error', file, error);\n reject(error);\n });\n\n const id = nanoid();\n\n const handleDirectUpload = (error, blob) => {\n this.uppy.log(`[ActiveStorage] ${id} finished`);\n timer.done();\n queuedRequest.done();\n if (this.uploaderEvents[file.id]) {\n this.uploaderEvents[file.id].remove();\n this.uploaderEvents[file.id] = null;\n }\n\n if (!error) {\n this.uppy.emit('upload-success', file, blob);\n\n return resolve(file);\n }\n\n this.uppy.log(`[ActiveStorage] ${id} errored`);\n timer.done();\n queuedRequest.done();\n if (this.uploaderEvents[file.id]) {\n this.uploaderEvents[file.id].remove();\n this.uploaderEvents[file.id] = null;\n }\n\n this.uppy.emit('upload-error', file, error);\n return reject(error);\n };\n\n const queuedRequest = this.requests.run(() => {\n this.uppy.emit('upload-started', file);\n\n upload.create(handleDirectUpload);\n\n return () => {\n timer.done();\n upload.abort();\n };\n });\n\n this.onFileRemove(file.id, () => {\n queuedRequest.abort();\n reject(new Error('File removed'));\n });\n\n this.onCancelAll(file.id, () => {\n queuedRequest.abort();\n reject(new Error('Upload cancelled'));\n });\n });\n }\n\n uploadFiles(files) {\n const promises = files.map((file, i) => {\n const current = parseInt(i, 10) + 1;\n const total = files.length;\n\n if (file.error) {\n return Promise.reject(new Error(file.error));\n }\n return this.upload(file, current, total);\n });\n\n return settle(promises);\n }\n\n onFileRemove(fileID, cb) {\n this.uploaderEvents[fileID].on('file-removed', file => {\n if (fileID === file.id) {\n cb(file.id);\n }\n });\n }\n\n onRetry(fileID, cb) {\n this.uploaderEvents[fileID].on('upload-retry', targetFileID => {\n if (fileID === targetFileID) {\n cb();\n }\n });\n }\n\n onRetryAll(fileID, cb) {\n this.uploaderEvents[fileID].on('retry-all', () => {\n if (!this.uppy.getFile(fileID)) {\n return;\n }\n cb();\n });\n }\n\n onCancelAll(fileID, cb) {\n this.uploaderEvents[fileID].on('cancel-all', () => {\n if (!this.uppy.getFile(fileID)) {\n return;\n }\n cb();\n });\n }\n\n handleUpload(fileIDs) {\n if (fileIDs.length === 0) {\n this.uppy.log('[ActiveStorage] No files to upload!');\n return Promise.resolve();\n }\n\n // No limit configured by the user, and no RateLimitedQueue passed in by a \"parent\" plugin\n // (basically just AwsS3) using the internal symbol\n if (this.opts.limit === 0 && !this.opts[internalRateLimitedQueue]) {\n this.uppy.log(\n '[ActiveStorage] When uploading multiple files at once, consider setting the `limit` option (to `10` for example), to limit the number of concurrent uploads, which helps prevent memory and network issues: https://uppy.io/docs/xhr-upload/#limit-0',\n 'warning'\n );\n }\n\n this.uppy.log('[ActiveStorage] Uploading...');\n const files = fileIDs.map(fileID => this.uppy.getFile(fileID));\n\n return this.uploadFiles(files).then(() => null);\n }\n\n install() {\n this.uppy.addUploader(this.handleUpload);\n }\n\n uninstall() {\n this.uppy.removeUploader(this.handleUpload);\n }\n}\n\nexport default ActiveStorageUpload;\n","import Uppy from '@uppy/core';\nimport Dashboard from '@uppy/dashboard';\nimport DropTarget from '@uppy/drop-target';\nimport Webcam from '@uppy/webcam';\nimport ActiveStorageUpload from './uppy/ActiveStorageUpload';\n\nconst uppyFileUpload = (container, options = {}) => {\n const uppy = new Uppy({\n id: container.id,\n locale: {\n strings: {\n youCanOnlyUploadX: {\n 0: 'You can only upload %{smart_count} file at a time',\n 1: 'You can only upload %{smart_count} file(s) at a time'\n }\n }\n },\n ...options.uppy\n });\n\n uppy.use(DropTarget, { target: document.body });\n uppy.use(Webcam, {\n modes: 'video-only',\n countdown: true,\n videoConstraints: {\n aspectRatio: {\n ideal: 1.7777777778 // 16x9\n }\n },\n locale: {\n strings: {\n pluginNameCamera: 'Video recording',\n noCameraDescription:\n 'In order to record video with your camera, please connect a camera device.',\n allowAccessDescription:\n 'In order to record video with your camera, please allow camera access for this site.'\n }\n }\n });\n\n uppy.use(ActiveStorageUpload, {\n directUploadUrl: '/rails/active_storage/direct_uploads'\n });\n\n uppy.use(Dashboard, {\n inline: true,\n target: container,\n proudlyDisplayPoweredByUppy: false,\n plugins: ['Webcam'],\n locale: {\n strings: {\n ...options?.dashboard?.locale?.strings,\n dropPasteImportFiles: 'Drop files here, or %{browseFiles}'\n }\n },\n ...options.dashboard\n });\n\n return uppy;\n};\n\nexport default uppyFileUpload;\n\n$(() =>\n $(\"[data-controller='file-upload']\").each((_idx, container) =>\n uppyFileUpload(container)\n )\n);\n","export const maxFileSizeMb = 250;\nexport const restrictions = {\n maxFileSize: maxFileSizeMb * 1024 * 1024,\n maxNumberOfFiles: 1,\n minNumberOfFiles: 1,\n allowedFileTypes: ['video/*', 'application/mp4']\n};\n\nexport default restrictions;\n","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":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","$","document","on","event","preventDefault","stopPropagation","FileUpload","_index","container","$container","empty","fieldName","data","$content","prependTo","$input","appendTo","html","initialHTML","pendingHTML","trigger","detail","error","addClass","removeClass","_event","errorHTML","input","get","fileSize","files","size","Math","round","setAttribute","disabled","DirectUploadController","target","start","removeAttribute","message","startsWith","wrapBlobCreateError","progress","file","name","filename","progressHTML","prop","originalEvent","dataTransfer","ready","each","field","progressIndicator","ActiveStorageUpload","BasePlugin","constructor","uppy","opts","super","this","type","title","defaultLocale","strings","timedOut","limit","timeout","directUploadUrl","handleUpload","bind","internalRateLimitedQueue","requests","RateLimitedQueue","uploaderEvents","create","upload","current","total","log","Promise","reject","emit","directHandlers","directUploadWillStoreFileWithXHR","directUploadDidProgress","ev","loaded","timer","lengthComputable","uploader","bytesUploaded","bytesTotal","request","addEventListener","meta","DirectUpload","EventTracker","ProgressTimeout","abort","queuedRequest","done","i18n","seconds","ceil","nanoid","handleDirectUpload","blob","remove","run","onFileRemove","onCancelAll","uploadFiles","promises","i","parseInt","length","settle","fileID","cb","onRetry","targetFileID","onRetryAll","getFile","fileIDs","then","install","addUploader","uninstall","removeUploader","uppyFileUpload","options","Uppy","locale","youCanOnlyUploadX","use","DropTarget","body","Webcam","modes","countdown","videoConstraints","aspectRatio","ideal","pluginNameCamera","noCameraDescription","allowAccessDescription","Dashboard","inline","proudlyDisplayPoweredByUppy","plugins","dashboard","dropPasteImportFiles","_idx","maxFileSize","maxFileSizeMb","maxNumberOfFiles","minNumberOfFiles","allowedFileTypes","receiver","querySelector","restrictions","signVideoRestrictions","hideRetryButton","result","successful","value","response","signed_id","form","requestSubmit","signVideoCommentController","handleAttachmentRemoval","load","window","location","find","$field","listSelector","signId","parentId","signedBlobId","val","folderId","ajaxSetup","headers","attr","post","signed_blob_id","parent_id","folder_id","format","filter","fail","xhr","errorMessage","status","responseJSON","join","handleCommentReplyAttachmentUpload","folder","getElementById","children","handleCommentAttachmentUpload","require"],"sourceRoot":""}