udata 7.0.8.dev28841__py2.py3-none-any.whl → 8.0.1__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of udata might be problematic. Click here for more details.

Files changed (56) hide show
  1. udata/__init__.py +1 -1
  2. udata/api/__init__.py +6 -4
  3. udata/api/oauth2.py +2 -1
  4. udata/api_fields.py +254 -0
  5. udata/core/badges/models.py +2 -1
  6. udata/core/dataservices/__init__.py +0 -0
  7. udata/core/dataservices/api.py +84 -0
  8. udata/core/dataservices/models.py +130 -0
  9. udata/core/dataset/apiv2.py +2 -0
  10. udata/core/dataset/models.py +1 -0
  11. udata/core/dataset/rdf.py +21 -1
  12. udata/core/metrics/commands.py +18 -3
  13. udata/core/metrics/models.py +2 -3
  14. udata/core/organization/api_fields.py +28 -3
  15. udata/core/organization/models.py +3 -1
  16. udata/core/owned.py +39 -2
  17. udata/core/spatial/api.py +5 -10
  18. udata/core/spatial/models.py +7 -2
  19. udata/core/spatial/tasks.py +7 -0
  20. udata/core/spatial/tests/test_api.py +26 -0
  21. udata/core/user/api.py +11 -7
  22. udata/core/user/models.py +13 -2
  23. udata/harvest/backends/dcat.py +14 -8
  24. udata/harvest/tests/dcat/catalog.xml +1 -0
  25. udata/harvest/tests/test_dcat_backend.py +3 -0
  26. udata/routing.py +6 -0
  27. udata/settings.py +4 -1
  28. udata/static/admin.css +2 -2
  29. udata/static/admin.css.map +1 -1
  30. udata/static/chunks/{0.6f1698738c9b0618b673.js → 0.93c3ae13b5b94753ee80.js} +3 -3
  31. udata/static/chunks/0.93c3ae13b5b94753ee80.js.map +1 -0
  32. udata/static/chunks/{14.f4037a917d5364cb564b.js → 14.e64890872b31c55fcdf7.js} +2 -2
  33. udata/static/chunks/14.e64890872b31c55fcdf7.js.map +1 -0
  34. udata/static/chunks/{2.7c89fae92899be371ed3.js → 2.614b3e73b072982fd9b1.js} +2 -2
  35. udata/static/chunks/2.614b3e73b072982fd9b1.js.map +1 -0
  36. udata/static/chunks/{5.3dc97ea195d251881552.js → 5.48417db6b33328fa9d6a.js} +2 -2
  37. udata/static/chunks/5.48417db6b33328fa9d6a.js.map +1 -0
  38. udata/static/common.js +1 -1
  39. udata/static/common.js.map +1 -1
  40. udata/tasks.py +1 -0
  41. udata/tests/api/__init__.py +3 -0
  42. udata/tests/api/test_dataservices_api.py +236 -0
  43. udata/tests/api/test_organizations_api.py +78 -5
  44. udata/tests/api/test_user_api.py +47 -13
  45. udata/tests/plugin.py +5 -0
  46. {udata-7.0.8.dev28841.dist-info → udata-8.0.1.dist-info}/METADATA +17 -3
  47. {udata-7.0.8.dev28841.dist-info → udata-8.0.1.dist-info}/RECORD +51 -46
  48. udata/core/metrics/api.py +0 -10
  49. udata/static/chunks/0.6f1698738c9b0618b673.js.map +0 -1
  50. udata/static/chunks/14.f4037a917d5364cb564b.js.map +0 -1
  51. udata/static/chunks/2.7c89fae92899be371ed3.js.map +0 -1
  52. udata/static/chunks/5.3dc97ea195d251881552.js.map +0 -1
  53. {udata-7.0.8.dev28841.dist-info → udata-8.0.1.dist-info}/LICENSE +0 -0
  54. {udata-7.0.8.dev28841.dist-info → udata-8.0.1.dist-info}/WHEEL +0 -0
  55. {udata-7.0.8.dev28841.dist-info → udata-8.0.1.dist-info}/entry_points.txt +0 -0
  56. {udata-7.0.8.dev28841.dist-info → udata-8.0.1.dist-info}/top_level.txt +0 -0
@@ -6,5 +6,5 @@ this._customHeadersStore.set(e,t)},setCustomResumeData:function(e,t){this._custo
6
6
  var t,n=o[e].additionalParams,i=r.mandatedParams;return r.paramsStore.get&&(t=r.paramsStore.get(e)),n&&qq.each(n,function(e,n){t=t||{},t[e]=n}),i&&qq.each(i,function(e,n){t=t||{},t[e]=n}),t}function sendRequest(e,i){var a,s=getXhrOrXdr(e,i),l=r.method,d=getParams(e),u=o[e].payload;return r.onSend(e),a=createUrl(e,d,o[e].additionalQueryParams),isXdr(s)?(s.onload=getXdrLoadHandler(e),s.onerror=getXdrErrorHandler(e)):s.onreadystatechange=getXhrReadyStateChangeHandler(e),registerForUploadProgress(e),s.open(l,a,!0),r.cors.expected&&r.cors.sendCredentials&&!isXdr(s)&&(s.withCredentials=!0),setHeaders(e),t("Sending "+l+" request for "+e),u?s.send(u):n||!d?s.send():d&&r.contentType&&r.contentType.toLowerCase().indexOf("application/x-www-form-urlencoded")>=0?s.send(qq.obj2url(d,"")):d&&r.contentType&&r.contentType.toLowerCase().indexOf("application/json")>=0?s.send(JSON.stringify(d)):s.send(d),s}function createUrl(e,t,i){var a=r.endpointStore.get(e),s=o[e].addToPath;return void 0!=s&&(a+="/"+s),n&&t&&(a=qq.obj2url(t,a)),i&&(a=qq.obj2url(i,a)),a}function getXhrReadyStateChangeHandler(e){return function(){4===getXhrOrXdr(e).readyState&&onComplete(e)}}function registerForUploadProgress(e){var t=r.onProgress;t&&(getXhrOrXdr(e).upload.onprogress=function(n){n.lengthComputable&&t(e,n.loaded,n.total)})}function getXdrLoadHandler(e){return function(){onComplete(e)}}function getXdrErrorHandler(e){return function(){onComplete(e,!0)}}function setHeaders(e){var t=getXhrOrXdr(e),n=r.customHeaders,i=o[e].additionalHeaders||{},a=r.method,s={};isXdr(t)||(r.acceptHeader&&t.setRequestHeader("Accept",r.acceptHeader),r.allowXRequestedWithAndCacheControl&&(r.cors.expected&&isSimpleMethod()&&!containsNonSimpleHeaders(n)||(t.setRequestHeader("X-Requested-With","XMLHttpRequest"),t.setRequestHeader("Cache-Control","no-cache"))),!r.contentType||"POST"!==a&&"PUT"!==a||t.setRequestHeader("Content-Type",r.contentType),qq.extend(s,qq.isFunction(n)?n(e):n),qq.extend(s,i),qq.each(s,function(e,n){t.setRequestHeader(e,n)}))}function isResponseSuccessful(e){return qq.indexOf(r.successfulResponseCodes[r.method],e)>=0}function prepareToSend(e,t,n,a,s,l,d){o[e]={addToPath:n,additionalParams:a,additionalQueryParams:s,additionalHeaders:l,payload:d};var u=i.push(e);if(u<=r.maxConnections)return sendRequest(e,t)}var t,n,i=[],o={},r={acceptHeader:null,validMethods:["PATCH","POST","PUT"],method:"POST",contentType:"application/x-www-form-urlencoded",maxConnections:3,customHeaders:{},endpointStore:{},paramsStore:{},mandatedParams:{},allowXRequestedWithAndCacheControl:!0,successfulResponseCodes:{DELETE:[200,202,204],PATCH:[200,201,202,203,204],POST:[200,201,202,203,204],PUT:[200,201,202,203,204],GET:[200]},cors:{expected:!1,sendCredentials:!1},log:function(e,t){},onSend:function(e){},onComplete:function(e,t,n){},onProgress:null};if(qq.extend(r,e),t=r.log,qq.indexOf(r.validMethods,r.method)<0)throw new Error("'"+r.method+"' is not a supported method for this type of request!");n="GET"===r.method||"DELETE"===r.method,qq.extend(this,{initTransport:function(e){var t,n,i,o,a,s;return{withPath:function(e){return t=e,this},withParams:function(e){return n=e,this},withQueryParams:function(e){return s=e,this},withHeaders:function(e){return i=e,this},withPayload:function(e){return o=e,this},withCacheBuster:function(){return a=!0,this},send:function(l){return a&&qq.indexOf(["GET","DELETE"],r.method)>=0&&(n.qqtimestamp=(new Date).getTime()),prepareToSend(e,l,t,n,s,i,o)}}},canceled:function(e){dequeue(e)}})},qq.UploadHandler=function(e){"use strict";var t=e.proxy,n={},i=t.onCancel,o=t.getName;qq.extend(this,{add:function(e,t){n[e]=t,n[e].temp={}},cancel:function(e){var t=this,r=new qq.Promise,a=i(e,o(e),r);a.then(function(){t.isValid(e)&&(n[e].canceled=!0,t.expunge(e)),r.success()})},expunge:function(e){delete n[e]},getThirdPartyFileId:function(e){return n[e].key},isValid:function(e){return void 0!==n[e]},reset:function(){n={}},_getFileState:function(e){return n[e]},_setThirdPartyFileId:function(e,t){n[e].key=t},_wasCanceled:function(e){return!!n[e].canceled}})},qq.UploadHandlerController=function(e,t){"use strict";var n,i,o,r=this,a=!1,s=!1,l={paramsStore:{},maxConnections:3,chunking:{enabled:!1,multiple:{enabled:!1}},log:function(e,t){},onProgress:function(e,t,n,i){},onComplete:function(e,t,n,i){},onCancel:function(e,t){},onUploadPrep:function(e){},onUpload:function(e,t){},onUploadChunk:function(e,t,n){},onUploadChunkSuccess:function(e,t,n,i){},onAutoRetry:function(e,t,n,i){},onResume:function(e,t,n,i){},onUuidChanged:function(e,t){},getName:function(e){},setSize:function(e,t){},isQueued:function(e){},getIdsInProxyGroup:function(e){},getIdsInBatch:function(e){},isInProgress:function(e){}},d={done:function(e,t,n,i){var r=o._getChunkData(e,t);o._getFileState(e).attemptingResume=!1,delete o._getFileState(e).temp.chunkProgress[t],o._getFileState(e).loaded+=r.size,l.onUploadChunkSuccess(e,o._getChunkDataForCallback(r),n,i)},finalize:function(e){var t=l.getSize(e),n=l.getName(e);i("All chunks have been uploaded for "+e+" - finalizing...."),o.finalizeChunks(e).then(function(r,a){i("Finalize successful for "+e);var s=h.normalizeResponse(r,!0);l.onProgress(e,n,t,t),o._maybeDeletePersistedChunkData(e),h.cleanup(e,s,a)},function(t,o){var r=h.normalizeResponse(t,!1);i("Problem finalizing chunks for file ID "+e+" - "+r.error,"error"),(r.reset||o&&l.chunking.success.resetOnStatus.indexOf(o.status)>=0)&&d.reset(e),l.onAutoRetry(e,n,r,o)||h.cleanup(e,r,o)})},handleFailure:function(e,t,n,r){var a=l.getName(t);i("Chunked upload request failed for "+t+", chunk "+e),o.clearCachedChunk(t,e);var c,p=h.normalizeResponse(n,!1);if(p.reset)d.reset(t);else{var f=o._getFileState(t).chunking.inProgress;c=f?qq.indexOf(f,e):-1,c>=0&&(o._getFileState(t).chunking.inProgress.splice(c,1),o._getFileState(t).chunking.remaining.unshift(e))}o._getFileState(t).temp.ignoreFailure||(s&&(o._getFileState(t).temp.ignoreFailure=!0,i(qq.format("Going to attempt to abort these chunks: {}. These are currently in-progress: {}.",JSON.stringify(Object.keys(o._getXhrs(t))),JSON.stringify(o._getFileState(t).chunking.inProgress))),qq.each(o._getXhrs(t),function(e,n){i(qq.format("Attempting to abort file {}.{}. XHR readyState {}. ",t,e,n.readyState)),n.abort(),n._cancelled=!0}),o.moveInProgressToRemaining(t),u.free(t,!0)),l.onAutoRetry(t,a,p,r)||h.cleanup(t,p,r))},hasMoreParts:function(e){return!!o._getFileState(e).chunking.remaining.length},nextPart:function(e){var t=o._getFileState(e).chunking.remaining.shift();return t>=o._getTotalChunks(e)&&(t=null),t},reset:function(e){i("Server or callback has ordered chunking effort to be restarted on next attempt for item ID "+e,"error"),o._maybeDeletePersistedChunkData(e),o.reevaluateChunking(e),o._getFileState(e).loaded=0,o._getFileState(e).attemptingResume=!1},sendNext:function(e){var t=l.getSize(e),n=l.getName(e),r=d.nextPart(e),a=o._getChunkData(e,r),c=o._getFileState(e),p=c.attemptingResume,f=c.chunking.inProgress||[];if(null==c.loaded&&(c.loaded=0),p&&l.onResume(e,n,a,c.customResumeData)===!1&&(d.reset(e),r=d.nextPart(e),a=o._getChunkData(e,r),p=!1),null==r&&0===f.length)d.finalize(e);else{f.push(r),o._getFileState(e).chunking.inProgress=f,s&&u.open(e,r),s&&u.available()&&o._getFileState(e).chunking.remaining.length&&d.sendNext(e),0===a.blob.size&&(i(qq.format("Chunk {} for file {} will not be uploaded, zero sized chunk.",r,e),"error"),d.handleFailure(r,e,"File is no longer available",null));var m=l.onUploadChunk(e,n,o._getChunkDataForCallback(a));m.then(function(n){if(l.isInProgress(e)){i(qq.format("Sending chunked upload request for item {}.{}, bytes {}-{} of {}.",e,r,a.start+1,a.end,t));var s={chunkIdx:r,id:e,overrides:n,resuming:p};o.uploadChunk(s).then(function(t,n){i("Chunked upload request succeeded for "+e+", chunk "+r),o.clearCachedChunk(e,r);var a=o._getFileState(e).chunking.inProgress||[],s=h.normalizeResponse(t,!0),l=qq.indexOf(a,r);i(qq.format("Chunk {} for file {} uploaded successfully.",r,e)),d.done(e,r,s,n),l>=0&&a.splice(l,1),o._maybePersistChunkedState(e),d.hasMoreParts(e)||0!==a.length?d.hasMoreParts(e)?d.sendNext(e):i(qq.format("File ID {} has no more chunks to send and these chunk indexes are still marked as in-progress: {}",e,JSON.stringify(a))):d.finalize(e)},function(t,n){d.handleFailure(r,e,t,n)}).done(function(){o.clearXhr(e,r)})}else i(qq.format("Not sending chunked upload request for item {}.{} - no longer in progress.",e,r))},function(t){d.handleFailure(r,e,t,null)})}}},u={_open:[],_openChunks:{},_waiting:[],available:function(){var e=l.maxConnections,t=0,n=0;return qq.each(u._openChunks,function(e,i){t++,n+=i.length}),e-(u._open.length-t+n)},free:function(e,t){var n,r=!t,a=qq.indexOf(u._waiting,e),s=qq.indexOf(u._open,e);delete u._openChunks[e],h.getProxyOrBlob(e)instanceof qq.BlobProxy&&(i("Generated blob upload has ended for "+e+", disposing generated blob."),delete o._getFileState(e).file),a>=0?u._waiting.splice(a,1):r&&s>=0&&(u._open.splice(s,1),n=u._waiting.shift(),n>=0&&(u._open.push(n),h.start(n)))},getWaitingOrConnected:function(){var e=[];return qq.each(u._openChunks,function(t,n){n&&n.length&&e.push(parseInt(t))}),qq.each(u._open,function(t,n){u._openChunks[n]||e.push(parseInt(n))}),e=e.concat(u._waiting)},isUsingConnection:function(e){return qq.indexOf(u._open,e)>=0},open:function(e,t){return null==t&&u._waiting.push(e),!!u.available()&&(null==t?(u._waiting.pop(),u._open.push(e)):!function(){var n=u._openChunks[e]||[];n.push(t),u._openChunks[e]=n}(),!0)},reset:function(){u._waiting=[],u._open=[]}},c={send:function(e,t){var n=o._getFileState(e);return n?(n.loaded=0,i("Sending simple upload request for "+e),void o.uploadFile(e).then(function(n,o){i("Simple upload request succeeded for "+e);var r=h.normalizeResponse(n,!0),a=l.getSize(e);l.onProgress(e,t,a,a),h.maybeNewUuid(e,r),h.cleanup(e,r,o)},function(n,o){i("Simple upload request failed for "+e);var r=h.normalizeResponse(n,!1);l.onAutoRetry(e,t,r,o)||h.cleanup(e,r,o)})):void i("Ignoring send request as this upload may have been cancelled, File ID "+e,"warn")}},h={cancel:function(e){i("Cancelling "+e),l.paramsStore.remove(e),u.free(e)},cleanup:function(e,t,n){var i=l.getName(e);l.onComplete(e,i,t,n),o._getFileState(e)&&o._clearXhrs&&o._clearXhrs(e),u.free(e)},getProxyOrBlob:function(e){return o.getProxy&&o.getProxy(e)||o.getFile&&o.getFile(e)},initHandler:function(){var e=t?qq[t]:qq.traditional,n=qq.supportedFeatures.ajaxUploading?"Xhr":"Form";o=new e[n+"UploadHandler"](l,{getCustomResumeData:l.getCustomResumeData,getDataByUuid:l.getDataByUuid,getName:l.getName,getSize:l.getSize,getUuid:l.getUuid,log:i,onCancel:l.onCancel,onProgress:l.onProgress,onUuidChanged:l.onUuidChanged,onFinalizing:function(e){l.setStatus(e,qq.status.UPLOAD_FINALIZING)}}),o._removeExpiredChunkingRecords&&o._removeExpiredChunkingRecords()},isDeferredEligibleForUpload:function(e){return l.isQueued(e)},maybeDefer:function(e,t){return t&&!o.getFile(e)&&t instanceof qq.BlobProxy?(l.onUploadPrep(e),i("Attempting to generate a blob on-demand for "+e),t.create().then(function(t){i("Generated an on-demand blob for "+e),o.updateBlob(e,t),l.setSize(e,t.size),o.reevaluateChunking(e),h.maybeSendDeferredFiles(e)},function(t){var o={};t&&(o.error=t),i(qq.format("Failed to generate blob for ID {}. Error message: {}.",e,t),"error"),l.onComplete(e,l.getName(e),qq.extend(o,n),null),h.maybeSendDeferredFiles(e),u.free(e)}),!1):h.maybeSendDeferredFiles(e)},maybeSendDeferredFiles:function(e){var t=l.getIdsInProxyGroup(e),n=!1;return t&&t.length?(i("Maybe ready to upload proxy group file "+e),qq.each(t,function(t,i){if(h.isDeferredEligibleForUpload(i)&&o.getFile(i))n=i===e,h.now(i);else if(h.isDeferredEligibleForUpload(i))return!1})):(n=!0,h.now(e)),n},maybeNewUuid:function(e,t){void 0!==t.newUuid&&l.onUuidChanged(e,t.newUuid)},normalizeResponse:function(e,t){var n=e;return qq.isObject(e)||(n={},qq.isString(e)&&!t&&(n.error=e)),n.success=t,n},now:function(e){var t=l.getName(e);if(!r.isValid(e))throw new qq.Error(e+" is not a valid file ID to upload!");l.onUpload(e,t).then(function(n){n&&n.pause?(l.setStatus(e,qq.status.PAUSED),o.pause(e),u.free(e)):a&&o._shouldChunkThisFile(e)?d.sendNext(e):c.send(e,t)},function(n){if(n=n||{},i(e+" upload start aborted due to rejected onUpload Promise - details: "+n,"error"),!l.onAutoRetry(e,t,n.responseJSON||{})){var o=h.normalizeResponse(n.responseJSON,!1);h.cleanup(e,o)}})},start:function(e){var t=h.getProxyOrBlob(e);return t?h.maybeDefer(e,t):(h.now(e),!0)}};qq.extend(this,{add:function(e,t){o.add.apply(this,arguments)},upload:function(e){return!!u.open(e)&&h.start(e)},retry:function(e){return s&&(o._getFileState(e).temp.ignoreFailure=!1),u.isUsingConnection(e)?h.start(e):r.upload(e)},cancel:function(e){var t=o.cancel(e);qq.isGenericPromise(t)?t.then(function(){h.cancel(e)}):t!==!1&&h.cancel(e)},cancelAll:function(){var e,t=u.getWaitingOrConnected();if(t.length)for(e=t.length-1;e>=0;e--)r.cancel(t[e]);u.reset()},getFile:function(e){return o.getProxy&&o.getProxy(e)?o.getProxy(e).referenceBlob:o.getFile&&o.getFile(e)},isProxied:function(e){return!(!o.getProxy||!o.getProxy(e))},getInput:function(e){if(o.getInput)return o.getInput(e)},reset:function(){i("Resetting upload handler"),r.cancelAll(),u.reset(),o.reset()},expunge:function(e){if(r.isValid(e))return o.expunge(e)},isValid:function(e){return o.isValid(e)},hasResumeRecord:function(e){var t=o.isValid(e)&&o._getLocalStorageId&&o._getLocalStorageId(e);return!!t&&!!localStorage.getItem(t)},getResumableFilesData:function(){return o.getResumableFilesData?o.getResumableFilesData():[]},getThirdPartyFileId:function(e){if(r.isValid(e))return o.getThirdPartyFileId(e)},pause:function(e){return!!(r.isResumable(e)&&o.pause&&r.isValid(e)&&o.pause(e))&&(u.free(e),o.moveInProgressToRemaining(e),!0)},isAttemptingResume:function(e){return!!o.isAttemptingResume&&o.isAttemptingResume(e)},isResumable:function(e){return!!o.isResumable&&o.isResumable(e)}}),qq.extend(l,e),i=l.log,a=l.chunking.enabled&&qq.supportedFeatures.chunking,s=a&&l.chunking.concurrent.enabled,n=function(){var e={};return e[l.preventRetryParam]=!0,e}(),h.initHandler()},qq.WindowReceiveMessage=function(e){"use strict";var t={log:function(e,t){}},n={};qq.extend(t,e),qq.extend(this,{receiveMessage:function(e,t){var i=function(e){t(e.data)};window.postMessage?n[e]=qq(window).attach("message",i):log("iframe message passing not supported in this browser!","error")},stopReceivingMessages:function(e){if(window.postMessage){var t=n[e];t&&t()}}})},qq.FormUploadHandler=function(e){"use strict";function expungeFile(e){delete a[e],l&&(clearTimeout(s[e]),delete s[e],h.stopReceivingMessages(e));var t=document.getElementById(n._getIframeName(e));t&&(t.setAttribute("src","javascript:false;"),qq(t).remove())}function getFileIdForIframeName(e){return e.split("_")[0]}function initIframeForUpload(e){var t=qq.toElement("<iframe src='javascript:false;' name='"+e+"' />");return t.setAttribute("id",e),t.style.display="none",document.body.appendChild(t),t}function registerPostMessageCallback(e,t){var i=e.id,o=getFileIdForIframeName(i),l=u(o);r[l]=t,a[o]=qq(e).attach("load",function(){n.getInput(o)&&(c("Received iframe load event for CORS upload request (iframe name "+i+")"),s[i]=setTimeout(function(){var e="No valid message received from loaded iframe for iframe name "+i;c(e,"error"),t({error:e})},1e3))}),h.receiveMessage(i,function(e){c("Received the following window message: '"+e+"'");var t,o=(getFileIdForIframeName(i),n._parseJsonResponse(e)),a=o.uuid;a&&r[a]?(c("Handling response for iframe name "+i),clearTimeout(s[i]),delete s[i],n._detachLoadEvent(i),t=r[a],delete r[a],h.stopReceivingMessages(i),t(o)):a||c("'"+e+"' does not contain a UUID - ignoring.")})}var t=e.options,n=this,i=e.proxy,o=qq.getUniqueId(),r={},a={},s={},l=t.isCors,d=t.inputName,u=i.getUuid,c=i.log,h=new qq.WindowReceiveMessage({log:c});qq.extend(this,new qq.UploadHandler(e)),qq.override(this,function(e){return{add:function(t,n){e.add(t,{input:n}),n.setAttribute("name",d),n.parentNode&&qq(n).remove()},expunge:function(t){expungeFile(t),e.expunge(t)},isValid:function(t){return e.isValid(t)&&void 0!==n._getFileState(t).input}}}),qq.extend(this,{getInput:function(e){return n._getFileState(e).input},_attachLoadEvent:function(e,t){var n;l?registerPostMessageCallback(e,t):a[e.id]=qq(e).attach("load",function(){if(c("Received response for "+e.id),e.parentNode){try{if(e.contentDocument&&e.contentDocument.body&&"false"==e.contentDocument.body.innerHTML)return}catch(i){c("Error when attempting to access iframe during handling of upload response ("+i.message+")","error"),n={success:!1}}t(n)}})},_createIframe:function(e){var t=n._getIframeName(e);return initIframeForUpload(t)},_detachLoadEvent:function(e){void 0!==a[e]&&(a[e](),delete a[e])},_getIframeName:function(e){return e+"_"+o},_initFormForUpload:function(e){var t=e.method,n=e.endpoint,i=e.params,o=e.paramsInBody,r=e.targetName,a=qq.toElement("<form method='"+t+"' enctype='multipart/form-data'></form>"),s=n;return o?qq.obj2Inputs(i,a):s=qq.obj2url(i,n),a.setAttribute("action",s),a.setAttribute("target",r),a.style.display="none",document.body.appendChild(a),a},_parseJsonResponse:function(e){var t={};try{t=qq.parseJson(e)}catch(n){c("Error when attempting to parse iframe upload response ("+n.message+")","error")}return t}})},qq.XhrUploadHandler=function(e){"use strict";function abort(e){qq.each(t._getXhrs(e),function(n,i){var o=t._getAjaxRequester(e,n);i.onreadystatechange=null,i.upload.onprogress=null,i.abort(),o&&o.canceled&&o.canceled(e)})}var t=this,n=e.options.namespace,i=e.proxy,o=e.options.chunking,r=function(e){var n=t._getFileState(e);if(n.chunkSize)return n.chunkSize;var i=o.partSize;return qq.isFunction(i)&&(i=i(e,u(e))),n.chunkSize=i,i},a=e.options.resume,s=o&&e.options.chunking.enabled&&qq.supportedFeatures.chunking,l=a&&e.options.resume.enabled&&s&&qq.supportedFeatures.resume,d=i.getName,u=i.getSize,c=i.getUuid,h=i.getEndpoint,p=i.getDataByUuid,f=i.onUuidChanged,m=i.onProgress,g=i.log,b=i.getCustomResumeData;qq.extend(this,new qq.UploadHandler(e)),qq.override(this,function(e){return{add:function(n,i){if(qq.isFile(i)||qq.isBlob(i))e.add(n,{file:i});else{if(!(i instanceof qq.BlobProxy))throw new Error("Passed obj is not a File, Blob, or proxy");e.add(n,{proxy:i})}t._initTempState(n),l&&t._maybePrepareForResume(n)},expunge:function(n){abort(n),t._maybeDeletePersistedChunkData(n),t._clearXhrs(n),e.expunge(n)}}}),qq.extend(this,{clearCachedChunk:function(e,n){var i=t._getFileState(e);i&&delete i.temp.cachedChunks[n]},clearXhr:function(e,n){var i=t._getFileState(e).temp;i.xhrs&&delete i.xhrs[n],i.ajaxRequesters&&delete i.ajaxRequesters[n]},finalizeChunks:function(e,n){var i=t._getTotalChunks(e)-1,o=t._getXhr(e,i);return n?(new qq.Promise).success(n(o),o):(new qq.Promise).success({},o)},getFile:function(e){return t.isValid(e)&&t._getFileState(e).file},getProxy:function(e){return t.isValid(e)&&t._getFileState(e).proxy},getResumableFilesData:function(){var e=[];return t._iterateResumeRecords(function(n,i){t.moveInProgressToRemaining(null,i.chunking.inProgress,i.chunking.remaining);var o={name:i.name,remaining:i.chunking.remaining,size:i.size,uuid:i.uuid};i.key&&(o.key=i.key),i.customResumeData&&(o.customResumeData=i.customResumeData),e.push(o)}),e},isAttemptingResume:function(e){return t._getFileState(e).attemptingResume},isResumable:function(e){return!!o&&t.isValid(e)&&!t._getFileState(e).notResumable},moveInProgressToRemaining:function(e,n,i){var o=t._getFileState(e)||{},r=o.chunking||{},a=n||r.inProgress,s=i||r.remaining;a&&(g(qq.format("Moving these chunks from in-progress {}, to remaining.",JSON.stringify(a))),a.reverse(),qq.each(a,function(e,t){s.unshift(t)}),a.length=0)},pause:function(e){if(t.isValid(e))return g(qq.format("Aborting XHR upload for {} '{}' due to pause instruction.",e,d(e))),t._getFileState(e).paused=!0,abort(e),!0},reevaluateChunking:function(e){if(o&&t.isValid(e)){var n,i,r=t._getFileState(e);if(delete r.chunking,r.chunking={},n=t._getTotalChunks(e),n>1||o.mandatory){for(r.chunking.enabled=!0,r.chunking.parts=n,r.chunking.remaining=[],i=0;i<n;i++)r.chunking.remaining.push(i);t._initTempState(e)}else r.chunking.enabled=!1}},updateBlob:function(e,n){t.isValid(e)&&(t._getFileState(e).file=n)},_clearXhrs:function(e){var n=t._getFileState(e).temp;qq.each(n.ajaxRequesters,function(e){delete n.ajaxRequesters[e]}),qq.each(n.xhrs,function(e){delete n.xhrs[e]})},_createXhr:function(e,n){return t._registerXhr(e,n,qq.createXhrInstance())},_getAjaxRequester:function(e,n){var i=null==n?-1:n;return t._getFileState(e).temp.ajaxRequesters[i]},_getChunkData:function(e,n){var i=r(e),o=u(e),a=t.getFile(e),s=i*n,l=s+i>=o?o:s+i,d=t._getTotalChunks(e),c=this._getFileState(e).temp.cachedChunks,h=c[n]||qq.sliceBlob(a,s,l);return c[n]=h,{part:n,start:s,end:l,count:d,blob:h,size:l-s}},_getChunkDataForCallback:function(e){return{partIndex:e.part,startByte:e.start+1,endByte:e.end,totalParts:e.count}},_getLocalStorageId:function(e){var t="5.0",i=d(e),o=u(e),s=r(e),l=h(e),c=a.customKeys(e),p=qq.format("qq{}resume{}-{}-{}-{}-{}",n,t,i,o,s,l);return c.forEach(function(e){p+="-"+e}),p},_getMimeType:function(e){return t.getFile(e).type},_getPersistableData:function(e){return t._getFileState(e).chunking},_getTotalChunks:function(e){if(o){var t=u(e),n=r(e);return Math.ceil(t/n)}},_getXhr:function(e,n){var i=null==n?-1:n;return t._getFileState(e).temp.xhrs[i]},_getXhrs:function(e){return t._getFileState(e).temp.xhrs},_iterateResumeRecords:function(e){l&&qq.each(localStorage,function(t,i){if(0===t.indexOf(qq.format("qq{}resume",n))){var o=JSON.parse(i);e(t,o)}})},_initTempState:function(e){t._getFileState(e).temp={ajaxRequesters:{},chunkProgress:{},xhrs:{},cachedChunks:{}}},_markNotResumable:function(e){t._getFileState(e).notResumable=!0},_maybeDeletePersistedChunkData:function(e){var n;return!!(l&&t.isResumable(e)&&(n=t._getLocalStorageId(e),n&&localStorage.getItem(n)))&&(localStorage.removeItem(n),!0)},_maybePrepareForResume:function(e){var n,i,o=t._getFileState(e);l&&void 0===o.key&&(n=t._getLocalStorageId(e),i=localStorage.getItem(n),i&&(i=JSON.parse(i),p(i.uuid)?t._markNotResumable(e):(g(qq.format("Identified file with ID {} and name of {} as resumable.",e,d(e))),f(e,i.uuid),o.key=i.key,o.chunking=i.chunking,o.loaded=i.loaded,o.customResumeData=i.customResumeData,o.attemptingResume=!0,t.moveInProgressToRemaining(e))))},_maybePersistChunkedState:function(e){var n,i,o=t._getFileState(e);if(l&&t.isResumable(e)){var r=b(e);n=t._getLocalStorageId(e),i={name:d(e),size:u(e),uuid:c(e),key:o.key,chunking:o.chunking,loaded:o.loaded,lastUpdated:Date.now()},r&&(i.customResumeData=r);try{localStorage.setItem(n,JSON.stringify(i))}catch(a){g(qq.format("Unable to save resume data for '{}' due to error: '{}'.",e,a.toString()),"warn")}}},_registerProgressHandler:function(e,n,i){var o=t._getXhr(e,n),r=d(e),a={simple:function(t,n){var i=u(e);t===n?m(e,r,i,i):m(e,r,t>=i?i-1:t,i)},chunked:function(o,a){var s=t._getFileState(e).temp.chunkProgress,l=t._getFileState(e).loaded,d=o,c=a,h=u(e),p=d-(c-i),f=l;s[n]=p,qq.each(s,function(e,t){f+=t}),m(e,r,f,h)}};o.upload.onprogress=function(e){if(e.lengthComputable){var t=null==i?"simple":"chunked";a[t](e.loaded,e.total)}}},_registerXhr:function(e,n,i,o){var r=null==n?-1:n,a=t._getFileState(e).temp;return a.xhrs=a.xhrs||{},a.ajaxRequesters=a.ajaxRequesters||{},a.xhrs[r]=i,o&&(a.ajaxRequesters[r]=o),i},_removeExpiredChunkingRecords:function(){var e=a.recordsExpireIn;t._iterateResumeRecords(function(t,n){var i=new Date(n.lastUpdated);i.setDate(i.getDate()+e),i.getTime()<=Date.now()&&(g("Removing expired resume record with key "+t),localStorage.removeItem(t))})},_shouldChunkThisFile:function(e){var n=t._getFileState(e);if(n)return n.chunking||t.reevaluateChunking(e),n.chunking.enabled}})},qq.DeleteFileAjaxRequester=function(e){"use strict";function getMandatedParams(){return"POST"===n.method.toUpperCase()?{_method:"DELETE"}:{}}var t,n={method:"DELETE",uuidParamName:"qquuid",endpointStore:{},maxConnections:3,customHeaders:function(e){return{}},paramsStore:{},cors:{expected:!1,sendCredentials:!1},log:function(e,t){},onDelete:function(e){},onDeleteComplete:function(e,t,n){}};qq.extend(n,e),t=qq.extend(this,new qq.AjaxRequester({acceptHeader:"application/json",validMethods:["POST","DELETE"],method:n.method,endpointStore:n.endpointStore,paramsStore:n.paramsStore,mandatedParams:getMandatedParams(),maxConnections:n.maxConnections,customHeaders:function(e){return n.customHeaders.get(e)},log:n.log,onSend:n.onDelete,onComplete:n.onDeleteComplete,cors:n.cors})),qq.extend(this,{sendDelete:function(e,i,o){var r=o||{};n.log("Submitting delete file request for "+e),"DELETE"===n.method?t.initTransport(e).withPath(i).withParams(r).send():(r[n.uuidParamName]=i,t.initTransport(e).withParams(r).send())}})},function(){function detectSubsampling(e){var t,n=e.naturalWidth,i=e.naturalHeight,o=document.createElement("canvas");return n*i>1048576&&(o.width=o.height=1,t=o.getContext("2d"),t.drawImage(e,-n+1,0),0===t.getImageData(0,0,1,1).data[3])}function detectVerticalSquash(e,t,n){var i,o,r,a,s=document.createElement("canvas"),l=0,d=n,u=n;for(s.width=1,s.height=n,i=s.getContext("2d"),i.drawImage(e,0,0),o=i.getImageData(0,0,1,n).data;u>l;)r=o[4*(u-1)+3],0===r?d=u:l=u,u=d+l>>1;return a=u/n,0===a?1:a}function renderImageToDataURL(e,t,n,i){var o=document.createElement("canvas"),r=n.mime||"image/jpeg",a=new qq.Promise;return renderImageToCanvas(e,t,o,n,i).then(function(){a.success(o.toDataURL(r,n.quality||.8))}),a}function maybeCalculateDownsampledDimensions(e){var t=5241e3;if(!qq.ios())throw new qq.Error("Downsampled dimensions can only be reliably calculated for iOS!");if(e.origHeight*e.origWidth>t)return{newHeight:Math.round(Math.sqrt(t*(e.origHeight/e.origWidth))),newWidth:Math.round(Math.sqrt(t*(e.origWidth/e.origHeight)))}}function renderImageToCanvas(e,t,n,i,o){var r,a=e.naturalWidth,s=e.naturalHeight,l=i.width,d=i.height,u=n.getContext("2d"),c=new qq.Promise;return u.save(),i.resize?renderImageToCanvasWithCustomResizer({blob:t,canvas:n,image:e,imageHeight:s,imageWidth:a,orientation:i.orientation,resize:i.resize,targetHeight:d,targetWidth:l}):(qq.supportedFeatures.unlimitedScaledImageSize||(r=maybeCalculateDownsampledDimensions({origWidth:l,origHeight:d}),r&&(qq.log(qq.format("Had to reduce dimensions due to device limitations from {}w / {}h to {}w / {}h",l,d,r.newWidth,r.newHeight),"warn"),l=r.newWidth,d=r.newHeight)),transformCoordinate(n,l,d,i.orientation),qq.ios()?!function(){detectSubsampling(e)&&(a/=2,s/=2);var t,n,i,r=1024,c=document.createElement("canvas"),h=o?detectVerticalSquash(e,a,s):1,p=Math.ceil(r*l/a),f=Math.ceil(r*d/s/h),m=0,g=0;for(c.width=c.height=r,t=c.getContext("2d");m<s;){for(n=0,i=0;n<a;)t.clearRect(0,0,r,r),t.drawImage(e,-n,-m),u.drawImage(c,0,0,r,r,i,g,p,f),n+=r,i+=p;m+=r,g+=f}u.restore(),c=t=null}():u.drawImage(e,0,0,l,d),n.qqImageRendered&&n.qqImageRendered(),c.success(),c)}function renderImageToCanvasWithCustomResizer(e){var t=e.blob,n=e.image,i=e.imageHeight,o=e.imageWidth,r=e.orientation,a=new qq.Promise,s=e.resize,l=document.createElement("canvas"),d=l.getContext("2d"),u=e.canvas,c=e.targetHeight,h=e.targetWidth;return transformCoordinate(l,o,i,r),u.height=c,u.width=h,d.drawImage(n,0,0),s({blob:t,height:c,image:n,sourceCanvas:l,targetCanvas:u,width:h}).then(function(){u.qqImageRendered&&u.qqImageRendered(),a.success()},a.failure),a}function transformCoordinate(e,t,n,i){switch(i){case 5:case 6:case 7:case 8:e.width=n,e.height=t;break;default:e.width=t,e.height=n}var o=e.getContext("2d");switch(i){case 2:o.translate(t,0),o.scale(-1,1);break;case 3:o.translate(t,n),o.rotate(Math.PI);break;case 4:o.translate(0,n),o.scale(1,-1);break;case 5:o.rotate(.5*Math.PI),o.scale(1,-1);break;case 6:o.rotate(.5*Math.PI),o.translate(0,-n);break;case 7:o.rotate(.5*Math.PI),o.translate(t,-n),o.scale(-1,1);break;case 8:o.rotate(-.5*Math.PI),o.translate(-t,0)}}function MegaPixImage(e,t){var n=this;window.Blob&&e instanceof Blob&&!function(){var t=new Image,i=window.URL&&window.URL.createObjectURL?window.URL:window.webkitURL&&window.webkitURL.createObjectURL?window.webkitURL:null;if(!i)throw Error("No createObjectURL function found to create blob url");t.src=i.createObjectURL(e),n.blob=e,e=t}(),e.naturalWidth||e.naturalHeight||(e.onload=function(){var e=n.imageLoadListeners;e&&(n.imageLoadListeners=null,setTimeout(function(){for(var t=0,n=e.length;t<n;t++)e[t]()},0))},e.onerror=t,this.imageLoadListeners=[]),this.srcImage=e}MegaPixImage.prototype.render=function(e,t){t=t||{};var n,i=this,o=this.srcImage.naturalWidth,r=this.srcImage.naturalHeight,a=t.width,s=t.height,l=t.maxWidth,d=t.maxHeight,u=!this.blob||"image/jpeg"===this.blob.type,c=e.tagName.toLowerCase();return this.imageLoadListeners?void this.imageLoadListeners.push(function(){i.render(e,t)}):(a&&!s?s=r*a/o<<0:s&&!a?a=o*s/r<<0:(a=o,s=r),l&&a>l&&(a=l,s=r*a/o<<0),d&&s>d&&(s=d,a=o*s/r<<0),n={width:a,height:s},qq.each(t,function(e,t){n[e]=t}),"img"===c?!function(){var t=e.src;renderImageToDataURL(i.srcImage,i.blob,n,u).then(function(n){e.src=n,t===e.src&&e.onload()})}():"canvas"===c&&renderImageToCanvas(this.srcImage,this.blob,e,n,u),void("function"==typeof this.onrender&&this.onrender(e)))},qq.MegaPixImage=MegaPixImage}(),qq.ImageGenerator=function(e){"use strict";function isImg(e){return"img"===e.tagName.toLowerCase()}function isCanvas(e){return"canvas"===e.tagName.toLowerCase()}function isImgCorsSupported(){return void 0!==(new Image).crossOrigin}function isCanvasSupported(){var e=document.createElement("canvas");return e.getContext&&e.getContext("2d")}function determineMimeOfFileName(e){var t=e.split("/"),n=t[t.length-1].split("?")[0],i=qq.getExtension(n);switch(i=i&&i.toLowerCase()){case"jpeg":case"jpg":return"image/jpeg";case"png":return"image/png";case"bmp":return"image/bmp";case"gif":return"image/gif";case"tiff":case"tif":return"image/tiff"}}function isCrossOrigin(e){var t,n,i,o=document.createElement("a");return o.href=e,t=o.protocol,i=o.port,n=o.hostname,t.toLowerCase()!==window.location.protocol.toLowerCase()||(n.toLowerCase()!==window.location.hostname.toLowerCase()||i!==window.location.port&&!qq.ie())}function registerImgLoadListeners(t,n){t.onload=function(){t.onload=null,t.onerror=null,n.success(t)},t.onerror=function(){t.onload=null,t.onerror=null,e("Problem drawing thumbnail!","error"),n.failure(t,"Problem drawing thumbnail!")}}function registerCanvasDrawImageListener(e,t){e.qqImageRendered=function(){t.success(e)}}function registerThumbnailRenderedListener(t,n){var i=isImg(t)||isCanvas(t);return isImg(t)?registerImgLoadListeners(t,n):isCanvas(t)?registerCanvasDrawImageListener(t,n):(n.failure(t),e(qq.format("Element container of type {} is not supported!",t.tagName),"error")),i}function draw(t,n,i){var o=new qq.Promise,r=new qq.Identify(t,e),a=i.maxSize,s=null==i.orient||i.orient,l=function(){n.onerror=null,n.onload=null,e("Could not render preview, file may be too large!","error"),o.failure(n,"Browser cannot render image!")};return r.isPreviewable().then(function(r){var d={parse:function(){return(new qq.Promise).success()}},u=s?new qq.Exif(t,e):d,c=new qq.MegaPixImage(t,l);registerThumbnailRenderedListener(n,o)&&u.parse().then(function(e){var t=e&&e.Orientation;c.render(n,{maxWidth:a,maxHeight:a,orientation:t,mime:r,resize:i.customResizeFunction})},function(t){e(qq.format("EXIF data could not be parsed ({}). Assuming orientation = 1.",t)),c.render(n,{maxWidth:a,maxHeight:a,mime:r,resize:i.customResizeFunction})})},function(){e("Not previewable"),o.failure(n,"Not previewable")}),o}function drawOnCanvasOrImgFromUrl(e,t,n,i,o){var r=new Image,a=new qq.Promise;registerThumbnailRenderedListener(r,a),isCrossOrigin(e)&&(r.crossOrigin="anonymous"),r.src=e,a.then(function(){registerThumbnailRenderedListener(t,n);var a=new qq.MegaPixImage(r);a.render(t,{maxWidth:i,maxHeight:i,mime:determineMimeOfFileName(e),resize:o})},n.failure);
7
7
  }function drawOnImgFromUrlWithCssScaling(e,t,n,i){registerThumbnailRenderedListener(t,n),qq(t).css({maxWidth:i+"px",maxHeight:i+"px"}),t.src=e}function drawFromUrl(e,t,n){var i=new qq.Promise,o=n.scale,r=o?n.maxSize:null;return o&&isImg(t)?isCanvasSupported()?isCrossOrigin(e)&&!isImgCorsSupported()?drawOnImgFromUrlWithCssScaling(e,t,i,r):drawOnCanvasOrImgFromUrl(e,t,i,r):drawOnImgFromUrlWithCssScaling(e,t,i,r):isCanvas(t)?drawOnCanvasOrImgFromUrl(e,t,i,r):registerThumbnailRenderedListener(t,i)&&(t.src=e),i}qq.extend(this,{generate:function(t,n,i){return qq.isString(t)?(e("Attempting to update thumbnail based on server response."),drawFromUrl(t,n,i||{})):(e("Attempting to draw client-side image preview."),draw(t,n,i||{}))}}),this._testing={},this._testing.isImg=isImg,this._testing.isCanvas=isCanvas,this._testing.isCrossOrigin=isCrossOrigin,this._testing.determineMimeOfFileName=determineMimeOfFileName},qq.Exif=function(e,t){"use strict";function parseLittleEndian(e){for(var t=0,n=0;e.length>0;)t+=parseInt(e.substring(0,2),16)*Math.pow(2,n),e=e.substring(2,e.length),n+=8;return t}function seekToApp1(t,n){var i=t,o=n;return void 0===i&&(i=2,o=new qq.Promise),qq.readBlobToHex(e,i,4).then(function(e){var t,n=/^ffe([0-9])/.exec(e);n?"1"!==n[1]?(t=parseInt(e.slice(4,8),16),seekToApp1(i+t+2,o)):o.success(i):o.failure("No EXIF header to be found!")}),o}function getApp1Offset(){var t=new qq.Promise;return qq.readBlobToHex(e,0,6).then(function(e){0!==e.indexOf("ffd8")?t.failure("Not a valid JPEG!"):seekToApp1().then(function(e){t.success(e)},function(e){t.failure(e)})}),t}function isLittleEndian(t){var n=new qq.Promise;return qq.readBlobToHex(e,t+10,2).then(function(e){n.success("4949"===e)}),n}function getDirEntryCount(t,n){var i=new qq.Promise;return qq.readBlobToHex(e,t+18,2).then(function(e){return n?i.success(parseLittleEndian(e)):void i.success(parseInt(e,16))}),i}function getIfd(t,n){var i=t+20,o=12*n;return qq.readBlobToHex(e,i,o)}function getDirEntries(e){for(var t=[],n=0;n+24<=e.length;)t.push(e.slice(n,n+24)),n+=24;return t}function getTagValues(e,t){var o=16,r=qq.extend([],n),a={};return qq.each(t,function(t,n){var s,l,d,u=n.slice(0,4),c=e?parseLittleEndian(u):parseInt(u,16),h=r.indexOf(c);if(h>=0&&(l=i[c].name,d=i[c].bytes,s=n.slice(o,o+2*d),a[l]=e?parseLittleEndian(s):parseInt(s,16),r.splice(h,1)),0===r.length)return!1}),a}var n=[274],i={274:{name:"Orientation",bytes:2}};qq.extend(this,{parse:function(){var n=new qq.Promise,i=function(e){t(qq.format("EXIF header parse failed: '{}' ",e)),n.failure(e)};return getApp1Offset().then(function(o){t(qq.format("Moving forward with EXIF header parsing for '{}'",void 0===e.name?"blob":e.name)),isLittleEndian(o).then(function(e){t(qq.format("EXIF Byte order is {} endian",e?"little":"big")),getDirEntryCount(o,e).then(function(r){t(qq.format("Found {} APP1 directory entries",r)),getIfd(o,r).then(function(i){var o=getDirEntries(i),r=getTagValues(e,o);t("Successfully parsed some EXIF tags"),n.success(r)},i)},i)},i)},i),n}}),this._testing={},this._testing.parseLittleEndian=parseLittleEndian},qq.Identify=function(e,t){"use strict";function isIdentifiable(e,t){var n=!1,i=[].concat(e);return qq.each(i,function(e,i){if(0===t.indexOf(i))return n=!0,!1}),n}qq.extend(this,{isPreviewable:function(){var n=this,i=new qq.Promise,o=!1,r=void 0===e.name?"blob":e.name;return t(qq.format("Attempting to determine if {} can be rendered in this browser",r)),t("First pass: check type attribute of blob object."),this.isPreviewableSync()?(t("Second pass: check for magic bytes in file header."),qq.readBlobToHex(e,0,4).then(function(e){qq.each(n.PREVIEWABLE_MIME_TYPES,function(t,n){if(isIdentifiable(n,e))return("image/tiff"!==t||qq.supportedFeatures.tiffPreviews)&&(o=!0,i.success(t)),!1}),t(qq.format("'{}' is {} able to be rendered in this browser",r,o?"":"NOT")),o||i.failure()},function(){t("Error reading file w/ name '"+r+"'. Not able to be rendered in this browser."),i.failure()})):i.failure(),i},isPreviewableSync:function(){var n=e.type,i=qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES),n)>=0,o=!1,r=void 0===e.name?"blob":e.name;return i&&(o="image/tiff"!==n||qq.supportedFeatures.tiffPreviews),!o&&t(r+" is not previewable in this browser per the blob's type attr"),o}})},qq.Identify.prototype.PREVIEWABLE_MIME_TYPES={"image/jpeg":"ffd8ff","image/gif":"474946","image/png":"89504e","image/bmp":"424d","image/tiff":["49492a00","4d4d002a"]},qq.ImageValidation=function(e,t){"use strict";function hasNonZeroLimits(e){var t=!1;return qq.each(e,function(e,n){if(n>0)return t=!0,!1}),t}function getWidthHeight(){var n=new qq.Promise;return new qq.Identify(e,t).isPreviewable().then(function(){var i=new Image,o=window.URL&&window.URL.createObjectURL?window.URL:window.webkitURL&&window.webkitURL.createObjectURL?window.webkitURL:null;o?(i.onerror=function(){t("Cannot determine dimensions for image. May be too large.","error"),n.failure()},i.onload=function(){n.success({width:this.width,height:this.height})},i.src=o.createObjectURL(e)):(t("No createObjectURL function available to generate image URL!","error"),n.failure())},n.failure),n}function getFailingLimit(e,t){var n;return qq.each(e,function(e,i){if(i>0){var o=/(max|min)(Width|Height)/.exec(e),r=o[2].charAt(0).toLowerCase()+o[2].slice(1),a=t[r];switch(o[1]){case"min":if(a<i)return n=e,!1;break;case"max":if(a>i)return n=e,!1}}}),n}this.validate=function(e){var n=new qq.Promise;return t("Attempting to validate image."),hasNonZeroLimits(e)?getWidthHeight().then(function(t){var i=getFailingLimit(e,t);i?n.failure(i):n.success()},n.success):n.success(),n}},qq.Session=function(e){"use strict";function isJsonResponseValid(e){return!!qq.isArray(e)||void t.log("Session response is not an array.","error")}function handleFileItems(e,n,i,o){var r=!1;n=n&&isJsonResponseValid(e),n&&qq.each(e,function(e,n){if(null==n.uuid)r=!0,t.log(qq.format("Session response item {} did not include a valid UUID - ignoring.",e),"error");else if(null==n.name)r=!0,t.log(qq.format("Session response item {} did not include a valid name - ignoring.",e),"error");else try{return t.addFileRecord(n),!0}catch(i){r=!0,t.log(i.message,"error")}return!1}),o[n&&!r?"success":"failure"](e,i)}var t={endpoint:null,params:{},customHeaders:{},cors:{},addFileRecord:function(e){},log:function(e,t){}};qq.extend(t,e,!0),this.refresh=function(){var e=new qq.Promise,n=function(t,n,i){handleFileItems(t,n,i,e)},i=qq.extend({},t),o=new qq.SessionAjaxRequester(qq.extend(i,{onComplete:n}));return o.queryServer(),e}},qq.SessionAjaxRequester=function(e){"use strict";function onComplete(e,t,i){var o=null;if(null!=t.responseText)try{o=qq.parseJson(t.responseText)}catch(r){n.log("Problem parsing session response: "+r.message,"error"),i=!0}n.onComplete(o,!i,t)}var t,n={endpoint:null,customHeaders:{},params:{},cors:{expected:!1,sendCredentials:!1},onComplete:function(e,t,n){},log:function(e,t){}};qq.extend(n,e),t=qq.extend(this,new qq.AjaxRequester({acceptHeader:"application/json",validMethods:["GET"],method:"GET",endpointStore:{get:function(){return n.endpoint}},customHeaders:n.customHeaders,log:n.log,onComplete:onComplete,cors:n.cors})),qq.extend(this,{queryServer:function(){var e=qq.extend({},n.params);n.log("Session query request."),t.initTransport("sessionRefresh").withParams(e).withCacheBuster().send()}})},qq.Scaler=function(e,t){"use strict";var n=e.customResizer,i=e.sendOriginal,o=e.orient,r=e.defaultType,a=e.defaultQuality/100,s=e.failureText,l=e.includeExif,d=this._getSortedSizes(e.sizes);qq.extend(this,{enabled:qq.supportedFeatures.scaling&&d.length>0,getFileRecords:function(e,u,c){var h=this,p=[],f=c.blob?c.blob:c,m=new qq.Identify(f,t);return m.isPreviewableSync()?(qq.each(d,function(e,i){var d=h._determineOutputType({defaultType:r,requestedType:i.type,refType:f.type});p.push({uuid:qq.getUniqueId(),name:h._getName(u,{name:i.name,type:d,refType:f.type}),blob:new qq.BlobProxy(f,qq.bind(h._generateScaledImage,h,{customResizeFunction:n,maxSize:i.maxSize,orient:o,type:d,quality:a,failedText:s,includeExif:l,log:t}))})}),p.push({uuid:e,name:u,size:f.size,blob:i?f:null})):p.push({uuid:e,name:u,size:f.size,blob:f}),p},handleNewFile:function(e,t,n,i,o,r,a,s){var l=this,d=(e.qqButtonId||e.blob&&e.blob.qqButtonId,[]),u=null,c=s.addFileToHandler,h=s.uploadData,p=s.paramsStore,f=qq.getUniqueId();qq.each(l.getFileRecords(n,t,e),function(e,t){var n,i=t.size;t.blob instanceof qq.BlobProxy&&(i=-1),n=h.addFile({uuid:t.uuid,name:t.name,size:i,batchId:r,proxyGroupId:f}),t.blob instanceof qq.BlobProxy?d.push(n):u=n,t.blob?(c(n,t.blob),o.push({id:n,file:t.blob})):h.setStatus(n,qq.status.REJECTED)}),null!==u&&(qq.each(d,function(e,t){var n={qqparentuuid:h.retrieve({id:u}).uuid,qqparentsize:h.retrieve({id:u}).size};n[a]=h.retrieve({id:t}).uuid,h.setParentId(t,u),p.addReadOnly(t,n)}),d.length&&!function(){var e={};e[a]=h.retrieve({id:u}).uuid,p.addReadOnly(u,e)}())}})},qq.extend(qq.Scaler.prototype,{scaleImage:function(e,t,n){"use strict";if(!qq.supportedFeatures.scaling)throw new qq.Error("Scaling is not supported in this browser!");var i=new qq.Promise,o=n.log,r=n.getFile(e),a=n.uploadData.retrieve({id:e}),s=a&&a.name,l=a&&a.uuid,d={customResizer:t.customResizer,sendOriginal:!1,orient:t.orient,defaultType:t.type||null,defaultQuality:t.quality,failedToScaleText:"Unable to scale",sizes:[{name:"",maxSize:t.maxSize}]},u=new qq.Scaler(d,o);return qq.Scaler&&qq.supportedFeatures.imagePreviews&&r?qq.bind(function(){var t=u.getFileRecords(l,s,r)[0];t&&t.blob instanceof qq.BlobProxy?t.blob.create().then(i.success,i.failure):(o(e+" is not a scalable image!","error"),i.failure())},this)():(i.failure(),o("Could not generate requested scaled image for "+e+". Scaling is either not possible in this browser, or the file could not be located.","error")),i},_determineOutputType:function(e){"use strict";var t=e.requestedType,n=e.defaultType,i=e.refType;return n||t?t&&qq.indexOf(Object.keys(qq.Identify.prototype.PREVIEWABLE_MIME_TYPES),t)>=0?"image/tiff"===t?qq.supportedFeatures.tiffPreviews?t:n:t:n:"image/jpeg"!==i?"image/png":i},_getName:function(e,t){"use strict";var n=e.lastIndexOf("."),i=t.type||"image/png",o=t.refType,r="",a=qq.getExtension(e),s="";return t.name&&t.name.trim().length&&(s=" ("+t.name+")"),n>=0?(r=e.substr(0,n),o!==i&&(a=i.split("/")[1]),r+=s+"."+a):r=e+s,r},_getSortedSizes:function(e){"use strict";return e=qq.extend([],e),e.sort(function(e,t){return e.maxSize>t.maxSize?1:e.maxSize<t.maxSize?-1:0})},_generateScaledImage:function(e,t){"use strict";var n=this,i=e.customResizeFunction,o=e.log,r=e.maxSize,a=e.orient,s=e.type,l=e.quality,d=e.failedText,u=e.includeExif&&"image/jpeg"===t.type&&"image/jpeg"===s,c=new qq.Promise,h=new qq.ImageGenerator(o),p=document.createElement("canvas");return o("Attempting to generate scaled version for "+t.name),h.generate(t,p,{maxSize:r,orient:a,customResizeFunction:i}).then(function(){var e=p.toDataURL(s,l),i=function(){o("Success generating scaled version for "+t.name);var n=qq.dataUriToBlob(e);c.success(n)};u?n._insertExifHeader(t,e,o).then(function(t){e=t,i()},function(){o("Problem inserting EXIF header into scaled image. Using scaled image w/out EXIF data.","error"),i()}):i()},function(){o("Failed attempt to generate scaled version for "+t.name,"error"),c.failure(d)}),c},_insertExifHeader:function(e,t,n){"use strict";var i=new FileReader,o=new qq.Promise,r="";return i.onload=function(){r=i.result,o.success(qq.ExifRestorer.restore(r,t))},i.onerror=function(){n("Problem reading "+e.name+" during attempt to transfer EXIF data to scaled version.","error"),o.failure()},i.readAsDataURL(e),o},_dataUriToBlob:function(e){"use strict";var t,n,i,o;return t=e.split(",")[0].indexOf("base64")>=0?atob(e.split(",")[1]):decodeURI(e.split(",")[1]),n=e.split(",")[0].split(":")[1].split(";")[0],i=new ArrayBuffer(t.length),o=new Uint8Array(i),qq.each(t,function(e,t){o[e]=t.charCodeAt(0)}),this._createBlob(i,n)},_createBlob:function(e,t){"use strict";var n=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,i=n&&new n;return i?(i.append(e),i.getBlob(t)):new Blob([e],{type:t})}}),qq.ExifRestorer=function(){var e={};return e.KEY_STR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",e.encode64=function(e){var t,n,i,o,r,a="",s="",l="",d=0;do t=e[d++],n=e[d++],s=e[d++],i=t>>2,o=(3&t)<<4|n>>4,r=(15&n)<<2|s>>6,l=63&s,isNaN(n)?r=l=64:isNaN(s)&&(l=64),a=a+this.KEY_STR.charAt(i)+this.KEY_STR.charAt(o)+this.KEY_STR.charAt(r)+this.KEY_STR.charAt(l),t=n=s="",i=o=r=l="";while(d<e.length);return a},e.restore=function(e,t){var n="data:image/jpeg;base64,";if(!e.match(n))return t;var i=this.decode64(e.replace(n,"")),o=this.slice2Segments(i),r=this.exifManipulation(t,o);return n+this.encode64(r)},e.exifManipulation=function(e,t){var n=this.getExifArray(t),i=this.insertExif(e,n),o=new Uint8Array(i);return o},e.getExifArray=function(e){for(var t,n=0;n<e.length;n++)if(t=e[n],255==t[0]&225==t[1])return t;return[]},e.insertExif=function(e,t){var n=e.replace("data:image/jpeg;base64,",""),i=this.decode64(n),o=i.indexOf(255,3),r=i.slice(0,o),a=i.slice(o),s=r;return s=s.concat(t),s=s.concat(a)},e.slice2Segments=function(e){for(var t=0,n=[];;){if(255==e[t]&218==e[t+1])break;if(255==e[t]&216==e[t+1])t+=2;else{var i=256*e[t+2]+e[t+3],o=t+i+2,r=e.slice(t,o);n.push(r),t=o}if(t>e.length)break}return n},e.decode64=function(e){var t,n,i,o,r,a="",s="",l=0,d=[],u=/[^A-Za-z0-9\+\/\=]/g;if(u.exec(e))throw new Error("There were invalid base64 characters in the input text. Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='");e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do i=this.KEY_STR.indexOf(e.charAt(l++)),o=this.KEY_STR.indexOf(e.charAt(l++)),r=this.KEY_STR.indexOf(e.charAt(l++)),s=this.KEY_STR.indexOf(e.charAt(l++)),t=i<<2|o>>4,n=(15&o)<<4|r>>2,a=(3&r)<<6|s,d.push(t),64!=r&&d.push(n),64!=s&&d.push(a),t=n=a="",i=o=r=s="";while(l<e.length);return d},e}(),qq.TotalProgress=function(e,t){"use strict";var n={},i=0,o=0,r=-1,a=-1,s=function(t,n){t===r&&n===a||e(t,n),r=t,a=n},l=function(e,t){var n=!0;return qq.each(e,function(e,i){if(qq.indexOf(t,i)>=0)return n=!1,!1}),n},d=function(e){h(e,-1,-1),delete n[e]},u=function(e,t,n){(0===t.length||l(t,n))&&(s(o,o),this.reset())},c=function(e){var i=t(e);i>0&&(h(e,0,i),n[e]={loaded:0,total:i})},h=function(e,t,r){var a=n[e]?n[e].loaded:0,l=n[e]?n[e].total:0;t===-1&&r===-1?(i-=a,o-=l):(t&&(i+=t-a),r&&(o+=r-l)),s(i,o)};qq.extend(this,{onAllComplete:u,onStatusChange:function(e,t,n){n===qq.status.CANCELED||n===qq.status.REJECTED?d(e):n===qq.status.SUBMITTING&&c(e)},onIndividualProgress:function(e,t,i){h(e,t,i),n[e]={loaded:t,total:i}},onNewSize:function(e){c(e)},reset:function(){n={},i=0,o=0}})},qq.PasteSupport=function(e){"use strict";function isImage(e){return e.type&&0===e.type.indexOf("image/")}function registerPasteHandler(){n=qq(t.targetElement).attach("paste",function(e){var n=e.clipboardData;n&&qq.each(n.items,function(e,n){if(isImage(n)){var i=n.getAsFile();t.callbacks.pasteReceived(i)}})})}function unregisterPasteHandler(){n&&n()}var t,n;t={targetElement:null,callbacks:{log:function(e,t){},pasteReceived:function(e){}}},qq.extend(t,e),registerPasteHandler(),qq.extend(this,{reset:function(){unregisterPasteHandler()}})},qq.FormSupport=function(e,t,n){"use strict";function determineNewEndpoint(e){e.getAttribute("action")&&(i.newEndpoint=e.getAttribute("action"))}function validateForm(e,t){return!(e.checkValidity&&!e.checkValidity())||(n("Form did not pass validation checks - will not upload.","error"),void t())}function maybeUploadOnSubmit(e){var n=e.submit;qq(e).attach("submit",function(i){i=i||window.event,i.preventDefault?i.preventDefault():i.returnValue=!1,validateForm(e,n)&&t()}),e.submit=function(){validateForm(e,n)&&t()}}function determineFormEl(e){return e&&(qq.isString(e)&&(e=document.getElementById(e)),e&&(n("Attaching to form element."),determineNewEndpoint(e),o&&maybeUploadOnSubmit(e))),e}var i=this,o=e.interceptSubmit,r=e.element,a=e.autoUpload;qq.extend(this,{newEndpoint:null,newAutoUpload:a,attachedToForm:!1,getFormInputsAsObject:function(){return null==r?null:i._form2Obj(r)}}),r=determineFormEl(r),this.attachedToForm=!!r},qq.extend(qq.FormSupport.prototype,{_form2Obj:function(e){"use strict";var t={},n=function(e){var t=["button","image","reset","submit"];return qq.indexOf(t,e.toLowerCase())<0},i=function(e){return qq.indexOf(["checkbox","radio"],e.toLowerCase())>=0},o=function(e){return!(!i(e.type)||e.checked)||e.disabled&&"hidden"!==e.type.toLowerCase()},r=function(e){var t=null;return qq.each(qq(e).children(),function(e,n){if("option"===n.tagName.toLowerCase()&&n.selected)return t=n.value,!1}),t};return qq.each(e.elements,function(e,i){if(!qq.isInput(i,!0)&&"textarea"!==i.tagName.toLowerCase()||!n(i.type)||o(i)){if("select"===i.tagName.toLowerCase()&&!o(i)){var a=r(i);null!==a&&(t[i.name]=a)}}else t[i.name]=i.value}),t}}),qq.traditional=qq.traditional||{},qq.traditional.FormUploadHandler=function(e,t){"use strict";function getIframeContentJson(e,t){var i,o,a;try{o=t.contentDocument||t.contentWindow.document,a=o.body.innerHTML,r("converting iframe's innerHTML to JSON"),r("innerHTML = "+a),a&&a.match(/^<pre/i)&&(a=o.body.firstChild.firstChild.nodeValue),i=n._parseJsonResponse(a)}catch(s){r("Error when attempting to parse form upload response ("+s.message+")","error"),i={success:!1}}return i}function createForm(t,r){var a=e.paramsStore.get(t),s="get"===e.method.toLowerCase()?"GET":"POST",l=e.endpointStore.get(t),d=i(t);return a[e.uuidName]=o(t),a[e.filenameParam]=d,n._initFormForUpload({method:s,endpoint:l,params:a,paramsInBody:e.paramsInBody,targetName:r.name})}var n=this,i=t.getName,o=t.getUuid,r=t.log;this.uploadFile=function(t){var i,o=n.getInput(t),a=n._createIframe(t),s=new qq.Promise;return i=createForm(t,a),i.appendChild(o),n._attachLoadEvent(a,function(i){r("iframe loaded");var o=i?i:getIframeContentJson(t,a);n._detachLoadEvent(t),e.cors.expected||qq(a).remove(),o.success?s.success(o):s.failure(o)}),r("Sending upload request for "+t),i.submit(),qq(i).remove(),s},qq.extend(this,new qq.FormUploadHandler({options:{isCors:e.cors.expected,inputName:e.inputName},proxy:{onCancel:e.onCancel,getName:i,getUuid:o,log:r}}))},qq.traditional=qq.traditional||{},qq.traditional.XhrUploadHandler=function(e,t){"use strict";var n=this,i=t.getName,o=t.getSize,r=t.getUuid,a=t.log,s=e.forceMultipart||e.paramsInBody,l=function(t,n,r){var a=o(t),l=i(t);e.omitDefaultParams||(n[e.chunking.paramNames.partIndex]=r.part,n[e.chunking.paramNames.partByteOffset]=r.start,n[e.chunking.paramNames.chunkSize]=r.size,n[e.chunking.paramNames.totalParts]=r.count,n[e.totalFileSizeName]=a),s&&!e.omitDefaultParams&&(n[e.filenameParam]=l)},d=new qq.traditional.AllChunksDoneAjaxRequester({cors:e.cors,endpoint:e.chunking.success.endpoint,headers:e.chunking.success.headers,jsonPayload:e.chunking.success.jsonPayload,log:a,method:e.chunking.success.method,params:e.chunking.success.params}),u=function(e,t){var n=new qq.Promise;return t.onreadystatechange=function(){if(4===t.readyState){var i=p(e,t);i.success?n.success(i.response,t):n.failure(i.response,t)}},n},c=function(t){var a=e.paramsStore.get(t),s=i(t),l=o(t);return a[e.uuidName]=r(t),a[e.filenameParam]=s,a[e.totalFileSizeName]=l,a[e.chunking.paramNames.totalParts]=n._getTotalChunks(t),a},h=function(t,n){return qq.indexOf([200,201,202,203,204],t.status)<0||e.requireSuccessJson&&!n.success||n.reset},p=function(e,t){var n;return a("xhr - server response received for "+e),a("responseText = "+t.responseText),n=f(!0,t),{success:!h(t,n),response:n}},f=function(t,n){var i={};try{a(qq.format("Received response status {} with body: {}",n.status,n.responseText)),i=qq.parseJson(n.responseText)}catch(o){t&&e.requireSuccessJson&&a("Error when attempting to parse xhr response text ("+o.message+")","error")}return i},m=function(t){var i=new qq.Promise;return d.complete(t,n._createXhr(t),c(t),e.customHeaders.get(t)).then(function(e){i.success(f(!1,e),e)},function(e){i.failure(f(!1,e),e)}),i},g=function(t){var n,a=t.fileOrBlob,l=t.id,d=t.xhr,u=t.xhrOverrides||{},c=t.customParams||{},h=t.params||{},p=u.params||{},f=s?new FormData:null,m=u.method||e.method,g=u.endpoint||e.endpointStore.get(l),b=i(l),q=o(l);return e.omitDefaultParams?(n=qq.extend({},c),qq.extend(n,p)):(n=qq.extend({},c),qq.extend(n,p),qq.extend(n,h),n[e.uuidName]=r(l),n[e.filenameParam]=b,s?n[e.totalFileSizeName]=q:e.paramsInBody||(n[e.inputName]=b)),e.paramsInBody||(g=qq.obj2url(n,g)),d.open(m,g,!0),e.cors.expected&&e.cors.sendCredentials&&(d.withCredentials=!0),s?(e.paramsInBody&&qq.obj2FormData(n,f),f.append(e.inputName,a),f):a},b=function(t){var i=t.headerOverrides,o=t.id,r=t.xhr;if(i)qq.each(i,function(e,t){r.setRequestHeader(e,t)});else{var a=e.customHeaders.get(o),l=n.getFile(o);r.setRequestHeader("Accept","application/json"),r.setRequestHeader("X-Requested-With","XMLHttpRequest"),r.setRequestHeader("Cache-Control","no-cache"),s||(r.setRequestHeader("Content-Type","application/octet-stream"),r.setRequestHeader("X-Mime-Type",l.type)),qq.each(a,function(e,t){r.setRequestHeader(e,t)})}};qq.extend(this,{uploadChunk:function(t){var i,o,r,a=t.id,s=t.chunkIdx,d=t.overrides||{},c=t.resuming,h=n._getChunkData(a,s),p=n._createXhr(a,s),f={};return i=u(a,p),n._registerProgressHandler(a,s,h.size),r=e.paramsStore.get(a),l(a,f,h),c&&(f[e.resume.paramNames.resuming]=!0),o=g({fileOrBlob:h.blob,id:a,customParams:r,params:f,xhr:p,xhrOverrides:d}),b({headerOverrides:d.headers,id:a,xhr:p}),p.send(o),i},uploadFile:function(t){var i,o,r,a,s=n.getFile(t);return o=n._createXhr(t),n._registerProgressHandler(t),i=u(t,o),r=e.paramsStore.get(t),a=g({fileOrBlob:s,id:t,customParams:r,xhr:o}),b({id:t,xhr:o}),o.send(a),i}}),qq.extend(this,new qq.XhrUploadHandler({options:qq.extend({namespace:"traditional"},e),proxy:qq.extend({getEndpoint:e.endpointStore.get},t)})),qq.override(this,function(n){return{finalizeChunks:function(i){return t.onFinalizing(i),e.chunking.success.endpoint?m(i):n.finalizeChunks(i,qq.bind(f,this,!0))}}})},qq.traditional.AllChunksDoneAjaxRequester=function(e){"use strict";var t,n={cors:{allowXdr:!1,expected:!1,sendCredentials:!1},endpoint:null,log:function(e,t){},method:"POST"},i={},o={get:function(e){return qq.isFunction(n.endpoint)?n.endpoint(e):n.endpoint}};qq.extend(n,e),t=qq.extend(this,new qq.AjaxRequester({acceptHeader:"application/json",contentType:n.jsonPayload?"application/json":"application/x-www-form-urlencoded",validMethods:[n.method],method:n.method,endpointStore:o,allowXRequestedWithAndCacheControl:!1,cors:n.cors,log:n.log,onComplete:function(e,t,n){var o=i[e];delete i[e],n?o.failure(t):o.success(t)}})),qq.extend(this,{complete:function(e,o,r,a){var s=new qq.Promise;return n.log("Submitting All Chunks Done request for "+e),i[e]=s,t.initTransport(e).withParams(n.params(e)||r).withHeaders(n.headers(e)||a).send(o),s}})},qq.DragAndDrop=function(e){"use strict";function uploadDroppedFiles(e,n){var i=Array.prototype.slice.call(e);t.callbacks.dropLog("Grabbed "+e.length+" dropped files."),n.dropDisabled(!1),t.callbacks.processingDroppedFilesComplete(i,n.getElement())}function traverseFileTree(e){var n=new qq.Promise;return e.isFile?e.file(function(t){t.qqPath=extractDirectoryPath(e),r.push(t),n.success()},function(i){t.callbacks.dropLog("Problem parsing '"+e.fullPath+"'. FileError code "+i.code+".","error"),n.failure()}):e.isDirectory&&getFilesInDirectory(e).then(function(e){var t=e.length;qq.each(e,function(e,i){traverseFileTree(i).done(function(){t-=1,0===t&&n.success()})}),e.length||n.success()},function(i){t.callbacks.dropLog("Problem parsing '"+e.fullPath+"'. FileError code "+i.code+".","error"),n.failure()}),n}function extractDirectoryPath(e){var t=e.name,n=e.fullPath,i=n.lastIndexOf(t);return n=n.substr(0,i),"/"===n.charAt(0)&&(n=n.substr(1)),n}function getFilesInDirectory(e,t,n,i){var o=i||new qq.Promise,r=t||e.createReader();return r.readEntries(function(t){var i=n?n.concat(t):t;t.length?setTimeout(function(){getFilesInDirectory(e,r,i,o)},0):o.success(i)},o.failure),o}function handleDataTransfer(e,n){var i=[],o=new qq.Promise;return t.callbacks.processingDroppedFiles(),n.dropDisabled(!0),e.files.length>1&&!t.allowMultipleItems?(t.callbacks.processingDroppedFilesComplete([]),t.callbacks.dropError("tooManyFilesError",""),n.dropDisabled(!1),o.failure()):(r=[],qq.isFolderDropSupported(e)?qq.each(e.items,function(e,t){var n=t.webkitGetAsEntry();n&&(n.isFile?r.push(t.getAsFile()):i.push(traverseFileTree(n).done(function(){i.pop(),0===i.length&&o.success()})))}):r=e.files,0===i.length&&o.success()),o}function setupDropzone(e){var s=new qq.UploadDropZone({HIDE_ZONES_EVENT_NAME:n,element:e,onEnter:function(n){qq(e).addClass(t.classes.dropActive),n.stopPropagation()},onLeaveNotDescendants:function(n){qq(e).removeClass(t.classes.dropActive)},onDrop:function(e){handleDataTransfer(e.dataTransfer,s).then(function(){uploadDroppedFiles(r,s)},function(){t.callbacks.dropLog("Drop event DataTransfer parsing failed. No files will be uploaded.","error")})}});return a.addDisposer(function(){s.dispose()}),qq(e).hasAttribute(i)&&qq(e).hide(),o.push(s),s}function isFileDrag(e){var t;return qq.each(e.dataTransfer.types,function(e,n){if("Files"===n)return t=!0,!1}),t}function leavingDocumentOut(e){return qq.safari()?e.x<0||e.y<0:0===e.x&&0===e.y}function setupDragDrop(){var e=t.dropZoneElements,o=function(){setTimeout(function(){qq.each(e,function(e,n){qq(n).hasAttribute(i)&&qq(n).hide(),qq(n).removeClass(t.classes.dropActive)})},10)};qq.each(e,function(t,n){var o=setupDropzone(n);e.length&&qq.supportedFeatures.fileDrop&&a.attach(document,"dragenter",function(t){!o.dropDisabled()&&isFileDrag(t)&&qq.each(e,function(e,t){t instanceof HTMLElement&&qq(t).hasAttribute(i)&&qq(t).css({display:"block"})})})}),a.attach(document,"dragleave",function(e){leavingDocumentOut(e)&&o()}),a.attach(qq(document).children()[0],"mouseenter",function(e){o()}),a.attach(document,"drop",function(e){isFileDrag(e)&&(e.preventDefault(),o())}),a.attach(document,n,o)}var t,n="qq-hidezones",i="qq-hide-dropzone",o=[],r=[],a=new qq.DisposeSupport;t={dropZoneElements:[],allowMultipleItems:!0,classes:{dropActive:null},callbacks:new qq.DragAndDrop.callbacks},qq.extend(t,e,!0),setupDragDrop(),qq.extend(this,{setupExtraDropzone:function(e){t.dropZoneElements.push(e),setupDropzone(e)},removeDropzone:function(e){var n,i=t.dropZoneElements;for(n in i)if(i[n]===e)return i.splice(n,1)},dispose:function(){a.dispose(),qq.each(o,function(e,t){t.dispose()})}}),this._testing={},this._testing.extractDirectoryPath=extractDirectoryPath},qq.DragAndDrop.callbacks=function(){"use strict";return{processingDroppedFiles:function(){},processingDroppedFilesComplete:function(e,t){},dropError:function(e,t){qq.log("Drag & drop error code '"+e+" with these specifics: '"+t+"'","error")},dropLog:function(e,t){qq.log(e,t)}}},qq.UploadDropZone=function(e){"use strict";function dragoverShouldBeCanceled(){return qq.safari()||qq.firefox()&&qq.windows()}function disableDropOutside(e){o||(dragoverShouldBeCanceled?r.attach(document,"dragover",function(e){e.preventDefault()}):r.attach(document,"dragover",function(e){e.dataTransfer&&(e.dataTransfer.dropEffect="none",e.preventDefault())}),o=!0)}function isValidFileDrag(e){if(!qq.supportedFeatures.fileDrop)return!1;var t,n=e.dataTransfer,i=qq.safari();return t=!(!qq.ie()||!qq.supportedFeatures.fileDrop)||"none"!==n.effectAllowed,n&&t&&(n.files&&n.files.length||!i&&n.types.contains&&n.types.contains("Files")||n.types.includes&&n.types.includes("Files"))}function isOrSetDropDisabled(e){return void 0!==e&&(i=e),i}function triggerHidezonesEvent(){function triggerUsingOldApi(){e=document.createEvent("Event"),e.initEvent(t.HIDE_ZONES_EVENT_NAME,!0,!0)}var e;if(window.CustomEvent)try{e=new CustomEvent(t.HIDE_ZONES_EVENT_NAME)}catch(n){triggerUsingOldApi()}else triggerUsingOldApi();document.dispatchEvent(e)}function attachEvents(){r.attach(n,"dragover",function(e){if(isValidFileDrag(e)){var t=qq.ie()&&qq.supportedFeatures.fileDrop?null:e.dataTransfer.effectAllowed;"move"===t||"linkMove"===t?e.dataTransfer.dropEffect="move":e.dataTransfer.dropEffect="copy",e.stopPropagation(),e.preventDefault()}}),r.attach(n,"dragenter",function(e){if(!isOrSetDropDisabled()){if(!isValidFileDrag(e))return;t.onEnter(e)}}),r.attach(n,"dragleave",function(e){if(isValidFileDrag(e)){t.onLeave(e);var n=document.elementFromPoint(e.clientX,e.clientY);qq(this).contains(n)||t.onLeaveNotDescendants(e)}}),r.attach(n,"drop",function(e){if(!isOrSetDropDisabled()){if(!isValidFileDrag(e))return;e.preventDefault(),e.stopPropagation(),t.onDrop(e),triggerHidezonesEvent()}})}var t,n,i,o,r=new qq.DisposeSupport;t={element:null,onEnter:function(e){},onLeave:function(e){},onLeaveNotDescendants:function(e){},onDrop:function(e){}},qq.extend(t,e),n=t.element,disableDropOutside(),attachEvents(),qq.extend(this,{dropDisabled:function(e){return isOrSetDropDisabled(e)},dispose:function(){r.dispose()},getElement:function(){return n}}),this._testing={},this._testing.isValidFileDrag=isValidFileDrag},function(){"use strict";qq.uiPublicApi={addInitialFiles:function(e){this._parent.prototype.addInitialFiles.apply(this,arguments),this._templating.addCacheToDom()},clearStoredFiles:function(){this._parent.prototype.clearStoredFiles.apply(this,arguments),this._templating.clearFiles()},addExtraDropzone:function(e){this._dnd&&this._dnd.setupExtraDropzone(e)},removeExtraDropzone:function(e){if(this._dnd)return this._dnd.removeDropzone(e)},getItemByFileId:function(e){if(!this._templating.isHiddenForever(e))return this._templating.getFileContainer(e)},reset:function(){this._parent.prototype.reset.apply(this,arguments),this._templating.reset(),!this._options.button&&this._templating.getButton()&&(this._defaultButtonId=this._createUploadButton({element:this._templating.getButton(),title:this._options.text.fileInputTitle}).getButtonId()),this._dnd&&(this._dnd.dispose(),this._dnd=this._setupDragAndDrop()),this._totalFilesInBatch=0,this._filesInBatchAddedToUi=0,this._setupClickAndEditEventHandlers()},setName:function(e,t){var n=this._options.formatFileName(t);this._parent.prototype.setName.apply(this,arguments),this._templating.updateFilename(e,n)},pauseUpload:function(e){var t=this._parent.prototype.pauseUpload.apply(this,arguments);return t&&this._templating.uploadPaused(e),t},continueUpload:function(e){var t=this._parent.prototype.continueUpload.apply(this,arguments);return t&&this._templating.uploadContinued(e),t},getId:function(e){return this._templating.getFileId(e)},getDropTarget:function(e){var t=this.getFile(e);return t.qqDropTarget}},qq.uiPrivateApi={_getButton:function(e){var t=this._parent.prototype._getButton.apply(this,arguments);return t||e===this._defaultButtonId&&(t=this._templating.getButton()),t},_removeFileItem:function(e){this._templating.removeFile(e)},_setupClickAndEditEventHandlers:function(){this._fileButtonsClickHandler=qq.FileButtonsClickHandler&&this._bindFileButtonsClickEvent(),this._focusinEventSupported=!qq.firefox(),this._isEditFilenameEnabled()&&(this._filenameClickHandler=this._bindFilenameClickEvent(),this._filenameInputFocusInHandler=this._bindFilenameInputFocusInEvent(),this._filenameInputFocusHandler=this._bindFilenameInputFocusEvent())},_setupDragAndDrop:function(){var e=this,t=this._options.dragAndDrop.extraDropzones,n=this._templating,i=n.getDropZone();return i&&t.push(i),new qq.DragAndDrop({dropZoneElements:t,allowMultipleItems:this._options.multiple,classes:{dropActive:this._options.classes.dropActive},callbacks:{processingDroppedFiles:function(){n.showDropProcessing()},processingDroppedFilesComplete:function(t,i){n.hideDropProcessing(),qq.each(t,function(e,t){t.qqDropTarget=i}),t.length&&e.addFiles(t,null,null)},dropError:function(t,n){e._itemError(t,n)},dropLog:function(t,n){e.log(t,n)}}})},_bindFileButtonsClickEvent:function(){var e=this;return new qq.FileButtonsClickHandler({templating:this._templating,log:function(t,n){
8
8
  e.log(t,n)},onDeleteFile:function(t){e.deleteFile(t)},onCancel:function(t){e.cancel(t)},onRetry:function(t){e.retry(t)},onPause:function(t){e.pauseUpload(t)},onContinue:function(t){e.continueUpload(t)},onGetName:function(t){return e.getName(t)}})},_isEditFilenameEnabled:function(){return this._templating.isEditFilenamePossible()&&!this._options.autoUpload&&qq.FilenameClickHandler&&qq.FilenameInputFocusHandler&&qq.FilenameInputFocusHandler},_filenameEditHandler:function(){var e=this,t=this._templating;return{templating:t,log:function(t,n){e.log(t,n)},onGetUploadStatus:function(t){return e.getUploads({id:t}).status},onGetName:function(t){return e.getName(t)},onSetName:function(t,n){e.setName(t,n)},onEditingStatusChange:function(e,n){var i=qq(t.getEditInput(e)),o=qq(t.getFileContainer(e));n?(i.addClass("qq-editing"),t.hideFilename(e),t.hideEditIcon(e)):(i.removeClass("qq-editing"),t.showFilename(e),t.showEditIcon(e)),o.addClass("qq-temp").removeClass("qq-temp")}}},_onUploadStatusChange:function(e,t,n){this._parent.prototype._onUploadStatusChange.apply(this,arguments),this._isEditFilenameEnabled()&&this._templating.getFileContainer(e)&&n!==qq.status.SUBMITTED&&(this._templating.markFilenameEditable(e),this._templating.hideEditIcon(e)),t===qq.status.UPLOAD_RETRYING&&n===qq.status.UPLOADING?(this._templating.hideRetry(e),this._templating.setStatusText(e),qq(this._templating.getFileContainer(e)).removeClass(this._classes.retrying)):n===qq.status.UPLOAD_FAILED&&this._templating.hidePause(e)},_bindFilenameInputFocusInEvent:function(){var e=qq.extend({},this._filenameEditHandler());return new qq.FilenameInputFocusInHandler(e)},_bindFilenameInputFocusEvent:function(){var e=qq.extend({},this._filenameEditHandler());return new qq.FilenameInputFocusHandler(e)},_bindFilenameClickEvent:function(){var e=qq.extend({},this._filenameEditHandler());return new qq.FilenameClickHandler(e)},_storeForLater:function(e){this._parent.prototype._storeForLater.apply(this,arguments),this._templating.hideSpinner(e)},_onAllComplete:function(e,t){this._parent.prototype._onAllComplete.apply(this,arguments),this._templating.resetTotalProgress()},_onSubmit:function(e,t){var n=this.getFile(e);n&&n.qqPath&&this._options.dragAndDrop.reportDirectoryPaths&&this._paramsStore.addReadOnly(e,{qqpath:n.qqPath}),this._parent.prototype._onSubmit.apply(this,arguments),this._addToList(e,t)},_onSubmitted:function(e){this._isEditFilenameEnabled()&&(this._templating.markFilenameEditable(e),this._templating.showEditIcon(e),this._focusinEventSupported||this._filenameInputFocusHandler.addHandler(this._templating.getEditInput(e)))},_onProgress:function(e,t,n,i){this._parent.prototype._onProgress.apply(this,arguments),this._templating.updateProgress(e,n,i),0===i||100===Math.round(n/i*100)?(this._templating.hideCancel(e),this._templating.hidePause(e),this._templating.hideProgress(e),this._templating.setStatusText(e,this._options.text.waitingForResponse),this._displayFileSize(e)):this._displayFileSize(e,n,i)},_onTotalProgress:function(e,t){this._parent.prototype._onTotalProgress.apply(this,arguments),this._templating.updateTotalProgress(e,t)},_onComplete:function(e,t,n,i){function completeUpload(t){a&&(r.setStatusText(e),qq(a).removeClass(s._classes.retrying),r.hideProgress(e),s.getUploads({id:e}).status!==qq.status.UPLOAD_FAILED&&r.hideCancel(e),r.hideSpinner(e),t.success?s._markFileAsSuccessful(e):(qq(a).addClass(s._classes.fail),r.showCancel(e),r.isRetryPossible()&&!s._preventRetries[e]&&(qq(a).addClass(s._classes.retryable),r.showRetry(e)),s._controlFailureTextDisplay(e,t)))}var o=this._parent.prototype._onComplete.apply(this,arguments),r=this._templating,a=r.getFileContainer(e),s=this;return o instanceof qq.Promise?o.done(function(e){completeUpload(e)}):completeUpload(n),o},_markFileAsSuccessful:function(e){var t=this._templating;this._isDeletePossible()&&t.showDeleteButton(e),qq(t.getFileContainer(e)).addClass(this._classes.success),this._maybeUpdateThumbnail(e)},_onUploadPrep:function(e){this._parent.prototype._onUploadPrep.apply(this,arguments),this._templating.showSpinner(e)},_onUpload:function(e,t){var n=this._parent.prototype._onUpload.apply(this,arguments);return this._templating.showSpinner(e),n},_onUploadChunk:function(e,t){this._parent.prototype._onUploadChunk.apply(this,arguments),t.partIndex>0&&this._handler.isResumable(e)&&this._templating.allowPause(e)},_onCancel:function(e,t){this._parent.prototype._onCancel.apply(this,arguments),this._removeFileItem(e),0===this._getNotFinished()&&this._templating.resetTotalProgress()},_onBeforeAutoRetry:function(e){var t,n,i;this._parent.prototype._onBeforeAutoRetry.apply(this,arguments),this._showCancelLink(e),this._options.retry.showAutoRetryNote&&(t=this._autoRetries[e],n=this._options.retry.maxAutoAttempts,i=this._options.retry.autoRetryNote.replace(/\{retryNum\}/g,t),i=i.replace(/\{maxAuto\}/g,n),this._templating.setStatusText(e,i),qq(this._templating.getFileContainer(e)).addClass(this._classes.retrying))},_onBeforeManualRetry:function(e){return this._parent.prototype._onBeforeManualRetry.apply(this,arguments)?(this._templating.resetProgress(e),qq(this._templating.getFileContainer(e)).removeClass(this._classes.fail),this._templating.setStatusText(e),this._templating.showSpinner(e),this._showCancelLink(e),!0):(qq(this._templating.getFileContainer(e)).addClass(this._classes.retryable),this._templating.showRetry(e),!1)},_onSubmitDelete:function(e){var t=qq.bind(this._onSubmitDeleteSuccess,this);this._parent.prototype._onSubmitDelete.call(this,e,t)},_onSubmitDeleteSuccess:function(e,t,n){this._options.deleteFile.forceConfirm?this._showDeleteConfirm.apply(this,arguments):this._sendDeleteRequest.apply(this,arguments)},_onDeleteComplete:function(e,t,n){this._parent.prototype._onDeleteComplete.apply(this,arguments),this._templating.hideSpinner(e),n?(this._templating.setStatusText(e,this._options.deleteFile.deletingFailedText),this._templating.showDeleteButton(e)):this._removeFileItem(e)},_sendDeleteRequest:function(e,t,n){this._templating.hideDeleteButton(e),this._templating.showSpinner(e),this._templating.setStatusText(e,this._options.deleteFile.deletingStatusText),this._deleteHandler.sendDelete.apply(this,arguments)},_showDeleteConfirm:function(e,t,n){var i,o=this.getName(e),r=this._options.deleteFile.confirmMessage.replace(/\{filename\}/g,o),a=(this.getUuid(e),arguments),s=this;i=this._options.showConfirm(r),qq.isGenericPromise(i)?i.then(function(){s._sendDeleteRequest.apply(s,a)}):i!==!1&&s._sendDeleteRequest.apply(s,a)},_addToList:function(e,t,n){var i,o,r=0,a=this._handler.isProxied(e)&&this._options.scaling.hideScaled;this._options.display.prependFiles&&(this._totalFilesInBatch>1&&this._filesInBatchAddedToUi>0&&(r=this._filesInBatchAddedToUi-1),i={index:r}),n||(this._options.disableCancelForFormUploads&&!qq.supportedFeatures.ajaxUploading&&this._templating.disableCancel(),this._options.multiple||(o=this.getUploads({id:e}),this._handledProxyGroup=this._handledProxyGroup||o.proxyGroupId,o.proxyGroupId===this._handledProxyGroup&&o.proxyGroupId||(this._handler.cancelAll(),this._clearList(),this._handledProxyGroup=null))),n?(this._templating.addFileToCache(e,this._options.formatFileName(t),i,a),this._templating.updateThumbnail(e,this._thumbnailUrls[e],!0,this._options.thumbnails.customResizer)):(this._templating.addFile(e,this._options.formatFileName(t),i,a),this._templating.generatePreview(e,this.getFile(e),this._options.thumbnails.customResizer)),this._filesInBatchAddedToUi+=1,(n||this._options.display.fileSizeOnSubmit&&qq.supportedFeatures.ajaxUploading)&&this._displayFileSize(e)},_clearList:function(){this._templating.clearFiles(),this.clearStoredFiles()},_displayFileSize:function(e,t,n){var i=this.getSize(e),o=this._formatSize(i);i>=0&&(void 0!==t&&void 0!==n&&(o=this._formatProgress(t,n)),this._templating.updateSize(e,o))},_formatProgress:function(e,t){function r(e,t){n=n.replace(e,t)}var n=this._options.text.formatProgress;return r("{percent}",Math.round(e/t*100)),r("{total_size}",this._formatSize(t)),n},_controlFailureTextDisplay:function(e,t){var n,i,o;n=this._options.failedUploadTextDisplay.mode,i=this._options.failedUploadTextDisplay.responseProperty,"custom"===n?(o=t[i],o||(o=this._options.text.failUpload),this._templating.setStatusText(e,o),this._options.failedUploadTextDisplay.enableTooltip&&this._showTooltip(e,o)):"default"===n?this._templating.setStatusText(e,this._options.text.failUpload):"none"!==n&&this.log("failedUploadTextDisplay.mode value of '"+n+"' is not valid","warn")},_showTooltip:function(e,t){this._templating.getFileContainer(e).title=t},_showCancelLink:function(e){this._options.disableCancelForFormUploads&&!qq.supportedFeatures.ajaxUploading||this._templating.showCancel(e)},_itemError:function(e,t,n){var i=this._parent.prototype._itemError.apply(this,arguments);this._options.showMessage(i)},_batchError:function(e){this._parent.prototype._batchError.apply(this,arguments),this._options.showMessage(e)},_setupPastePrompt:function(){var e=this;this._options.callbacks.onPasteReceived=function(){var t=e._options.paste.namePromptMessage,n=e._options.paste.defaultName;return e._options.showPrompt(t,n)}},_fileOrBlobRejected:function(e,t){this._totalFilesInBatch-=1,this._parent.prototype._fileOrBlobRejected.apply(this,arguments)},_prepareItemsForUpload:function(e,t,n){this._totalFilesInBatch=e.length,this._filesInBatchAddedToUi=0,this._parent.prototype._prepareItemsForUpload.apply(this,arguments)},_maybeUpdateThumbnail:function(e){var t=this._thumbnailUrls[e],n=this.getUploads({id:e}).status;n===qq.status.DELETED||!t&&!this._options.thumbnails.placeholders.waitUntilResponse&&qq.supportedFeatures.imagePreviews||this._templating.updateThumbnail(e,t,this._options.thumbnails.customResizer)},_addCannedFile:function(e){var t=this._parent.prototype._addCannedFile.apply(this,arguments);return this._addToList(t,this.getName(t),!0),this._templating.hideSpinner(t),this._templating.hideCancel(t),this._markFileAsSuccessful(t),t},_setSize:function(e,t){this._parent.prototype._setSize.apply(this,arguments),this._templating.updateSize(e,this._formatSize(t))},_sessionRequestComplete:function(){this._templating.addCacheToDom(),this._parent.prototype._sessionRequestComplete.apply(this,arguments)}}}(),qq.FineUploader=function(e,t){"use strict";var n=this;this._parent=t?qq[t].FineUploaderBasic:qq.FineUploaderBasic,this._parent.apply(this,arguments),qq.extend(this._options,{element:null,button:null,listElement:null,dragAndDrop:{extraDropzones:[],reportDirectoryPaths:!1},text:{formatProgress:"{percent}% of {total_size}",failUpload:"Upload failed",waitingForResponse:"Processing...",paused:"Paused"},template:"qq-template",classes:{retrying:"qq-upload-retrying",retryable:"qq-upload-retryable",success:"qq-upload-success",fail:"qq-upload-fail",editable:"qq-editable",hide:"qq-hide",dropActive:"qq-upload-drop-area-active"},failedUploadTextDisplay:{mode:"default",responseProperty:"error",enableTooltip:!0},messages:{tooManyFilesError:"You may only drop one file",unsupportedBrowser:"Unrecoverable error - this browser does not permit file uploading of any kind."},retry:{showAutoRetryNote:!0,autoRetryNote:"Retrying {retryNum}/{maxAuto}..."},deleteFile:{forceConfirm:!1,confirmMessage:"Are you sure you want to delete {filename}?",deletingStatusText:"Deleting...",deletingFailedText:"Delete failed"},display:{fileSizeOnSubmit:!1,prependFiles:!1},paste:{promptForName:!1,namePromptMessage:"Please name this image"},thumbnails:{customResizer:null,maxCount:0,placeholders:{waitUntilResponse:!1,notAvailablePath:null,waitingPath:null},timeBetweenThumbs:750},scaling:{hideScaled:!1},showMessage:function(e){return n._templating.hasDialog("alert")?n._templating.showDialog("alert",e):void setTimeout(function(){window.alert(e)},0)},showConfirm:function(e){return n._templating.hasDialog("confirm")?n._templating.showDialog("confirm",e):window.confirm(e)},showPrompt:function(e,t){return n._templating.hasDialog("prompt")?n._templating.showDialog("prompt",e,t):window.prompt(e,t)}},!0),qq.extend(this._options,e,!0),this._templating=new qq.Templating({log:qq.bind(this.log,this),templateIdOrEl:this._options.template,containerEl:this._options.element,fileContainerEl:this._options.listElement,button:this._options.button,imageGenerator:this._imageGenerator,classes:{hide:this._options.classes.hide,editable:this._options.classes.editable},limits:{maxThumbs:this._options.thumbnails.maxCount,timeBetweenThumbs:this._options.thumbnails.timeBetweenThumbs},placeholders:{waitUntilUpdate:this._options.thumbnails.placeholders.waitUntilResponse,thumbnailNotAvailable:this._options.thumbnails.placeholders.notAvailablePath,waitingForThumbnail:this._options.thumbnails.placeholders.waitingPath},text:this._options.text}),this._options.workarounds.ios8SafariUploads&&qq.ios800()&&qq.iosSafari()?this._templating.renderFailure(this._options.messages.unsupportedBrowserIos8Safari):!qq.supportedFeatures.uploading||this._options.cors.expected&&!qq.supportedFeatures.uploadCors?this._templating.renderFailure(this._options.messages.unsupportedBrowser):(this._wrapCallbacks(),this._templating.render(),this._classes=this._options.classes,!this._options.button&&this._templating.getButton()&&(this._defaultButtonId=this._createUploadButton({element:this._templating.getButton(),title:this._options.text.fileInputTitle}).getButtonId()),this._setupClickAndEditEventHandlers(),qq.DragAndDrop&&qq.supportedFeatures.fileDrop&&(this._dnd=this._setupDragAndDrop()),this._options.paste.targetElement&&this._options.paste.promptForName&&(qq.PasteSupport?this._setupPastePrompt():this.log("Paste support module not found.","error")),this._totalFilesInBatch=0,this._filesInBatchAddedToUi=0)},qq.extend(qq.FineUploader.prototype,qq.basePublicApi),qq.extend(qq.FineUploader.prototype,qq.basePrivateApi),qq.extend(qq.FineUploader.prototype,qq.uiPublicApi),qq.extend(qq.FineUploader.prototype,qq.uiPrivateApi),qq.Templating=function(e){"use strict";var t,n,i,o,r,a,s,l,d="qq-file-id",u="qq-file-id-",c="qq-max-size",h="qq-server-scale",p="qq-hide-dropzone",f="qq-drop-area-text",m="qq-in-progress",g="qq-hidden-forever",b={content:document.createDocumentFragment(),map:{}},q=!1,v=0,_=!1,y=[],A=-1,w={log:null,limits:{maxThumbs:0,timeBetweenThumbs:750},templateIdOrEl:"qq-template",containerEl:null,fileContainerEl:null,button:null,imageGenerator:null,classes:{hide:"qq-hide",editable:"qq-editable"},placeholders:{waitUntilUpdate:!1,thumbnailNotAvailable:null,waitingForThumbnail:null},text:{paused:"Paused"}},x={button:"qq-upload-button-selector",alertDialog:"qq-alert-dialog-selector",dialogCancelButton:"qq-cancel-button-selector",confirmDialog:"qq-confirm-dialog-selector",dialogMessage:"qq-dialog-message-selector",dialogOkButton:"qq-ok-button-selector",promptDialog:"qq-prompt-dialog-selector",uploader:"qq-uploader-selector",drop:"qq-upload-drop-area-selector",list:"qq-upload-list-selector",progressBarContainer:"qq-progress-bar-container-selector",progressBar:"qq-progress-bar-selector",totalProgressBarContainer:"qq-total-progress-bar-container-selector",totalProgressBar:"qq-total-progress-bar-selector",file:"qq-upload-file-selector",spinner:"qq-upload-spinner-selector",size:"qq-upload-size-selector",cancel:"qq-upload-cancel-selector",pause:"qq-upload-pause-selector",continueButton:"qq-upload-continue-selector",deleteButton:"qq-upload-delete-selector",retry:"qq-upload-retry-selector",statusText:"qq-upload-status-text-selector",editFilenameInput:"qq-edit-filename-selector",editNameIcon:"qq-edit-filename-icon-selector",dropText:"qq-upload-drop-area-text-selector",dropProcessing:"qq-drop-processing-selector",dropProcessingSpinner:"qq-drop-processing-spinner-selector",thumbnail:"qq-thumbnail-selector"},C={},S=new qq.Promise,k=new qq.Promise,B=function(){var e=w.placeholders.thumbnailNotAvailable,n=w.placeholders.waitingForThumbnail,i={maxSize:A,scale:l};s&&(e?w.imageGenerator.generate(e,new Image,i).then(function(e){S.success(e)},function(){S.failure(),t("Problem loading 'not available' placeholder image at "+e,"error")}):S.failure(),n?w.imageGenerator.generate(n,new Image,i).then(function(e){k.success(e)},function(){k.failure(),t("Problem loading 'waiting for thumbnail' placeholder image at "+n,"error")}):k.failure())},F=function(e){var t=new qq.Promise;return k.then(function(n){X(n,e),e.src?t.success():(e.src=n.src,e.onload=function(){e.onload=null,te(e),t.success()})},function(){G(e),t.success()}),t},D=function(e,n,i){var o=V(e);return t("Generating new thumbnail for "+e),n.qqThumbnailId=e,w.imageGenerator.generate(n,o,i).then(function(){v++,te(o),C[e].success()},function(){C[e].failure(),w.placeholders.waitUntilUpdate||Y(e,o)})},I=function(){if(y.length){_=!0;var e=y.shift();e.update?Z(e):K(e)}else _=!1},E=function(e){return W(L(e),x.cancel)},P=function(e){return W(L(e),x.continueButton)},R=function(e){return W(r,x[e+"Dialog"])},T=function(e){return W(L(e),x.deleteButton)},U=function(){return W(r,x.dropProcessing)},O=function(e){return W(L(e),x.editNameIcon)},L=function(e){return b.map[e]||qq(a).getFirstByClass(u+e)},N=function(e){return W(L(e),x.file)},z=function(e){return W(L(e),x.pause)},M=function(e){return null==e?W(r,x.totalProgressBarContainer)||W(r,x.totalProgressBar):W(L(e),x.progressBarContainer)||W(L(e),x.progressBar)},H=function(e){return W(L(e),x.retry)},$=function(e){return W(L(e),x.size)},j=function(e){return W(L(e),x.spinner)},W=function(e,t){return e&&qq(e).getFirstByClass(t)},V=function(e){return s&&W(L(e),x.thumbnail)},G=function(e){e&&qq(e).addClass(w.classes.hide)},X=function(e,t){var n=e.style.maxWidth,i=e.style.maxHeight;i&&n&&!t.style.maxWidth&&!t.style.maxHeight&&qq(t).css({maxWidth:n,maxHeight:i})},Y=function(e,t){var n=C[e]||(new qq.Promise).failure(),i=new qq.Promise;return S.then(function(e){n.then(function(){i.success()},function(){X(e,t),t.onload=function(){t.onload=null,i.success()},t.src=e.src,te(t)})}),i},J=function(){var e,o,r,a,d,u,m,g,b,q,v;if(t("Parsing template"),null==w.templateIdOrEl)throw new Error("You MUST specify either a template element or ID!");if(qq.isString(w.templateIdOrEl)){if(e=document.getElementById(w.templateIdOrEl),null===e)throw new Error(qq.format("Cannot find template script at ID '{}'!",w.templateIdOrEl));o=e.innerHTML}else{if(void 0===w.templateIdOrEl.innerHTML)throw new Error("You have specified an invalid value for the template option! It must be an ID or an Element.");o=w.templateIdOrEl.innerHTML}if(o=qq.trimStr(o),a=document.createElement("div"),a.appendChild(qq.toElement(o)),v=qq(a).getFirstByClass(x.uploader),w.button&&(u=qq(a).getFirstByClass(x.button),u&&qq(u).remove()),qq.DragAndDrop&&qq.supportedFeatures.fileDrop||(b=qq(a).getFirstByClass(x.dropProcessing),b&&qq(b).remove()),m=qq(a).getFirstByClass(x.drop),m&&!qq.DragAndDrop&&(t("DnD module unavailable.","info"),qq(m).remove()),qq.supportedFeatures.fileDrop?qq(v).hasAttribute(f)&&m&&(q=qq(m).getFirstByClass(x.dropText),q&&qq(q).remove()):(v.removeAttribute(f),m&&qq(m).hasAttribute(p)&&qq(m).css({display:"none"})),g=qq(a).getFirstByClass(x.thumbnail),s?g&&(A=parseInt(g.getAttribute(c)),A=A>0?A:null,l=qq(g).hasAttribute(h)):g&&qq(g).remove(),s=s&&g,n=qq(a).getByClass(x.editFilenameInput).length>0,i=qq(a).getByClass(x.retry).length>0,r=qq(a).getFirstByClass(x.list),null==r)throw new Error("Could not find the file list container in the template!");return d=r.children[0].cloneNode(!0),r.innerHTML="",a.getElementsByTagName("DIALOG").length&&document.createElement("dialog"),t("Template parsing complete"),{template:a,fileTemplate:d}},Q=function(e,t,n){var i=n,o=i.firstChild;t>0&&(o=qq(i).children()[t].nextSibling),i.insertBefore(e,o)},K=function(e){var t=e.id,n=e.optFileOrBlob,i=n&&n.qqThumbnailId,o=V(t),r={customResizeFunction:e.customResizeFunction,maxSize:A,orient:!0,scale:!0};qq.supportedFeatures.imagePreviews?o?w.limits.maxThumbs&&w.limits.maxThumbs<=v?(Y(t,o),I()):F(o).done(function(){C[t]=new qq.Promise,C[t].done(function(){setTimeout(I,w.limits.timeBetweenThumbs)}),null!=i?ne(t,i):D(t,n,r)}):I():o&&(F(o),I())},Z=function(e){var t=e.id,n=e.thumbnailUrl,i=e.showWaitingImg,o=V(t),r={customResizeFunction:e.customResizeFunction,scale:l,maxSize:A};if(o)if(n){if(!(w.limits.maxThumbs&&w.limits.maxThumbs<=v))return i&&F(o),w.imageGenerator.generate(n,o,r).then(function(){te(o),v++,setTimeout(I,w.limits.timeBetweenThumbs)},function(){Y(t,o),setTimeout(I,w.limits.timeBetweenThumbs)});Y(t,o),I()}else Y(t,o),I()},ee=function(e,t){var n=M(e),i=null==e?x.totalProgressBar:x.progressBar;n&&!qq(n).hasClass(i)&&(n=qq(n).getFirstByClass(i)),n&&(qq(n).css({width:t+"%"}),n.setAttribute("aria-valuenow",t))},te=function(e){e&&qq(e).removeClass(w.classes.hide)},ne=function(e,n){var i=V(e),o=V(n);t(qq.format("ID {} is the same file as ID {}. Will use generated thumbnail from ID {} instead.",e,n,n)),C[n].then(function(){v++,C[e].success(),t(qq.format("Now using previously generated thumbnail created for ID {} on ID {}.",n,e)),i.src=o.src,te(i)},function(){C[e].failure(),w.placeholders.waitUntilUpdate||Y(e,i)})};qq.extend(w,e),t=w.log,qq.supportedFeatures.imagePreviews||(w.limits.timeBetweenThumbs=0,w.limits.maxThumbs=0),r=w.containerEl,s=void 0!==w.imageGenerator,o=J(),B(),qq.extend(this,{render:function(){t("Rendering template in DOM."),v=0,r.appendChild(o.template.cloneNode(!0)),G(U()),this.hideTotalProgress(),a=w.fileContainerEl||W(r,x.list),t("Template rendering complete")},renderFailure:function(e){var t=qq.toElement(e);r.innerHTML="",r.appendChild(t)},reset:function(){r.innerHTML="",this.render()},clearFiles:function(){a.innerHTML=""},disableCancel:function(){q=!0},addFile:function(e,t,n,i,s){var l,c=o.fileTemplate.cloneNode(!0),h=W(c,x.file),p=W(r,x.uploader),m=s?b.content:a;s&&(b.map[e]=c),qq(c).addClass(u+e),p.removeAttribute(f),h&&(qq(h).setText(t),h.setAttribute("title",t)),c.setAttribute(d,e),n?Q(c,n.index,m):m.appendChild(c),i?(c.style.display="none",qq(c).addClass(g)):(G(M(e)),G($(e)),G(T(e)),G(H(e)),G(z(e)),G(P(e)),q&&this.hideCancel(e),l=V(e),l&&!l.src&&k.then(function(e){l.src=e.src,e.style.maxHeight&&e.style.maxWidth&&qq(l).css({maxHeight:e.style.maxHeight,maxWidth:e.style.maxWidth}),te(l)}))},addFileToCache:function(e,t,n,i){this.addFile(e,t,n,i,!0)},addCacheToDom:function(){a.appendChild(b.content),b.content=document.createDocumentFragment(),b.map={}},removeFile:function(e){qq(L(e)).remove()},getFileId:function(e){var t=e;if(t){for(;null==t.getAttribute(d);)t=t.parentNode;return parseInt(t.getAttribute(d))}},getFileList:function(){return a},markFilenameEditable:function(e){var t=N(e);t&&qq(t).addClass(w.classes.editable)},updateFilename:function(e,t){var n=N(e);n&&(qq(n).setText(t),n.setAttribute("title",t))},hideFilename:function(e){G(N(e))},showFilename:function(e){te(N(e))},isFileName:function(e){return qq(e).hasClass(x.file)},getButton:function(){return w.button||W(r,x.button)},hideDropProcessing:function(){G(U())},showDropProcessing:function(){te(U())},getDropZone:function(){return W(r,x.drop)},isEditFilenamePossible:function(){return n},hideRetry:function(e){G(H(e))},isRetryPossible:function(){return i},showRetry:function(e){te(H(e))},getFileContainer:function(e){return L(e)},showEditIcon:function(e){var t=O(e);t&&qq(t).addClass(w.classes.editable)},isHiddenForever:function(e){return qq(L(e)).hasClass(g)},hideEditIcon:function(e){var t=O(e);t&&qq(t).removeClass(w.classes.editable)},isEditIcon:function(e){return qq(e).hasClass(x.editNameIcon,!0)},getEditInput:function(e){return W(L(e),x.editFilenameInput)},isEditInput:function(e){return qq(e).hasClass(x.editFilenameInput,!0)},updateProgress:function(e,t,n){var i,o=M(e);o&&n>0&&(i=Math.round(t/n*100),100===i?G(o):te(o),ee(e,i))},updateTotalProgress:function(e,t){this.updateProgress(null,e,t)},hideProgress:function(e){var t=M(e);t&&G(t)},hideTotalProgress:function(){this.hideProgress()},resetProgress:function(e){ee(e,0),this.hideTotalProgress(e)},resetTotalProgress:function(){this.resetProgress()},showCancel:function(e){if(!q){var t=E(e);t&&qq(t).removeClass(w.classes.hide)}},hideCancel:function(e){G(E(e))},isCancel:function(e){return qq(e).hasClass(x.cancel,!0)},allowPause:function(e){te(z(e)),G(P(e))},uploadPaused:function(e){this.setStatusText(e,w.text.paused),this.allowContinueButton(e),G(j(e))},hidePause:function(e){G(z(e))},isPause:function(e){return qq(e).hasClass(x.pause,!0)},isContinueButton:function(e){return qq(e).hasClass(x.continueButton,!0)},allowContinueButton:function(e){te(P(e)),G(z(e))},uploadContinued:function(e){this.setStatusText(e,""),this.allowPause(e),te(j(e))},showDeleteButton:function(e){te(T(e))},hideDeleteButton:function(e){G(T(e))},isDeleteButton:function(e){return qq(e).hasClass(x.deleteButton,!0)},isRetry:function(e){return qq(e).hasClass(x.retry,!0)},updateSize:function(e,t){var n=$(e);n&&(te(n),qq(n).setText(t))},setStatusText:function(e,t){var n=W(L(e),x.statusText);n&&(null==t?qq(n).clearText():qq(n).setText(t))},hideSpinner:function(e){qq(L(e)).removeClass(m),G(j(e))},showSpinner:function(e){qq(L(e)).addClass(m),te(j(e))},generatePreview:function(e,t,n){this.isHiddenForever(e)||(y.push({id:e,customResizeFunction:n,optFileOrBlob:t}),!_&&I())},updateThumbnail:function(e,t,n,i){this.isHiddenForever(e)||(y.push({customResizeFunction:i,update:!0,id:e,thumbnailUrl:t,showWaitingImg:n}),!_&&I())},hasDialog:function(e){return qq.supportedFeatures.dialogElement&&!!R(e)},showDialog:function(e,t,n){var i=R(e),o=W(i,x.dialogMessage),r=i.getElementsByTagName("INPUT")[0],a=W(i,x.dialogCancelButton),s=W(i,x.dialogOkButton),l=new qq.Promise,d=function(){a.removeEventListener("click",u),s&&s.removeEventListener("click",c),l.failure()},u=function(){a.removeEventListener("click",u),i.close()},c=function(){i.removeEventListener("close",d),s.removeEventListener("click",c),i.close(),l.success(r&&r.value)};return i.addEventListener("close",d),a.addEventListener("click",u),s&&s.addEventListener("click",c),r&&(r.value=n),o.textContent=t,i.showModal(),l}})},qq.UiEventHandler=function(e,t){"use strict";function addHandler(e){n.attach(e,i.eventType,function(e){e=e||window.event;var t=e.target||e.srcElement;i.onHandled(t,e)})}var n=new qq.DisposeSupport,i={eventType:"click",attachTo:null,onHandled:function(e,t){}};qq.extend(this,{addHandler:function(e){addHandler(e)},dispose:function(){n.dispose()}}),qq.extend(t,{getFileIdFromItem:function(e){return e.qqFileId},getDisposeSupport:function(){return n}}),qq.extend(i,e),i.attachTo&&addHandler(i.attachTo)},qq.FileButtonsClickHandler=function(e){"use strict";function examineEvent(e,t){qq.each(i,function(i,o){var r,a=i.charAt(0).toUpperCase()+i.slice(1);if(n.templating["is"+a](e))return r=n.templating.getFileId(e),qq.preventDefault(t),n.log(qq.format("Detected valid file button click event on file '{}', ID: {}.",n.onGetName(r),r)),o(r),!1})}var t={},n={templating:null,log:function(e,t){},onDeleteFile:function(e){},onCancel:function(e){},onRetry:function(e){},onPause:function(e){},onContinue:function(e){},onGetName:function(e){}},i={cancel:function(e){n.onCancel(e)},retry:function(e){n.onRetry(e)},deleteButton:function(e){n.onDeleteFile(e)},pause:function(e){n.onPause(e)},continueButton:function(e){n.onContinue(e)}};qq.extend(n,e),n.eventType="click",n.onHandled=examineEvent,n.attachTo=n.templating.getFileList(),qq.extend(this,new qq.UiEventHandler(n,t))},qq.FilenameClickHandler=function(e){"use strict";function examineEvent(e,i){if(n.templating.isFileName(e)||n.templating.isEditIcon(e)){var o=n.templating.getFileId(e),r=n.onGetUploadStatus(o);r===qq.status.SUBMITTED&&(n.log(qq.format("Detected valid filename click event on file '{}', ID: {}.",n.onGetName(o),o)),qq.preventDefault(i),t.handleFilenameEdit(o,e,!0))}}var t={},n={templating:null,log:function(e,t){},classes:{file:"qq-upload-file",editNameIcon:"qq-edit-filename-icon"},onGetUploadStatus:function(e){},onGetName:function(e){}};qq.extend(n,e),n.eventType="click",n.onHandled=examineEvent,qq.extend(this,new qq.FilenameEditHandler(n,t))},qq.FilenameInputFocusInHandler=function(e,t){"use strict";function handleInputFocus(e,i){if(n.templating.isEditInput(e)){var o=n.templating.getFileId(e),r=n.onGetUploadStatus(o);r===qq.status.SUBMITTED&&(n.log(qq.format("Detected valid filename input focus event on file '{}', ID: {}.",n.onGetName(o),o)),t.handleFilenameEdit(o,e))}}var n={templating:null,onGetUploadStatus:function(e){},log:function(e,t){}};t||(t={}),n.eventType="focusin",n.onHandled=handleInputFocus,qq.extend(n,e),qq.extend(this,new qq.FilenameEditHandler(n,t))},qq.FilenameInputFocusHandler=function(e){"use strict";e.eventType="focus",e.attachTo=null,qq.extend(this,new qq.FilenameInputFocusInHandler(e,{}))},qq.FilenameEditHandler=function(e,t){"use strict";function getFilenameSansExtension(e){var t=n.onGetName(e),i=t.lastIndexOf(".");return i>0&&(t=t.substr(0,i)),t}function getOriginalExtension(e){var t=n.onGetName(e);return qq.getExtension(t)}function handleNameUpdate(e,t){var i,o=e.value;void 0!==o&&qq.trimStr(o).length>0&&(i=getOriginalExtension(t),void 0!==i&&(o=o+"."+i),n.onSetName(t,o)),n.onEditingStatusChange(t,!1)}function registerInputBlurHandler(e,n){t.getDisposeSupport().attach(e,"blur",function(){handleNameUpdate(e,n)})}function registerInputEnterKeyHandler(e,n){t.getDisposeSupport().attach(e,"keyup",function(t){var i=t.keyCode||t.which;13===i&&handleNameUpdate(e,n)})}var n={templating:null,log:function(e,t){},onGetUploadStatus:function(e){},onGetName:function(e){},onSetName:function(e,t){},onEditingStatusChange:function(e,t){}};qq.extend(n,e),n.attachTo=n.templating.getFileList(),qq.extend(this,new qq.UiEventHandler(n,t)),qq.extend(t,{handleFilenameEdit:function(e,t,i){var o=n.templating.getEditInput(e);n.onEditingStatusChange(e,!0),o.value=getFilenameSansExtension(e),i&&o.focus(),registerInputBlurHandler(o,e),registerInputEnterKeyHandler(o,e)}})}}(window)},1142:function(e,t,n){"use strict";e.exports=n(1141)},1219:function(e,t,n){var i,o;n(1234),i=n(1221),o=n(1227),e.exports=i||{},e.exports.__esModule&&(e.exports=e.exports.default),o&&(("function"==typeof e.exports?e.exports.options||(e.exports.options={}):e.exports).template=o)},1221:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(984);t.default={name:"horizontal-form-field",mixins:[i.BaseField]}},1222:function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(1076),o=_interopRequireDefault(i),r=n(1219),a=_interopRequireDefault(r);t.default={name:"form-horizontal",mixins:[o.default],components:{Field:a.default}}},1225:function(e,t,n){t=e.exports=n(37)(),t.push([e.id,".horizontal-field .form-control{color:#555}.horizontal-field label.help-block{margin-bottom:0}","",{version:3,sources:["/./js/components/form/horizontal-field.vue"],names:[],mappings:"AAAA,gCAAgC,UAAU,CAAC,mCAAmC,eAAe,CAAC",file:"horizontal-field.vue",sourcesContent:[".horizontal-field .form-control{color:#555}.horizontal-field label.help-block{margin-bottom:0}"],sourceRoot:"webpack://"}])},1227:function(e,t){e.exports=" <div class=horizontal-field :class=\"{\n 'form-group': !is_hidden,\n 'has-error': errors.length,\n 'has-success': success,\n }\"> <label v-if=!is_hidden :for=field.id :class=\"{ 'required': required && !is_bool }\" class=\"col-sm-3 control-label\"> <i v-if=errors.length class=\"fa fa-times-circle-o\"></i> {{ is_bool ? '' : field.label }} <span v-if=!is_hidden v-show=description class=form-help v-popover=description popover-trigger=hover popover-placement=left> </span> </label> <div class=col-sm-9> <component :is=widget :field=field :value=value :model=model :description=description :property=property :placeholder=placeholder :required=required :readonly=readonly> </component> <label :for=field.id class=help-block v-for=\"error in errors\" track-by=$index>{{error}}</label> </div> </div> "},1228:function(e,t){e.exports=' <form role=form class=form-horizontal v-el:form> <field v-for="field in fields" :field=field track-by=id :schema=schema :model=model></field> </form> ';
9
- },1231:function(e,t,n){var i,o;i=n(1222),o=n(1228),e.exports=i||{},e.exports.__esModule&&(e.exports=e.exports.default),o&&(("function"==typeof e.exports?e.exports.options||(e.exports.options={}):e.exports).template=o)},1234:function(e,t,n){var i=n(1225);"string"==typeof i&&(i=[[e.id,i,""]]);n(38)(i,{sourceMap:!0});i.locals&&(e.exports=i.locals)},1252:function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(21),o=_interopRequireDefault(i),r=n(20),a=_interopRequireDefault(r),s=n(46),l=_interopRequireDefault(s),d=n(27),u=_interopRequireDefault(d),c=n(26),h=_interopRequireDefault(c),p=n(39),f=n(19),m=_interopRequireDefault(f),g=function(e){function CommunityResource(){return(0,a.default)(this,CommunityResource),(0,u.default)(this,(CommunityResource.__proto__||(0,o.default)(CommunityResource)).apply(this,arguments))}return(0,h.default)(CommunityResource,e),(0,l.default)(CommunityResource,[{key:"fetch",value:function(e){return e=e||this.id,e?(this.loading=!0,this.$api("datasets.retrieve_community_resource",{community:e},this.on_fetched)):m.default.error("Unable to fetch CommunityResource: no identifier specified"),this}},{key:"save",value:function(e){this.id?this.update(this,e):(this.loading=!0,this.$api("datasets.create_community_resource",{payload:this},this.on_fetched,this.on_error(e)))}},{key:"update",value:function(e,t){this.loading=!0,this.$api("datasets.update_community_resource",{community:this.id,payload:e},this.on_fetched,this.on_error(t))}},{key:"delete",value:function(e){var t=this;this.loading=!0,this.$api("datasets.delete_community_resource",{community:this.id},function(){return t.$emit("updated")},this.on_error(e))}}]),CommunityResource}(p.Model);t.default=g},1275:function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(21),o=_interopRequireDefault(i),r=n(20),a=_interopRequireDefault(r),s=n(46),l=_interopRequireDefault(s),d=n(27),u=_interopRequireDefault(d),c=n(26),h=_interopRequireDefault(c),p=n(39),f=n(19),m=_interopRequireDefault(f),g=function(e){function Resource(){return(0,a.default)(this,Resource),(0,u.default)(this,(Resource.__proto__||(0,o.default)(Resource)).apply(this,arguments))}return(0,h.default)(Resource,e),(0,l.default)(Resource,[{key:"fetch",value:function(e,t){return e&&t?(this.loading=!0,this.$api("datasets.get_resource",{dataset:e,rid:t},this.on_fetched)):m.default.error("Unable to fetch Resource: no identifier(s) specified"),this}}]),Resource}(p.Model);t.default=g},1280:function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.schemas=t.Schemas=void 0;var i=n(21),o=_interopRequireDefault(i),r=n(20),a=_interopRequireDefault(r),s=n(27),l=_interopRequireDefault(s),d=n(26),u=_interopRequireDefault(d),c=n(39),h=t.Schemas=function(e){function Schemas(e){(0,a.default)(this,Schemas);var t=(0,l.default)(this,(Schemas.__proto__||(0,o.default)(Schemas)).call(this,e));return t.$options.ns="datasets",t.$options.fetch="schemas",t.sorted="label",t}return(0,u.default)(Schemas,e),Schemas}(c.List),p=t.schemas=(new h).fetch();t.default=p},1283:function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(136),o=_interopRequireDefault(i),r=n(99),a=_interopRequireDefault(r),s=n(319),l=_interopRequireDefault(s),d=n(1275),u=_interopRequireDefault(d),c=n(1252),h=_interopRequireDefault(c),p=n(1231),f=_interopRequireDefault(p),m=n(1097),g=_interopRequireDefault(m),b=n(336),q=_interopRequireDefault(b),v=n(1280),_=_interopRequireDefault(v);t.default={components:{FormHorizontal:f.default},mixins:[g.default],props:{dataset:{type:Object,default:function(){return new l.default}},resource:{type:Object,default:function(){return new u.default({data:{filetype:"remote",type:"main"}})}},isUpload:{type:Boolean,default:!1}},created:function(){var e=this;_.default.$on("updated",function(){e.hasSchemas=_.default.has_data})},data:function(){return{hasSchemas:_.default.has_data,hasChosenRemoteFile:!1,generic_fields:[{id:"title",label:this._("Title")},{id:"type",label:this._("Type"),widget:"select-input",values:q.default,map:function(e){return{value:e.id,text:e.label}}},{id:"description",label:this._("Description"),rows:3}],progress:0}},computed:{canDrop:function(){return this.isUpload&&!this.files.length},hasData:function(){return Boolean(this.resource.url||this.hasChosenRemoteFile)},hasUploadedFile:function(){return"file"==this.resource.filetype},file_fields:function(){var e="file"===this.resource.filetype;return[{id:"url",label:this._("URL"),widget:"url-field",readonly:e},{id:"filesize",label:this._("Size"),readonly:e},{id:"format",label:this._("Format"),widget:"format-completer",readonly:e},{id:"mime",label:this._("Mime Type"),widget:"mime-completer",readonly:e},{id:"checksum",label:this._("Checksum"),widget:"checksum",readonly:e}]},fields:function(){return this.generic_fields.concat(this.schema_field).concat(this.file_fields)},schema_field:function(){if(this.hasSchemas){var e=[{name:"",title:""}].concat(_.default.data);return[{id:"schema.name",label:this.resource.schema&&this.resource.schema.url?this._("Schema (Url already set)"):this._("Schema"),widget:"select-input",values:e,map:function(e){return{value:e.name,text:e.title}}}]}return[]},is_community:function(){return this.resource instanceof h.default},upload_endpoint:function(){var e=a.default.datasets&&a.default.datasets.operations;if(this.isUpload&&e){var t={};"undefined"!=typeof this.dataset&&(t={dataset:this.dataset.id}),this.resource.id&&(this.is_community?t.community=this.resource.id:t.rid=this.resource.id);var n=this.resource.id?"":"new_",i=this.is_community?"community_":"dataset_",o="upload_"+n+i+"resource";return e[o].urlify(t)}}},events:{"uploader:progress":function(e,t,n){this.progress=Math.round(100*t/n)},"uploader:complete":function(e,t){if(this.is_community||this.dataset.resources.unshift(t),this.$refs.form){var n=this.$refs.form.serialize().title||this.resource.title;n&&(t.title=n)}this.resource.on_fetched({obj:t}),this.postUpload()}},methods:{manual:function(){this.hasChosenRemoteFile=!0,this.resource.filetype="remote",this.isUpload=!1},postUpload:function(){this.resource.filetype="file",this.isUpload=!1},serialize:function(){return(0,o.default)({},this.resource,this.$refs.form.serialize(),this.getSchemaValue())},getSchemaValue:function(){if(!this.$refs.form.$form)return{};var e=this.$refs.form.$form.querySelector("select[name='schema.name']");return e?{schema:{name:e.value?e.value:null}}:{}},validate:function(){return this.$refs.form.validate()},on_error:function(e){return this.$refs.form.on_error(e)}}}},1287:function(e,t,n){t=e.exports=n(37)(),t.push([e.id,".actions-list{margin-bottom:0}.actions-list .list-group-item{height:68px;background-color:#fbfbfb;margin:0 0 10px;border-radius:0;border:4px solid transparent;padding:0}.actions-list .list-group-item:last-child{margin-bottom:0}.actions-list .list-group-item .action-icon{float:left;width:60px;height:60px;background-color:#0073b7;margin:0}.actions-list .list-group-item .action-icon span{color:#fff;line-height:60px;text-align:center;display:block}.actions-list .list-group-item .list-group-item-text{margin-left:70px;font-weight:400}.actions-list .list-group-item .list-group-item-heading{margin-left:70px;margin-top:9px;margin-bottom:3px;font-weight:700}.actions-list .list-group-item:hover{background-color:#eee}.actions-list .list-group-item:hover .action-icon{background-color:#fbfbfb}.resource-upload-dropzone{border:4px dashed #d2d6de;min-height:150px;padding-top:10px;padding-bottom:10px;margin-bottom:15px}.resource-upload-dropzone .lead{margin-bottom:0}.drop-active .resource-upload-dropzone{border:4px dashed #00a65a}.resource-upload-dropzone .col-sm-9>div{margin-right:15px}.resource-choose-upload{text-align:center}.resource-choose-upload a{text-decoration:underline}.modal-body .resource-choose-upload a{color:#fff}","",{version:3,sources:["/./js/components/dataset/resource/form.vue"],names:[],mappings:"AAAA,cAAc,eAAe,CAAC,+BAA+B,YAAY,yBAAyB,gBAAgB,gBAAgB,6BAA6B,SAAS,CAAC,0CAA0C,eAAe,CAAC,4CAA4C,WAAW,WAAW,YAAY,yBAAyB,QAAQ,CAAC,iDAAiD,WAAW,iBAAiB,kBAAkB,aAAa,CAAC,qDAAqD,iBAAiB,eAAkB,CAAC,wDAAwD,iBAAiB,eAAe,kBAAkB,eAAgB,CAAC,qCAAqC,qBAAqB,CAAC,kDAAkD,wBAAwB,CAAC,0BAA0B,0BAA0B,iBAAiB,iBAAiB,oBAAoB,kBAAkB,CAAC,gCAAgC,eAAe,CAAC,uCAAuC,yBAAyB,CAAC,wCAAwC,iBAAiB,CAAC,wBAAwB,iBAAiB,CAAC,0BAA0B,yBAAyB,CAAC,sCAAsC,UAAW,CAAC",file:"form.vue",sourcesContent:[".actions-list{margin-bottom:0}.actions-list .list-group-item{height:68px;background-color:#fbfbfb;margin:0 0 10px;border-radius:0;border:4px solid transparent;padding:0}.actions-list .list-group-item:last-child{margin-bottom:0}.actions-list .list-group-item .action-icon{float:left;width:60px;height:60px;background-color:#0073b7;margin:0}.actions-list .list-group-item .action-icon span{color:#fff;line-height:60px;text-align:center;display:block}.actions-list .list-group-item .list-group-item-text{margin-left:70px;font-weight:normal}.actions-list .list-group-item .list-group-item-heading{margin-left:70px;margin-top:9px;margin-bottom:3px;font-weight:bold}.actions-list .list-group-item:hover{background-color:#eee}.actions-list .list-group-item:hover .action-icon{background-color:#fbfbfb}.resource-upload-dropzone{border:4px dashed #d2d6de;min-height:150px;padding-top:10px;padding-bottom:10px;margin-bottom:15px}.resource-upload-dropzone .lead{margin-bottom:0}.drop-active .resource-upload-dropzone{border:4px dashed #00a65a}.resource-upload-dropzone .col-sm-9>div{margin-right:15px}.resource-choose-upload{text-align:center}.resource-choose-upload a{text-decoration:underline}.modal-body .resource-choose-upload a{color:white}"],sourceRoot:"webpack://"}])},1290:function(e,t){e.exports=' <div> <form-horizontal v-if="hasData && !isUpload" class="resource-form file-resource-form" :fields=fields :model=resource v-ref:form> </form-horizontal> <div v-for="file in files" track-by=id class="info-box bg-aqua"> <span class=info-box-icon> <span class="fa fa-cloud-upload"></span> </span> <div class=info-box-content> <span class=info-box-text>{{file.name}}</span> <span class=info-box-number>{{file.size | filesize}}</span> <div class=progress> <div class=progress-bar :style="{width: progress+\'%\'}"></div> </div> <span class=progress-description> {{progress}}% </span> </div> </div> <div class=resource-choose-upload v-show="isUpload && !files.length"> <div class=resource-upload-dropzone> <div class=row> <div class="text-center col-xs-12"> <span class="fa fa-download fa-4x dropicon"></span> </div> <div class="text-center col-xs-12 lead"> <p>{{ _("Drag a file here") }}</p> </div> <div class="text-center col-xs-12"> <p>{{ _( "or") }}</p> </div> <div class="text-center col-xs-12"> <span v-el:upload-btn class="btn btn-outline btn-flat"> {{ _("Select a file from your computer") }} </span> </div> </div> </div> <div v-if=!hasUploadedFile> <a href @click.prevent.stop=manual> {{ _("You can also link to an existing remote file or URL by clicking here.") }} </a> </div> </div> </div> '},1294:function(e,t,n){var i,o;n(1298),i=n(1283),o=n(1290),e.exports=i||{},e.exports.__esModule&&(e.exports=e.exports.default),o&&(("function"==typeof e.exports?e.exports.options||(e.exports.options={}):e.exports).template=o)},1298:function(e,t,n){var i=n(1287);"string"==typeof i&&(i=[[e.id,i,""]]);n(38)(i,{sourceMap:!0});i.locals&&(e.exports=i.locals)},1323:function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(332),o=_interopRequireDefault(i),r=n(200),a=_interopRequireDefault(r);t.default={ready:function(){var e=!0,t=!1,n=void 0;try{for(var i,r=(0,a.default)((0,o.default)(this.$options.watchRefs));!(e=(i=r.next()).done);e=!0){var s=i.value;this.watchRef(s,this.$options.watchRefs[s])}}catch(l){t=!0,n=l}finally{try{!e&&r.return&&r.return()}finally{if(t)throw n}}},methods:{watchRef:function(e,t){var n=this,i=e.split(".")[0],o=function wait(){return void 0===n.$refs[i]?void setTimeout(wait,1):void n.$watch("$refs."+e,t.bind(n))};o()}}}},1415:function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(136),o=_interopRequireDefault(i),r=n(99),a=(_interopRequireDefault(r),n(319)),s=(_interopRequireDefault(a),n(1275)),l=_interopRequireDefault(s),d=n(1252),u=_interopRequireDefault(d),c=n(318),h=_interopRequireDefault(c),p=n(1294),f=_interopRequireDefault(p),m=n(324),g=_interopRequireDefault(m),b=n(334),q=_interopRequireDefault(b),v=n(335),_=_interopRequireDefault(v),y=n(1323),A=_interopRequireDefault(y);t.default={name:"resource-modal",components:{Modal:h.default,ResourceForm:f.default,OrgCard:g.default,UserCard:q.default},mixins:[_.default,A.default],data:function(){return{edit:!1,confirm:!1,dataset:this.$parent.$parent.dataset,resource:{},next_route:null,isUpload:!1,hasUploadedFile:!1,successMsg:void 0}},computed:{can_edit:function(){return this.is_community?this.$root.me.can_edit(this.resource):this.$root.me.can_edit(this.dataset)},is_community:function(){return this.resource instanceof u.default}},events:{"modal:closed":function(){this.next_route&&this.$go(this.next_route)}},route:{data:function(){var e=this;if(this.$route.matched.length>1){var t=this.$route.matched.length-2,n=this.$route.matched[t];this.next_route={name:n.handler.name,params:n.params}}this.$route.name.includes("community")?(this.resource=new u.default,this.resource.fetch(this.$route.params.rid),this.resource.$once("updated",function(){e.updHandler=e.resource.$once("updated",e.on_success)})):this.dataset.loading?this.updHandler=this.dataset.$once("updated",this.resource_from_dataset):this.resource_from_dataset()},deactivate:function(){this.updHandler&&(this.updHandler.remove(),this.updHandler=void 0)}},methods:{cancel:function(){this.confirm?this.confirm=!1:this.edit&&!this.isUpload?this.edit=!1:this.isUpload&&(this.$refs.form.isUpload=!1)},upload:function(){this.$refs.form.isUpload=!0},save:function(){var e=this.$refs.form;if(e.validate())return this.successMsg=this._("Your resource has been updated."),this.is_community?((0,o.default)(this.resource,e.serialize()),this.resource.save(e.on_error)):this.dataset.save_resource(e.serialize(),e.on_error),!0},on_success:function(){this.$dispatch("notify",{autoclose:!0,title:this._("Changes saved"),details:this.successMsg}),this.$refs.modal.close()},delete_confirmed:function(){this.successMsg=this._("Your resource has been deleted."),this.is_community?this.resource.delete():this.dataset.delete_resource(this.resource.id)},resource_from_dataset:function(){var e=this.$route.params.rid,t=this.dataset.resources.find(function(t){return t.id===e});t&&(this.resource=new l.default({data:t}),this.updHandler=this.dataset.$once("updated",this.on_success))}},watchRefs:{"form.isUpload":function(e){this.isUpload=e},"form.hasUploadedFile":function(e){this.hasUploadedFile=e}}}},1491:function(e,t,n){t=e.exports=n(37)(),t.push([e.id,".resource-modal dd a{color:#fff;text-decoration:underline}.resource-modal .dl-wide dd{word-break:break-all}","",{version:3,sources:["/./js/components/dataset/resource/modal.vue"],names:[],mappings:"AAAA,qBAAqB,WAAY,yBAAyB,CAAC,4BAA4B,oBAAoB,CAAC",file:"modal.vue",sourcesContent:[".resource-modal dd a{color:white;text-decoration:underline}.resource-modal .dl-wide dd{word-break:break-all}"],sourceRoot:"webpack://"}])},1517:function(e,t){e.exports=" <div> <modal :title=resource.title class=resource-modal :large=edit :class=\"{ 'modal-danger': confirm, 'modal-primary': !confirm }\" v-ref:modal> <div class=modal-body> <div v-show=\"!edit && !confirm\"> {{{ resource.description | markdown }}} <dl class=\"dl-horizontal dl-wide\"> <dt>{{ _('Type') }}</dt> <dd>{{ resource | resource_type_label }}</dd> <dt>{{ _('Location') }}</dt> <dd v-if=\"resource.filetype == 'file'\"> {{ _('This resource is hosted on our servers') }} </dd> <dd v-if=\"resource.filetype == 'remote'\"> {{ _('This resource is hosted on an external server') }} </dd> <dt>{{ _('URL') }}</dt> <dd><a :href=resource.url>{{resource.url}}</a></dd> <dt v-if=resource.format>{{ _('Format') }}</dt> <dd v-if=resource.format>{{ resource.format }}</dd> <dt v-if=\"resource.schema?.name || resource.schema?.url\">{{ _('Schema') }}</dt> <dd v-if=resource.schema?.name>{{ resource.schema.name }}</dd> <dd v-if=resource.schema?.url>{{ resource.schema.url }}</dd> <dt v-if=resource.mime>{{ _('Mime Type') }}</dt> <dd v-if=resource.mime>{{ resource.mime }}</dd> <dt v-if=resource.filesize>{{ _('Size') }}</dt> <dd v-if=resource.filesize>{{ resource.filesize }}</dd> <dt v-if=resource.checksum>{{ resource.checksum.type }}</dt> <dd v-if=resource.checksum>{{ resource.checksum.value }}</dd> <dt v-if=resource.created_at>{{ _('Created on') }}</dt> <dd v-if=resource.created_at>{{ resource.created_at | dt }}</dd> <dt v-if=resource.last_modified>{{ _('Modified on') }}</dt> <dd v-if=resource.last_modified>{{ resource.last_modified | dt }}</dd> <dt v-if=\"resource.metrics && resource.metrics.downloads\">{{ _('Downloads') }}</dt> <dd v-if=\"resource.metrics && resource.metrics.downloads\">{{ resource.metrics.downloads }}</dd> <dt v-if=is_community>{{ _('Publish by') }}</dt> <dd v-if=is_community> <user-card v-if=resource.owner :user=resource.owner></user-card> <org-card v-if=resource.organization :organization=resource.organization></org-card> </dd> </dl> </div> <resource-form v-show=edit v-ref:form :dataset=dataset :resource=resource></resource-form> <div v-show=confirm> <p class=\"lead text-center\"> {{ _('You are about to delete this resource') }} </p> <p class=\"lead text-center\"> {{ _('Are you sure ?') }} </p> </div> </div> <footer class=\"modal-footer text-center\"> <button type=button v-show=\"!edit && !confirm && !isUpload\" class=\"btn btn-primary btn-flat pull-left\" @click=$refs.modal.close> {{ _('Close') }} </button> <button type=button v-show=\"edit || confirm || isUpload\" class=\"btn btn-flat pull-left\" :class=\"{'btn-danger': confirm, 'btn-primary': !confirm}\" @click=cancel> {{ _('Cancel') }} </button> <button type=button v-show=\"!edit && !confirm && can_edit\" class=\"btn btn-danger btn-flat\" @click=\"confirm = true\"> {{ _('Delete') }} </button> <button type=button v-show=\"!edit && !confirm && can_edit\" class=\"btn btn-outline btn-flat\" @click=\"edit = true\"> {{ _('Edit') }} </button> <button type=button v-show=confirm class=\"btn btn-warning btn-flat\" @click=delete_confirmed> {{ _('Confirm') }} </button> <button type=button v-show=\"edit && hasUploadedFile && !isUpload\" class=\"btn btn-outline btn-flat\" @click=upload> {{ _('Replace the file') }} </button> <button type=button v-show=\"edit && !isUpload\" class=\"btn btn-outline btn-flat\" @click=save> {{ _('Save') }} </button> </footer> </modal> </div> "},1642:function(e,t,n){var i=n(1491);"string"==typeof i&&(i=[[e.id,i,""]]);n(38)(i,{sourceMap:!0});i.locals&&(e.exports=i.locals)}});
10
- //# sourceMappingURL=2.7c89fae92899be371ed3.js.map
9
+ },1231:function(e,t,n){var i,o;i=n(1222),o=n(1228),e.exports=i||{},e.exports.__esModule&&(e.exports=e.exports.default),o&&(("function"==typeof e.exports?e.exports.options||(e.exports.options={}):e.exports).template=o)},1234:function(e,t,n){var i=n(1225);"string"==typeof i&&(i=[[e.id,i,""]]);n(38)(i,{sourceMap:!0});i.locals&&(e.exports=i.locals)},1252:function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(21),o=_interopRequireDefault(i),r=n(20),a=_interopRequireDefault(r),s=n(46),l=_interopRequireDefault(s),d=n(27),u=_interopRequireDefault(d),c=n(26),h=_interopRequireDefault(c),p=n(39),f=n(19),m=_interopRequireDefault(f),g=function(e){function CommunityResource(){return(0,a.default)(this,CommunityResource),(0,u.default)(this,(CommunityResource.__proto__||(0,o.default)(CommunityResource)).apply(this,arguments))}return(0,h.default)(CommunityResource,e),(0,l.default)(CommunityResource,[{key:"fetch",value:function(e){return e=e||this.id,e?(this.loading=!0,this.$api("datasets.retrieve_community_resource",{community:e},this.on_fetched)):m.default.error("Unable to fetch CommunityResource: no identifier specified"),this}},{key:"save",value:function(e){this.id?this.update(this,e):(this.loading=!0,this.$api("datasets.create_community_resource",{payload:this},this.on_fetched,this.on_error(e)))}},{key:"update",value:function(e,t){this.loading=!0,this.$api("datasets.update_community_resource",{community:this.id,payload:e},this.on_fetched,this.on_error(t))}},{key:"delete",value:function(e){var t=this;this.loading=!0,this.$api("datasets.delete_community_resource",{community:this.id},function(){return t.$emit("updated")},this.on_error(e))}}]),CommunityResource}(p.Model);t.default=g},1275:function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(21),o=_interopRequireDefault(i),r=n(20),a=_interopRequireDefault(r),s=n(46),l=_interopRequireDefault(s),d=n(27),u=_interopRequireDefault(d),c=n(26),h=_interopRequireDefault(c),p=n(39),f=n(19),m=_interopRequireDefault(f),g=function(e){function Resource(){return(0,a.default)(this,Resource),(0,u.default)(this,(Resource.__proto__||(0,o.default)(Resource)).apply(this,arguments))}return(0,h.default)(Resource,e),(0,l.default)(Resource,[{key:"fetch",value:function(e,t){return e&&t?(this.loading=!0,this.$api("datasets.get_resource",{dataset:e,rid:t},this.on_fetched)):m.default.error("Unable to fetch Resource: no identifier(s) specified"),this}}]),Resource}(p.Model);t.default=g},1280:function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.schemas=t.Schemas=void 0;var i=n(21),o=_interopRequireDefault(i),r=n(20),a=_interopRequireDefault(r),s=n(27),l=_interopRequireDefault(s),d=n(26),u=_interopRequireDefault(d),c=n(39),h=t.Schemas=function(e){function Schemas(e){(0,a.default)(this,Schemas);var t=(0,l.default)(this,(Schemas.__proto__||(0,o.default)(Schemas)).call(this,e));return t.$options.ns="datasets",t.$options.fetch="schemas",t.sorted="label",t}return(0,u.default)(Schemas,e),Schemas}(c.List),p=t.schemas=(new h).fetch();t.default=p},1283:function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(136),o=_interopRequireDefault(i),r=n(99),a=_interopRequireDefault(r),s=n(319),l=_interopRequireDefault(s),d=n(1275),u=_interopRequireDefault(d),c=n(1252),h=_interopRequireDefault(c),p=n(1231),f=_interopRequireDefault(p),m=n(1097),g=_interopRequireDefault(m),b=n(336),q=_interopRequireDefault(b),v=n(1280),_=_interopRequireDefault(v);t.default={components:{FormHorizontal:f.default},mixins:[g.default],props:{dataset:{type:Object,default:function(){return new l.default}},resource:{type:Object,default:function(){return new u.default({data:{filetype:"remote",type:"main"}})}},isUpload:{type:Boolean,default:!1}},created:function(){var e=this;_.default.$on("updated",function(){e.hasSchemas=_.default.has_data})},data:function(){return{hasSchemas:_.default.has_data,hasChosenRemoteFile:!1,generic_fields:[{id:"title",label:this._("Title")},{id:"type",label:this._("Type"),widget:"select-input",values:q.default,map:function(e){return{value:e.id,text:e.label}}},{id:"description",label:this._("Description"),rows:3}],progress:0}},computed:{canDrop:function(){return this.isUpload&&!this.files.length},hasData:function(){return Boolean(this.resource.url||this.hasChosenRemoteFile)},hasUploadedFile:function(){return"file"==this.resource.filetype},file_fields:function(){var e="file"===this.resource.filetype;return[{id:"url",label:this._("URL"),widget:"url-field",readonly:e},{id:"filesize",label:this._("Size"),readonly:e},{id:"format",label:this._("Format"),widget:"format-completer",readonly:e},{id:"mime",label:this._("Mime Type"),widget:"mime-completer",readonly:e},{id:"checksum",label:this._("Checksum"),widget:"checksum",readonly:e}]},fields:function(){return this.generic_fields.concat(this.schema_field).concat(this.file_fields)},schema_field:function(){if(this.hasSchemas){var e=[{name:"",title:""}].concat(_.default.data);return[{id:"schema.name",label:this.resource.schema&&this.resource.schema.url?this._("Schema (Url already set)"):this._("Schema"),widget:"select-input",values:e,map:function(e){return{value:e.name,text:e.title}}}]}return[]},is_community:function(){return this.resource instanceof h.default},upload_endpoint:function(){var e=a.default.datasets&&a.default.datasets.operations;if(this.isUpload&&e){var t={};"undefined"!=typeof this.dataset&&(t={dataset:this.dataset.id}),this.resource.id&&(this.is_community?t.community=this.resource.id:t.rid=this.resource.id);var n=this.resource.id?"":"new_",i=this.is_community?"community_":"dataset_",o="upload_"+n+i+"resource";return e[o].urlify(t)}}},events:{"uploader:progress":function(e,t,n){this.progress=Math.round(100*t/n)},"uploader:complete":function(e,t){if(this.is_community||this.dataset.resources.unshift(t),this.$refs.form){var n=this.$refs.form.serialize().title||this.resource.title;n&&(t.title=n)}this.resource.on_fetched({obj:t}),this.postUpload()}},methods:{manual:function(){this.hasChosenRemoteFile=!0,this.resource.filetype="remote",this.isUpload=!1},postUpload:function(){this.resource.filetype="file",this.isUpload=!1},serialize:function(){var e=(0,o.default)({},this.resource,this.$refs.form.serialize(),this.getSchemaValue());return delete e.extras,e},getSchemaValue:function(){if(!this.$refs.form.$form)return{};var e=this.$refs.form.$form.querySelector("select[name='schema.name']");return e?{schema:{name:e.value?e.value:null}}:{}},validate:function(){return this.$refs.form.validate()},on_error:function(e){return this.$refs.form.on_error(e)}}}},1287:function(e,t,n){t=e.exports=n(37)(),t.push([e.id,".actions-list{margin-bottom:0}.actions-list .list-group-item{height:68px;background-color:#fbfbfb;margin:0 0 10px;border-radius:0;border:4px solid transparent;padding:0}.actions-list .list-group-item:last-child{margin-bottom:0}.actions-list .list-group-item .action-icon{float:left;width:60px;height:60px;background-color:#0073b7;margin:0}.actions-list .list-group-item .action-icon span{color:#fff;line-height:60px;text-align:center;display:block}.actions-list .list-group-item .list-group-item-text{margin-left:70px;font-weight:400}.actions-list .list-group-item .list-group-item-heading{margin-left:70px;margin-top:9px;margin-bottom:3px;font-weight:700}.actions-list .list-group-item:hover{background-color:#eee}.actions-list .list-group-item:hover .action-icon{background-color:#fbfbfb}.resource-upload-dropzone{border:4px dashed #d2d6de;min-height:150px;padding-top:10px;padding-bottom:10px;margin-bottom:15px}.resource-upload-dropzone .lead{margin-bottom:0}.drop-active .resource-upload-dropzone{border:4px dashed #00a65a}.resource-upload-dropzone .col-sm-9>div{margin-right:15px}.resource-choose-upload{text-align:center}.resource-choose-upload a{text-decoration:underline}.modal-body .resource-choose-upload a{color:#fff}","",{version:3,sources:["/./js/components/dataset/resource/form.vue"],names:[],mappings:"AAAA,cAAc,eAAe,CAAC,+BAA+B,YAAY,yBAAyB,gBAAgB,gBAAgB,6BAA6B,SAAS,CAAC,0CAA0C,eAAe,CAAC,4CAA4C,WAAW,WAAW,YAAY,yBAAyB,QAAQ,CAAC,iDAAiD,WAAW,iBAAiB,kBAAkB,aAAa,CAAC,qDAAqD,iBAAiB,eAAkB,CAAC,wDAAwD,iBAAiB,eAAe,kBAAkB,eAAgB,CAAC,qCAAqC,qBAAqB,CAAC,kDAAkD,wBAAwB,CAAC,0BAA0B,0BAA0B,iBAAiB,iBAAiB,oBAAoB,kBAAkB,CAAC,gCAAgC,eAAe,CAAC,uCAAuC,yBAAyB,CAAC,wCAAwC,iBAAiB,CAAC,wBAAwB,iBAAiB,CAAC,0BAA0B,yBAAyB,CAAC,sCAAsC,UAAW,CAAC",file:"form.vue",sourcesContent:[".actions-list{margin-bottom:0}.actions-list .list-group-item{height:68px;background-color:#fbfbfb;margin:0 0 10px;border-radius:0;border:4px solid transparent;padding:0}.actions-list .list-group-item:last-child{margin-bottom:0}.actions-list .list-group-item .action-icon{float:left;width:60px;height:60px;background-color:#0073b7;margin:0}.actions-list .list-group-item .action-icon span{color:#fff;line-height:60px;text-align:center;display:block}.actions-list .list-group-item .list-group-item-text{margin-left:70px;font-weight:normal}.actions-list .list-group-item .list-group-item-heading{margin-left:70px;margin-top:9px;margin-bottom:3px;font-weight:bold}.actions-list .list-group-item:hover{background-color:#eee}.actions-list .list-group-item:hover .action-icon{background-color:#fbfbfb}.resource-upload-dropzone{border:4px dashed #d2d6de;min-height:150px;padding-top:10px;padding-bottom:10px;margin-bottom:15px}.resource-upload-dropzone .lead{margin-bottom:0}.drop-active .resource-upload-dropzone{border:4px dashed #00a65a}.resource-upload-dropzone .col-sm-9>div{margin-right:15px}.resource-choose-upload{text-align:center}.resource-choose-upload a{text-decoration:underline}.modal-body .resource-choose-upload a{color:white}"],sourceRoot:"webpack://"}])},1290:function(e,t){e.exports=' <div> <form-horizontal v-if="hasData && !isUpload" class="resource-form file-resource-form" :fields=fields :model=resource v-ref:form> </form-horizontal> <div v-for="file in files" track-by=id class="info-box bg-aqua"> <span class=info-box-icon> <span class="fa fa-cloud-upload"></span> </span> <div class=info-box-content> <span class=info-box-text>{{file.name}}</span> <span class=info-box-number>{{file.size | filesize}}</span> <div class=progress> <div class=progress-bar :style="{width: progress+\'%\'}"></div> </div> <span class=progress-description> {{progress}}% </span> </div> </div> <div class=resource-choose-upload v-show="isUpload && !files.length"> <div class=resource-upload-dropzone> <div class=row> <div class="text-center col-xs-12"> <span class="fa fa-download fa-4x dropicon"></span> </div> <div class="text-center col-xs-12 lead"> <p>{{ _("Drag a file here") }}</p> </div> <div class="text-center col-xs-12"> <p>{{ _( "or") }}</p> </div> <div class="text-center col-xs-12"> <span v-el:upload-btn class="btn btn-outline btn-flat"> {{ _("Select a file from your computer") }} </span> </div> </div> </div> <div v-if=!hasUploadedFile> <a href @click.prevent.stop=manual> {{ _("You can also link to an existing remote file or URL by clicking here.") }} </a> </div> </div> </div> '},1294:function(e,t,n){var i,o;n(1298),i=n(1283),o=n(1290),e.exports=i||{},e.exports.__esModule&&(e.exports=e.exports.default),o&&(("function"==typeof e.exports?e.exports.options||(e.exports.options={}):e.exports).template=o)},1298:function(e,t,n){var i=n(1287);"string"==typeof i&&(i=[[e.id,i,""]]);n(38)(i,{sourceMap:!0});i.locals&&(e.exports=i.locals)},1323:function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(332),o=_interopRequireDefault(i),r=n(200),a=_interopRequireDefault(r);t.default={ready:function(){var e=!0,t=!1,n=void 0;try{for(var i,r=(0,a.default)((0,o.default)(this.$options.watchRefs));!(e=(i=r.next()).done);e=!0){var s=i.value;this.watchRef(s,this.$options.watchRefs[s])}}catch(l){t=!0,n=l}finally{try{!e&&r.return&&r.return()}finally{if(t)throw n}}},methods:{watchRef:function(e,t){var n=this,i=e.split(".")[0],o=function wait(){return void 0===n.$refs[i]?void setTimeout(wait,1):void n.$watch("$refs."+e,t.bind(n))};o()}}}},1415:function(e,t,n){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(136),o=_interopRequireDefault(i),r=n(99),a=(_interopRequireDefault(r),n(319)),s=(_interopRequireDefault(a),n(1275)),l=_interopRequireDefault(s),d=n(1252),u=_interopRequireDefault(d),c=n(318),h=_interopRequireDefault(c),p=n(1294),f=_interopRequireDefault(p),m=n(324),g=_interopRequireDefault(m),b=n(334),q=_interopRequireDefault(b),v=n(335),_=_interopRequireDefault(v),y=n(1323),A=_interopRequireDefault(y);t.default={name:"resource-modal",components:{Modal:h.default,ResourceForm:f.default,OrgCard:g.default,UserCard:q.default},mixins:[_.default,A.default],data:function(){return{edit:!1,confirm:!1,dataset:this.$parent.$parent.dataset,resource:{},next_route:null,isUpload:!1,hasUploadedFile:!1,successMsg:void 0}},computed:{can_edit:function(){return this.is_community?this.$root.me.can_edit(this.resource):this.$root.me.can_edit(this.dataset)},is_community:function(){return this.resource instanceof u.default}},events:{"modal:closed":function(){this.next_route&&this.$go(this.next_route)}},route:{data:function(){var e=this;if(this.$route.matched.length>1){var t=this.$route.matched.length-2,n=this.$route.matched[t];this.next_route={name:n.handler.name,params:n.params}}this.$route.name.includes("community")?(this.resource=new u.default,this.resource.fetch(this.$route.params.rid),this.resource.$once("updated",function(){e.updHandler=e.resource.$once("updated",e.on_success)})):this.dataset.loading?this.updHandler=this.dataset.$once("updated",this.resource_from_dataset):this.resource_from_dataset()},deactivate:function(){this.updHandler&&(this.updHandler.remove(),this.updHandler=void 0)}},methods:{cancel:function(){this.confirm?this.confirm=!1:this.edit&&!this.isUpload?this.edit=!1:this.isUpload&&(this.$refs.form.isUpload=!1)},upload:function(){this.$refs.form.isUpload=!0},save:function(){var e=this.$refs.form;if(e.validate())return this.successMsg=this._("Your resource has been updated."),this.is_community?((0,o.default)(this.resource,e.serialize()),this.resource.save(e.on_error)):this.dataset.save_resource(e.serialize(),e.on_error),!0},on_success:function(){this.$dispatch("notify",{autoclose:!0,title:this._("Changes saved"),details:this.successMsg}),this.$refs.modal.close()},delete_confirmed:function(){this.successMsg=this._("Your resource has been deleted."),this.is_community?this.resource.delete():this.dataset.delete_resource(this.resource.id)},resource_from_dataset:function(){var e=this.$route.params.rid,t=this.dataset.resources.find(function(t){return t.id===e});t&&(this.resource=new l.default({data:t}),this.updHandler=this.dataset.$once("updated",this.on_success))}},watchRefs:{"form.isUpload":function(e){this.isUpload=e},"form.hasUploadedFile":function(e){this.hasUploadedFile=e}}}},1491:function(e,t,n){t=e.exports=n(37)(),t.push([e.id,".resource-modal dd a{color:#fff;text-decoration:underline}.resource-modal .dl-wide dd{word-break:break-all}","",{version:3,sources:["/./js/components/dataset/resource/modal.vue"],names:[],mappings:"AAAA,qBAAqB,WAAY,yBAAyB,CAAC,4BAA4B,oBAAoB,CAAC",file:"modal.vue",sourcesContent:[".resource-modal dd a{color:white;text-decoration:underline}.resource-modal .dl-wide dd{word-break:break-all}"],sourceRoot:"webpack://"}])},1517:function(e,t){e.exports=" <div> <modal :title=resource.title class=resource-modal :large=edit :class=\"{ 'modal-danger': confirm, 'modal-primary': !confirm }\" v-ref:modal> <div class=modal-body> <div v-show=\"!edit && !confirm\"> {{{ resource.description | markdown }}} <dl class=\"dl-horizontal dl-wide\"> <dt>{{ _('Type') }}</dt> <dd>{{ resource | resource_type_label }}</dd> <dt>{{ _('Location') }}</dt> <dd v-if=\"resource.filetype == 'file'\"> {{ _('This resource is hosted on our servers') }} </dd> <dd v-if=\"resource.filetype == 'remote'\"> {{ _('This resource is hosted on an external server') }} </dd> <dt>{{ _('URL') }}</dt> <dd><a :href=resource.url>{{resource.url}}</a></dd> <dt v-if=resource.format>{{ _('Format') }}</dt> <dd v-if=resource.format>{{ resource.format }}</dd> <dt v-if=\"resource.schema?.name || resource.schema?.url\">{{ _('Schema') }}</dt> <dd v-if=resource.schema?.name>{{ resource.schema.name }}</dd> <dd v-if=resource.schema?.url>{{ resource.schema.url }}</dd> <dt v-if=resource.mime>{{ _('Mime Type') }}</dt> <dd v-if=resource.mime>{{ resource.mime }}</dd> <dt v-if=resource.filesize>{{ _('Size') }}</dt> <dd v-if=resource.filesize>{{ resource.filesize }}</dd> <dt v-if=resource.checksum>{{ resource.checksum.type }}</dt> <dd v-if=resource.checksum>{{ resource.checksum.value }}</dd> <dt v-if=resource.created_at>{{ _('Created on') }}</dt> <dd v-if=resource.created_at>{{ resource.created_at | dt }}</dd> <dt v-if=resource.last_modified>{{ _('Modified on') }}</dt> <dd v-if=resource.last_modified>{{ resource.last_modified | dt }}</dd> <dt v-if=\"resource.metrics && resource.metrics.downloads\">{{ _('Downloads') }}</dt> <dd v-if=\"resource.metrics && resource.metrics.downloads\">{{ resource.metrics.downloads }}</dd> <dt v-if=is_community>{{ _('Publish by') }}</dt> <dd v-if=is_community> <user-card v-if=resource.owner :user=resource.owner></user-card> <org-card v-if=resource.organization :organization=resource.organization></org-card> </dd> </dl> </div> <resource-form v-show=edit v-ref:form :dataset=dataset :resource=resource></resource-form> <div v-show=confirm> <p class=\"lead text-center\"> {{ _('You are about to delete this resource') }} </p> <p class=\"lead text-center\"> {{ _('Are you sure ?') }} </p> </div> </div> <footer class=\"modal-footer text-center\"> <button type=button v-show=\"!edit && !confirm && !isUpload\" class=\"btn btn-primary btn-flat pull-left\" @click=$refs.modal.close> {{ _('Close') }} </button> <button type=button v-show=\"edit || confirm || isUpload\" class=\"btn btn-flat pull-left\" :class=\"{'btn-danger': confirm, 'btn-primary': !confirm}\" @click=cancel> {{ _('Cancel') }} </button> <button type=button v-show=\"!edit && !confirm && can_edit\" class=\"btn btn-danger btn-flat\" @click=\"confirm = true\"> {{ _('Delete') }} </button> <button type=button v-show=\"!edit && !confirm && can_edit\" class=\"btn btn-outline btn-flat\" @click=\"edit = true\"> {{ _('Edit') }} </button> <button type=button v-show=confirm class=\"btn btn-warning btn-flat\" @click=delete_confirmed> {{ _('Confirm') }} </button> <button type=button v-show=\"edit && hasUploadedFile && !isUpload\" class=\"btn btn-outline btn-flat\" @click=upload> {{ _('Replace the file') }} </button> <button type=button v-show=\"edit && !isUpload\" class=\"btn btn-outline btn-flat\" @click=save> {{ _('Save') }} </button> </footer> </modal> </div> "},1642:function(e,t,n){var i=n(1491);"string"==typeof i&&(i=[[e.id,i,""]]);n(38)(i,{sourceMap:!0});i.locals&&(e.exports=i.locals)}});
10
+ //# sourceMappingURL=2.614b3e73b072982fd9b1.js.map