116 lines
54 KiB
JavaScript
116 lines
54 KiB
JavaScript
(function(b){"function"===typeof define&&define.amd?define(["jquery"],b):"object"===typeof exports?b(require("jquery")):b(jQuery)})(function(b){var e=0,a=Array.prototype.slice;b.cleanData=function(a){return function(c){var g,f,h;for(h=0;null!=(f=c[h]);h++)try{(g=b._data(f,"events"))&&g.remove&&b(f).triggerHandler("remove")}catch(k){}a(c)}}(b.cleanData);b.widget=function(a,c,g){var f,h,k,e,p={},m=a.split(".")[0];a=a.split(".")[1];f=m+"-"+a;g||(g=c,c=b.Widget);b.expr[":"][f.toLowerCase()]=function(a){return!!b.data(a,
|
|
f)};b[m]=b[m]||{};h=b[m][a];k=b[m][a]=function(a,d){if(!this._createWidget)return new k(a,d);arguments.length&&this._createWidget(a,d)};b.extend(k,h,{version:g.version,_proto:b.extend({},g),_childConstructors:[]});e=new c;e.options=b.widget.extend({},e.options);b.each(g,function(a,d){b.isFunction(d)?p[a]=function(){var b=function(){return c.prototype[a].apply(this,arguments)},f=function(d){return c.prototype[a].apply(this,d)};return function(){var a=this._super,c=this._superApply,g;this._super=b;
|
|
this._superApply=f;g=d.apply(this,arguments);this._super=a;this._superApply=c;return g}}():p[a]=d});k.prototype=b.widget.extend(e,{widgetEventPrefix:h?e.widgetEventPrefix||a:a},p,{constructor:k,namespace:m,widgetName:a,widgetFullName:f});h?(b.each(h._childConstructors,function(a,d){var c=d.prototype;b.widget(c.namespace+"."+c.widgetName,k,d._proto)}),delete h._childConstructors):c._childConstructors.push(k);b.widget.bridge(a,k);return k};b.widget.extend=function(d){for(var c=a.call(arguments,1),g=
|
|
0,f=c.length,h,k;g<f;g++)for(h in c[g])k=c[g][h],c[g].hasOwnProperty(h)&&void 0!==k&&(b.isPlainObject(k)?d[h]=b.isPlainObject(d[h])?b.widget.extend({},d[h],k):b.widget.extend({},k):d[h]=k);return d};b.widget.bridge=function(d,c){var g=c.prototype.widgetFullName||d;b.fn[d]=function(f){var h="string"===typeof f,k=a.call(arguments,1),e=this;h?this.each(function(){var a,c=b.data(this,g);if("instance"===f)return e=c,!1;if(!c)return b.error("cannot call methods on "+d+" prior to initialization; attempted to call method '"+
|
|
f+"'");if(!b.isFunction(c[f])||"_"===f.charAt(0))return b.error("no such method '"+f+"' for "+d+" widget instance");a=c[f].apply(c,k);if(a!==c&&void 0!==a)return e=a&&a.jquery?e.pushStack(a.get()):a,!1}):(k.length&&(f=b.widget.extend.apply(null,[f].concat(k))),this.each(function(){var a=b.data(this,g);a?(a.option(f||{}),a._init&&a._init()):b.data(this,g,new c(f,this))}));return e}};b.Widget=function(){};b.Widget._childConstructors=[];b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",
|
|
options:{disabled:!1,create:null},_createWidget:function(a,c){c=b(c||this.defaultElement||this)[0];this.element=b(c);this.uuid=e++;this.eventNamespace="."+this.widgetName+this.uuid;this.bindings=b();this.hoverable=b();this.focusable=b();c!==this&&(b.data(c,this.widgetFullName,this),this._on(!0,this.element,{remove:function(a){a.target===c&&this.destroy()}}),this.document=b(c.style?c.ownerDocument:c.document||c),this.window=b(this.document[0].defaultView||this.document[0].parentWindow));this.options=
|
|
b.widget.extend({},this.options,this._getCreateOptions(),a);this._create();this._trigger("create",null,this._getCreateEventData());this._init()},_getCreateOptions:b.noop,_getCreateEventData:b.noop,_create:b.noop,_init:b.noop,destroy:function(){this._destroy();this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(b.camelCase(this.widgetFullName));this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled");
|
|
this.bindings.unbind(this.eventNamespace);this.hoverable.removeClass("ui-state-hover");this.focusable.removeClass("ui-state-focus")},_destroy:b.noop,widget:function(){return this.element},option:function(a,c){var g=a,f,h,k;if(0===arguments.length)return b.widget.extend({},this.options);if("string"===typeof a)if(g={},f=a.split("."),a=f.shift(),f.length){h=g[a]=b.widget.extend({},this.options[a]);for(k=0;k<f.length-1;k++)h[f[k]]=h[f[k]]||{},h=h[f[k]];a=f.pop();if(1===arguments.length)return void 0===
|
|
h[a]?null:h[a];h[a]=c}else{if(1===arguments.length)return void 0===this.options[a]?null:this.options[a];g[a]=c}this._setOptions(g);return this},_setOptions:function(a){for(var c in a)this._setOption(c,a[c]);return this},_setOption:function(a,c){this.options[a]=c;"disabled"===a&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!c),c&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")));return this},enable:function(){return this._setOptions({disabled:!1})},
|
|
disable:function(){return this._setOptions({disabled:!0})},_on:function(a,c,g){var f,h=this;"boolean"!==typeof a&&(g=c,c=a,a=!1);g?(c=f=b(c),this.bindings=this.bindings.add(c)):(g=c,c=this.element,f=this.widget());b.each(g,function(g,e){function p(){if(a||!0!==h.options.disabled&&!b(this).hasClass("ui-state-disabled"))return("string"===typeof e?h[e]:e).apply(h,arguments)}"string"!==typeof e&&(p.guid=e.guid=e.guid||p.guid||b.guid++);var m=g.match(/^([\w:-]*)\s*(.*)$/),n=m[1]+h.eventNamespace;(m=m[2])?
|
|
f.delegate(m,n,p):c.bind(n,p)})},_off:function(a,c){c=(c||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace;a.unbind(c).undelegate(c);this.bindings=b(this.bindings.not(a).get());this.focusable=b(this.focusable.not(a).get());this.hoverable=b(this.hoverable.not(a).get())},_delay:function(a,c){var b=this;return setTimeout(function(){return("string"===typeof a?b[a]:a).apply(b,arguments)},c||0)},_hoverable:function(a){this.hoverable=this.hoverable.add(a);this._on(a,{mouseenter:function(a){b(a.currentTarget).addClass("ui-state-hover")},
|
|
mouseleave:function(a){b(a.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(a){this.focusable=this.focusable.add(a);this._on(a,{focusin:function(a){b(a.currentTarget).addClass("ui-state-focus")},focusout:function(a){b(a.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(a,c,g){var f,h=this.options[a];g=g||{};c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();c.target=this.element[0];if(a=c.originalEvent)for(f in a)f in c||
|
|
(c[f]=a[f]);this.element.trigger(c,g);return!(b.isFunction(h)&&!1===h.apply(this.element[0],[c].concat(g))||c.isDefaultPrevented())}};b.each({show:"fadeIn",hide:"fadeOut"},function(a,c){b.Widget.prototype["_"+a]=function(g,f,h){"string"===typeof f&&(f={effect:f});var k,e=f?!0===f||"number"===typeof f?c:f.effect||c:a;f=f||{};"number"===typeof f&&(f={duration:f});k=!b.isEmptyObject(f);f.complete=h;f.delay&&g.delay(f.delay);if(k&&b.effects&&b.effects.effect[e])g[a](f);else if(e!==a&&g[e])g[e](f.duration,
|
|
f.easing,h);else g.queue(function(c){b(this)[a]();h&&h.call(g[0]);c()})}})});
|
|
!function(b){var e=function(a,c,b){var f,h,k=document.createElement("img");if(k.onerror=c,k.onload=function(){!h||b&&b.noRevoke||e.revokeObjectURL(h);c&&c(e.scale(k,b))},e.isInstanceOf("Blob",a)||e.isInstanceOf("File",a))f=h=e.createObjectURL(a),k._type=a.type;else{if("string"!=typeof a)return!1;f=a;b&&b.crossOrigin&&(k.crossOrigin=b.crossOrigin)}return f?(k.src=f,k):e.readFile(a,function(a){var d=a.target;d&&d.result?k.src=d.result:c&&c(a)})},a=window.createObjectURL&&window||window.URL&&URL.revokeObjectURL&&
|
|
URL||window.webkitURL&&webkitURL;e.isInstanceOf=function(a,c){return Object.prototype.toString.call(c)==="[object "+a+"]"};e.transformCoordinates=function(){};e.getTransformedOptions=function(a,c){var b,f,h,e,l=c.aspectRatio;if(!l)return c;b={};for(f in c)c.hasOwnProperty(f)&&(b[f]=c[f]);return b.crop=!0,h=a.naturalWidth||a.width,e=a.naturalHeight||a.height,h/e>l?(b.maxWidth=e*l,b.maxHeight=e):(b.maxWidth=h,b.maxHeight=h/l),b};e.renderImageToCanvas=function(a,c,b,f,h,e,l,p,m,n){return a.getContext("2d").drawImage(c,
|
|
b,f,h,e,l,p,m,n),a};e.hasCanvasOption=function(a){return a.canvas||a.crop||!!a.aspectRatio};e.scale=function(a,c){function b(){var a=Math.max((l||r)/r,(p||t)/t);1<a&&(r*=a,t*=a)}function f(){var a=Math.min((h||r)/r,(k||t)/t);1>a&&(r*=a,t*=a)}c=c||{};var h,k,l,p,m,n,q,u,w,x,A,v=document.createElement("canvas"),B=a.getContext||e.hasCanvasOption(c)&&v.getContext,y=a.naturalWidth||a.width,z=a.naturalHeight||a.height,r=y,t=z;if(B&&(c=e.getTransformedOptions(a,c),q=c.left||0,u=c.top||0,c.sourceWidth?(m=
|
|
c.sourceWidth,void 0!==c.right&&void 0===c.left&&(q=y-m-c.right)):m=y-q-(c.right||0),c.sourceHeight?(n=c.sourceHeight,void 0!==c.bottom&&void 0===c.top&&(u=z-n-c.bottom)):n=z-u-(c.bottom||0),r=m,t=n),h=c.maxWidth,k=c.maxHeight,l=c.minWidth,p=c.minHeight,B&&h&&k&&c.crop?(r=h,t=k,A=m/n-h/k,0>A?(n=k*m/h,void 0===c.top&&void 0===c.bottom&&(u=(z-n)/2)):0<A&&(m=h*n/k,void 0===c.left&&void 0===c.right&&(q=(y-m)/2))):((c.contain||c.cover)&&(l=h=h||l,p=k=k||p),c.cover?(f(),b()):(b(),f())),B){if(w=c.pixelRatio,
|
|
1<w&&(v.style.width=r+"px",v.style.height=t+"px",r*=w,t*=w,v.getContext("2d").scale(w,w)),x=c.downsamplingRatio,0<x&&1>x&&m>r&&n>t)for(;m*x>r;)v.width=m*x,v.height=n*x,e.renderImageToCanvas(v,a,q,u,m,n,0,0,v.width,v.height),m=v.width,n=v.height,a=document.createElement("canvas"),a.width=m,a.height=n,e.renderImageToCanvas(a,v,0,0,m,n,0,0,m,n);return v.width=r,v.height=t,e.transformCoordinates(v,c),e.renderImageToCanvas(v,a,q,u,m,n,0,0,r,t)}return a.width=r,a.height=t,a};e.createObjectURL=function(b){return a?
|
|
a.createObjectURL(b):!1};e.revokeObjectURL=function(b){return a?a.revokeObjectURL(b):!1};e.readFile=function(a,c,b){if(window.FileReader){var f=new FileReader;if(f.onload=f.onerror=c,b=b||"readAsDataURL",f[b])return f[b](a),f}return!1};"function"==typeof define&&define.amd?define(function(){return e}):"object"==typeof module&&module.exports?module.exports=e:b.loadImage=e}(window);
|
|
(function(b){"function"==typeof define&&define.amd?define(["./load-image"],b):b("object"==typeof module&&module.exports?require("./load-image"):window.loadImage)})(function(b){var e=b.hasCanvasOption,a=b.transformCoordinates,d=b.getTransformedOptions;b.hasCanvasOption=function(a){return!!a.orientation||e.call(b,a)};b.transformCoordinates=function(c,d){a.call(b,c,d);var f=c.getContext("2d"),h=c.width,e=c.height,l=c.style.width,p=c.style.height,m=d.orientation;if(m&&!(8<m))switch(4<m&&(c.width=e,c.height=
|
|
h,c.style.width=p,c.style.height=l),m){case 2:f.translate(h,0);f.scale(-1,1);break;case 3:f.translate(h,e);f.rotate(Math.PI);break;case 4:f.translate(0,e);f.scale(1,-1);break;case 5:f.rotate(.5*Math.PI);f.scale(1,-1);break;case 6:f.rotate(.5*Math.PI);f.translate(0,-e);break;case 7:f.rotate(.5*Math.PI);f.translate(h,-e);f.scale(-1,1);break;case 8:f.rotate(-.5*Math.PI),f.translate(-h,0)}};b.getTransformedOptions=function(a,g){var f,h,e=d.call(b,a,g);f=e.orientation;if(!f||8<f||1===f)return e;f={};for(h in e)e.hasOwnProperty(h)&&
|
|
(f[h]=e[h]);switch(e.orientation){case 2:f.left=e.right;f.right=e.left;break;case 3:f.left=e.right;f.top=e.bottom;f.right=e.left;f.bottom=e.top;break;case 4:f.top=e.bottom;f.bottom=e.top;break;case 5:f.left=e.top;f.top=e.left;f.right=e.bottom;f.bottom=e.right;break;case 6:f.left=e.top;f.top=e.right;f.right=e.bottom;f.bottom=e.left;break;case 7:f.left=e.bottom;f.top=e.right;f.right=e.top;f.bottom=e.left;break;case 8:f.left=e.bottom,f.top=e.left,f.right=e.top,f.bottom=e.right}return 4<e.orientation&&
|
|
(f.maxWidth=e.maxHeight,f.maxHeight=e.maxWidth,f.minWidth=e.minHeight,f.minHeight=e.minWidth,f.sourceWidth=e.sourceHeight,f.sourceHeight=e.sourceWidth),f}});
|
|
(function(b){"function"==typeof define&&define.amd?define(["./load-image"],b):b("object"==typeof module&&module.exports?require("./load-image"):window.loadImage)})(function(b){b.blobSlice=window.Blob&&(Blob.prototype.slice||Blob.prototype.webkitSlice||Blob.prototype.mozSlice)&&function(){return(this.slice||this.webkitSlice||this.mozSlice).apply(this,arguments)};b.metaDataParsers={jpeg:{65505:[]}};b.parseMetaData=function(e,a,d){d=d||{};var c=this,g=d.maxMetaDataSize||262144,f={};window.DataView&&
|
|
e&&12<=e.size&&"image/jpeg"===e.type&&b.blobSlice&&b.readFile(b.blobSlice.call(e,0,g),function(g){if(g.target.error)return console.log(g.target.error),void a(f);var e,l,p,m;g=g.target.result;var n=new DataView(g),q=2,u=n.byteLength-4;p=q;if(65496===n.getUint16(0)){for(;u>q&&(e=n.getUint16(q),65504<=e&&65519>=e||65534===e);){if(l=n.getUint16(q+2)+2,q+l>n.byteLength){console.log("Invalid meta data: Invalid segment size.");break}if(p=b.metaDataParsers.jpeg[e])for(m=0;m<p.length;m+=1)p[m].call(c,n,q,
|
|
l,f,d);p=q+=l}!d.disableImageHead&&6<p&&(g.slice?f.imageHead=g.slice(0,p):f.imageHead=(new Uint8Array(g)).subarray(0,p))}else console.log("Invalid JPEG file: Missing JPEG marker.");a(f)},"readAsArrayBuffer")||a(f)}});
|
|
(function(b){"function"==typeof define&&define.amd?define(["./load-image","./load-image-meta"],b):"object"==typeof module&&module.exports?b(require("./load-image"),require("./load-image-meta")):b(window.loadImage)})(function(b){b.ExifMap=function(){return this};b.ExifMap.prototype.map={Orientation:274};b.ExifMap.prototype.get=function(b){return this[b]||this[this.map[b]]};b.getExifThumbnail=function(b,a,d){var c,g,f;if(!d||a+d>b.byteLength)return void console.log("Invalid Exif data: Invalid thumbnail data.");
|
|
c=[];for(g=0;d>g;g+=1)f=b.getUint8(a+g),c.push((16>f?"0":"")+f.toString(16));return"data:image/jpeg,%"+c.join("%")};b.exifTagTypes={1:{getValue:function(b,a){return b.getUint8(a)},size:1},2:{getValue:function(b,a){return String.fromCharCode(b.getUint8(a))},size:1,ascii:!0},3:{getValue:function(b,a,d){return b.getUint16(a,d)},size:2},4:{getValue:function(b,a,d){return b.getUint32(a,d)},size:4},5:{getValue:function(b,a,d){return b.getUint32(a,d)/b.getUint32(a+4,d)},size:8},9:{getValue:function(b,a,
|
|
d){return b.getInt32(a,d)},size:4},10:{getValue:function(b,a,d){return b.getInt32(a,d)/b.getInt32(a+4,d)},size:8}};b.exifTagTypes[7]=b.exifTagTypes[1];b.getExifValue=function(e,a,d,c,g,f){var h,k,l;c=b.exifTagTypes[c];if(!c)return void console.log("Invalid Exif data: Invalid tag type.");if(h=c.size*g,k=4<h?a+e.getUint32(d+8,f):d+8,k+h>e.byteLength)return void console.log("Invalid Exif data: Invalid data offset.");if(1===g)return c.getValue(e,k,f);a=[];for(d=0;g>d;d+=1)a[d]=c.getValue(e,k+d*c.size,
|
|
f);if(c.ascii){e="";for(d=0;d<a.length&&(l=a[d],"\x00"!==l);d+=1)e+=l;return e}return a};b.parseExifTag=function(e,a,d,c,g){var f=e.getUint16(d,c);g.exif[f]=b.getExifValue(e,a,d,e.getUint16(d+2,c),e.getUint32(d+4,c),c)};b.parseExifTags=function(b,a,d,c,g){var f,h,k;if(d+6>b.byteLength)return void console.log("Invalid Exif data: Invalid directory offset.");if(f=b.getUint16(d,c),h=d+2+12*f,h+4>b.byteLength)return void console.log("Invalid Exif data: Invalid directory size.");for(k=0;f>k;k+=1)this.parseExifTag(b,
|
|
a,d+2+12*k,c,g);return b.getUint32(h,c)};b.parseExifData=function(e,a,d,c,g){if(!g.disableExif){var f,h;d=a+10;if(1165519206===e.getUint32(a+4)){if(d+8>e.byteLength)return void console.log("Invalid Exif data: Invalid segment size.");if(0!==e.getUint16(a+8))return void console.log("Invalid Exif data: Missing byte alignment offset.");switch(e.getUint16(d)){case 18761:a=!0;break;case 19789:a=!1;break;default:return void console.log("Invalid Exif data: Invalid byte alignment marker.")}if(42!==e.getUint16(d+
|
|
2,a))return void console.log("Invalid Exif data: Missing TIFF marker.");f=e.getUint32(d+4,a);c.exif=new b.ExifMap;(f=b.parseExifTags(e,d,d+f,a,c))&&!g.disableExifThumbnail&&(h={exif:{}},b.parseExifTags(e,d,d+f,a,h),h.exif[513]&&(c.exif.Thumbnail=b.getExifThumbnail(e,d+h.exif[513],h.exif[514])));c.exif[34665]&&!g.disableExifSub&&b.parseExifTags(e,d,d+c.exif[34665],a,c);c.exif[34853]&&!g.disableExifGps&&b.parseExifTags(e,d,d+c.exif[34853],a,c)}}};b.metaDataParsers.jpeg[65505].push(b.parseExifData)});
|
|
(function(b){"function"==typeof define&&define.amd?define(["./load-image","./load-image-exif"],b):"object"==typeof module&&module.exports?b(require("./load-image"),require("./load-image-exif")):b(window.loadImage)})(function(b){b.ExifMap.prototype.tags={256:"ImageWidth",257:"ImageHeight",34665:"ExifIFDPointer",34853:"GPSInfoIFDPointer",40965:"InteroperabilityIFDPointer",258:"BitsPerSample",259:"Compression",262:"PhotometricInterpretation",274:"Orientation",277:"SamplesPerPixel",284:"PlanarConfiguration",
|
|
530:"YCbCrSubSampling",531:"YCbCrPositioning",282:"XResolution",283:"YResolution",296:"ResolutionUnit",273:"StripOffsets",278:"RowsPerStrip",279:"StripByteCounts",513:"JPEGInterchangeFormat",514:"JPEGInterchangeFormatLength",301:"TransferFunction",318:"WhitePoint",319:"PrimaryChromaticities",529:"YCbCrCoefficients",532:"ReferenceBlackWhite",306:"DateTime",270:"ImageDescription",271:"Make",272:"Model",305:"Software",315:"Artist",33432:"Copyright",36864:"ExifVersion",40960:"FlashpixVersion",40961:"ColorSpace",
|
|
40962:"PixelXDimension",40963:"PixelYDimension",42240:"Gamma",37121:"ComponentsConfiguration",37122:"CompressedBitsPerPixel",37500:"MakerNote",37510:"UserComment",40964:"RelatedSoundFile",36867:"DateTimeOriginal",36868:"DateTimeDigitized",37520:"SubSecTime",37521:"SubSecTimeOriginal",37522:"SubSecTimeDigitized",33434:"ExposureTime",33437:"FNumber",34850:"ExposureProgram",34852:"SpectralSensitivity",34855:"PhotographicSensitivity",34856:"OECF",34864:"SensitivityType",34865:"StandardOutputSensitivity",
|
|
34866:"RecommendedExposureIndex",34867:"ISOSpeed",34868:"ISOSpeedLatitudeyyy",34869:"ISOSpeedLatitudezzz",37377:"ShutterSpeedValue",37378:"ApertureValue",37379:"BrightnessValue",37380:"ExposureBias",37381:"MaxApertureValue",37382:"SubjectDistance",37383:"MeteringMode",37384:"LightSource",37385:"Flash",37396:"SubjectArea",37386:"FocalLength",41483:"FlashEnergy",41484:"SpatialFrequencyResponse",41486:"FocalPlaneXResolution",41487:"FocalPlaneYResolution",41488:"FocalPlaneResolutionUnit",41492:"SubjectLocation",
|
|
41493:"ExposureIndex",41495:"SensingMethod",41728:"FileSource",41729:"SceneType",41730:"CFAPattern",41985:"CustomRendered",41986:"ExposureMode",41987:"WhiteBalance",41988:"DigitalZoomRatio",41989:"FocalLengthIn35mmFilm",41990:"SceneCaptureType",41991:"GainControl",41992:"Contrast",41993:"Saturation",41994:"Sharpness",41995:"DeviceSettingDescription",41996:"SubjectDistanceRange",42016:"ImageUniqueID",42032:"CameraOwnerName",42033:"BodySerialNumber",42034:"LensSpecification",42035:"LensMake",42036:"LensModel",
|
|
42037:"LensSerialNumber",0:"GPSVersionID",1:"GPSLatitudeRef",2:"GPSLatitude",3:"GPSLongitudeRef",4:"GPSLongitude",5:"GPSAltitudeRef",6:"GPSAltitude",7:"GPSTimeStamp",8:"GPSSatellites",9:"GPSStatus",10:"GPSMeasureMode",11:"GPSDOP",12:"GPSSpeedRef",13:"GPSSpeed",14:"GPSTrackRef",15:"GPSTrack",16:"GPSImgDirectionRef",17:"GPSImgDirection",18:"GPSMapDatum",19:"GPSDestLatitudeRef",20:"GPSDestLatitude",21:"GPSDestLongitudeRef",22:"GPSDestLongitude",23:"GPSDestBearingRef",24:"GPSDestBearing",25:"GPSDestDistanceRef",
|
|
26:"GPSDestDistance",27:"GPSProcessingMethod",28:"GPSAreaInformation",29:"GPSDateStamp",30:"GPSDifferential",31:"GPSHPositioningError"};b.ExifMap.prototype.stringValues={ExposureProgram:{0:"Undefined",1:"Manual",2:"Normal program",3:"Aperture priority",4:"Shutter priority",5:"Creative program",6:"Action program",7:"Portrait mode",8:"Landscape mode"},MeteringMode:{0:"Unknown",1:"Average",2:"CenterWeightedAverage",3:"Spot",4:"MultiSpot",5:"Pattern",6:"Partial",255:"Other"},LightSource:{0:"Unknown",
|
|
1:"Daylight",2:"Fluorescent",3:"Tungsten (incandescent light)",4:"Flash",9:"Fine weather",10:"Cloudy weather",11:"Shade",12:"Daylight fluorescent (D 5700 - 7100K)",13:"Day white fluorescent (N 4600 - 5400K)",14:"Cool white fluorescent (W 3900 - 4500K)",15:"White fluorescent (WW 3200 - 3700K)",17:"Standard light A",18:"Standard light B",19:"Standard light C",20:"D55",21:"D65",22:"D75",23:"D50",24:"ISO studio tungsten",255:"Other"},Flash:{0:"Flash did not fire",1:"Flash fired",5:"Strobe return light not detected",
|
|
7:"Strobe return light detected",9:"Flash fired, compulsory flash mode",13:"Flash fired, compulsory flash mode, return light not detected",15:"Flash fired, compulsory flash mode, return light detected",16:"Flash did not fire, compulsory flash mode",24:"Flash did not fire, auto mode",25:"Flash fired, auto mode",29:"Flash fired, auto mode, return light not detected",31:"Flash fired, auto mode, return light detected",32:"No flash function",65:"Flash fired, red-eye reduction mode",69:"Flash fired, red-eye reduction mode, return light not detected",
|
|
71:"Flash fired, red-eye reduction mode, return light detected",73:"Flash fired, compulsory flash mode, red-eye reduction mode",77:"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",79:"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",89:"Flash fired, auto mode, red-eye reduction mode",93:"Flash fired, auto mode, return light not detected, red-eye reduction mode",95:"Flash fired, auto mode, return light detected, red-eye reduction mode"},
|
|
SensingMethod:{1:"Undefined",2:"One-chip color area sensor",3:"Two-chip color area sensor",4:"Three-chip color area sensor",5:"Color sequential area sensor",7:"Trilinear sensor",8:"Color sequential linear sensor"},SceneCaptureType:{0:"Standard",1:"Landscape",2:"Portrait",3:"Night scene"},SceneType:{1:"Directly photographed"},CustomRendered:{0:"Normal process",1:"Custom process"},WhiteBalance:{0:"Auto white balance",1:"Manual white balance"},GainControl:{0:"None",1:"Low gain up",2:"High gain up",3:"Low gain down",
|
|
4:"High gain down"},Contrast:{0:"Normal",1:"Soft",2:"Hard"},Saturation:{0:"Normal",1:"Low saturation",2:"High saturation"},Sharpness:{0:"Normal",1:"Soft",2:"Hard"},SubjectDistanceRange:{0:"Unknown",1:"Macro",2:"Close view",3:"Distant view"},FileSource:{3:"DSC"},ComponentsConfiguration:{0:"",1:"Y",2:"Cb",3:"Cr",4:"R",5:"G",6:"B"},Orientation:{1:"top-left",2:"top-right",3:"bottom-right",4:"bottom-left",5:"left-top",6:"right-top",7:"right-bottom",8:"left-bottom"}};b.ExifMap.prototype.getText=function(b){var a=
|
|
this.get(b);switch(b){case "LightSource":case "Flash":case "MeteringMode":case "ExposureProgram":case "SensingMethod":case "SceneCaptureType":case "SceneType":case "CustomRendered":case "WhiteBalance":case "GainControl":case "Contrast":case "Saturation":case "Sharpness":case "SubjectDistanceRange":case "FileSource":case "Orientation":return this.stringValues[b][a];case "ExifVersion":case "FlashpixVersion":return String.fromCharCode(a[0],a[1],a[2],a[3]);case "ComponentsConfiguration":return this.stringValues[b][a[0]]+
|
|
this.stringValues[b][a[1]]+this.stringValues[b][a[2]]+this.stringValues[b][a[3]];case "GPSVersionID":return a[0]+"."+a[1]+"."+a[2]+"."+a[3]}return String(a)};(function(b){var a,d=b.tags;b=b.map;for(a in d)d.hasOwnProperty(a)&&(b[d[a]]=a)})(b.ExifMap.prototype);b.ExifMap.prototype.getAll=function(){var b,a,d={};for(b in this)this.hasOwnProperty(b)&&(a=this.tags[b],a&&(d[a]=this.getText(a)));return d}});
|
|
!function(b){var e=b.HTMLCanvasElement&&b.HTMLCanvasElement.prototype,a;if(a=b.Blob)try{a=!!new Blob}catch(k){a=!1}var d=a;if(a=d&&b.Uint8Array)try{a=100===(new Blob([new Uint8Array(100)])).size}catch(k){a=!1}var c=a,g=b.BlobBuilder||b.WebKitBlobBuilder||b.MozBlobBuilder||b.MSBlobBuilder,f=/^data:((.*?)(;charset=.*?)?)(;base64)?,/,h=(d||g)&&b.atob&&b.ArrayBuffer&&b.Uint8Array&&function(a){var b,e,h,n,q;if(b=a.match(f),!b)throw Error("invalid data URI");e=b[2]?b[1]:"text/plain"+(b[3]||";charset=US-ASCII");
|
|
h=!!b[4];a=a.slice(b[0].length);h=h?atob(a):decodeURIComponent(a);a=new ArrayBuffer(h.length);b=new Uint8Array(a);for(n=0;n<h.length;n+=1)b[n]=h.charCodeAt(n);return d?new Blob([c?b:a],{type:e}):(q=new g,q.append(a),q.getBlob(e))};b.HTMLCanvasElement&&!e.toBlob&&(e.mozGetAsFile?e.toBlob=function(a,b,c){a(c&&e.toDataURL&&h?h(this.toDataURL(b,c)):this.mozGetAsFile("blob",b))}:e.toDataURL&&h&&(e.toBlob=function(a,b,c){a(h(this.toDataURL(b,c)))}));"function"==typeof define&&define.amd?define(function(){return h}):
|
|
"object"==typeof module&&module.exports?module.exports=h:b.dataURLtoBlob=h}(window);
|
|
(function(b){"function"===typeof define&&define.amd?define(["jquery"],b):"object"===typeof exports?b(require("jquery")):b(window.jQuery)})(function(b){var e=0;b.ajaxTransport("iframe",function(a){if(a.async){var d=a.initialIframeSrc||"javascript:false;",c,g,f;return{send:function(h,k){c=b('<form style="display:none;"></form>');c.attr("accept-charset",a.formAcceptCharset);f=/\?/.test(a.url)?"&":"?";"DELETE"===a.type?(a.url=a.url+f+"_method=DELETE",a.type="POST"):"PUT"===a.type?(a.url=a.url+f+"_method=PUT",
|
|
a.type="POST"):"PATCH"===a.type&&(a.url=a.url+f+"_method=PATCH",a.type="POST");e+=1;g=b('<iframe src="'+d+'" name="iframe-transport-'+e+'"></iframe>').bind("load",function(){var f,e=b.isArray(a.paramName)?a.paramName:[a.paramName];g.unbind("load").bind("load",function(){var a;try{if(a=g.contents(),!a.length||!a[0].firstChild)throw Error();}catch(f){a=void 0}k(200,"success",{iframe:a});b('<iframe src="'+d+'"></iframe>').appendTo(c);window.setTimeout(function(){c.remove()},0)});c.prop("target",g.prop("name")).prop("action",
|
|
a.url).prop("method",a.type);a.formData&&b.each(a.formData,function(a,d){b('<input type="hidden"/>').prop("name",d.name).val(d.value).appendTo(c)});a.fileInput&&a.fileInput.length&&"POST"===a.type&&(f=a.fileInput.clone(),a.fileInput.after(function(a){return f[a]}),a.paramName&&a.fileInput.each(function(c){b(this).prop("name",e[c]||a.paramName)}),c.append(a.fileInput).prop("enctype","multipart/form-data").prop("encoding","multipart/form-data"),a.fileInput.removeAttr("form"));c.submit();f&&f.length&&
|
|
a.fileInput.each(function(a,c){var d=b(f[a]);b(c).prop("name",d.prop("name")).attr("form",d.attr("form"));d.replaceWith(c)})});c.append(g).appendTo(document.body)},abort:function(){g&&g.unbind("load").prop("src",d);c&&c.remove()}}}});b.ajaxSetup({converters:{"iframe text":function(a){return a&&b(a[0].body).text()},"iframe json":function(a){return a&&b.parseJSON(b(a[0].body).text())},"iframe html":function(a){return a&&b(a[0].body).html()},"iframe xml":function(a){return(a=a&&a[0])&&b.isXMLDoc(a)?
|
|
a:b.parseXML(a.XMLDocument&&a.XMLDocument.xml||b(a.body).html())},"iframe script":function(a){return a&&b.globalEval(b(a[0].body).text())}}})});
|
|
(function(b){"function"===typeof define&&define.amd?define(["jquery","jquery.ui.widget"],b):"object"===typeof exports?b(require("jquery"),require("./vendor/jquery.ui.widget")):b(window.jQuery)})(function(b){function e(a){var d="dragover"===a;return function(c){c.dataTransfer=c.originalEvent&&c.originalEvent.dataTransfer;var g=c.dataTransfer;g&&-1!==b.inArray("Files",g.types)&&!1!==this._trigger(a,b.Event(a,{delegatedEvent:c}))&&(c.preventDefault(),d&&(g.dropEffect="copy"))}}b.support.fileInput=!(/(Android (1\.[0156]|2\.[01]))|(Windows Phone (OS 7|8\.0))|(XBLWP)|(ZuneWP)|(WPDesktop)|(w(eb)?OSBrowser)|(webOS)|(Kindle\/(1\.0|2\.[05]|3\.0))/.test(window.navigator.userAgent)||
|
|
b('<input type="file">').prop("disabled"));b.support.xhrFileUpload=!(!window.ProgressEvent||!window.FileReader);b.support.xhrFormDataFileUpload=!!window.FormData;b.support.blobSlice=window.Blob&&(Blob.prototype.slice||Blob.prototype.webkitSlice||Blob.prototype.mozSlice);b.widget("blueimp.fileupload",{options:{dropZone:b(document),pasteZone:void 0,fileInput:void 0,replaceFileInput:!0,paramName:void 0,singleFileUploads:!0,limitMultiFileUploads:void 0,limitMultiFileUploadSize:void 0,limitMultiFileUploadSizeOverhead:512,
|
|
sequentialUploads:!1,limitConcurrentUploads:void 0,forceIframeTransport:!1,redirect:void 0,redirectParamName:void 0,postMessage:void 0,multipart:!0,maxChunkSize:void 0,uploadedBytes:void 0,recalculateProgress:!0,progressInterval:100,bitrateInterval:500,autoUpload:!0,messages:{uploadedBytes:"Uploaded bytes exceed file size"},i18n:function(a,d){a=this.messages[a]||a.toString();d&&b.each(d,function(b,d){a=a.replace("{"+b+"}",d)});return a},formData:function(a){return a.serializeArray()},add:function(a,
|
|
d){if(a.isDefaultPrevented())return!1;(d.autoUpload||!1!==d.autoUpload&&b(this).fileupload("option","autoUpload"))&&d.process().done(function(){d.submit()})},processData:!1,contentType:!1,cache:!1,timeout:0},_specialOptions:["fileInput","dropZone","pasteZone","multipart","forceIframeTransport"],_blobSlice:b.support.blobSlice&&function(){return(this.slice||this.webkitSlice||this.mozSlice).apply(this,arguments)},_BitrateTimer:function(){this.timestamp=Date.now?Date.now():(new Date).getTime();this.bitrate=
|
|
this.loaded=0;this.getBitrate=function(a,b,c){var g=a-this.timestamp;if(!this.bitrate||!c||g>c)this.bitrate=1E3/g*(b-this.loaded)*8,this.loaded=b,this.timestamp=a;return this.bitrate}},_isXHRUpload:function(a){return!a.forceIframeTransport&&(!a.multipart&&b.support.xhrFileUpload||b.support.xhrFormDataFileUpload)},_getFormData:function(a){var d;return"function"===b.type(a.formData)?a.formData(a.form):b.isArray(a.formData)?a.formData:"object"===b.type(a.formData)?(d=[],b.each(a.formData,function(a,
|
|
b){d.push({name:a,value:b})}),d):[]},_getTotal:function(a){var d=0;b.each(a,function(a,b){d+=b.size||1});return d},_initProgressObject:function(a){var d={loaded:0,total:0,bitrate:0};a._progress?b.extend(a._progress,d):a._progress=d},_initResponseObject:function(a){var b;if(a._response)for(b in a._response)a._response.hasOwnProperty(b)&&delete a._response[b];else a._response={}},_onProgress:function(a,d){if(a.lengthComputable){var c=Date.now?Date.now():(new Date).getTime(),g;d._time&&d.progressInterval&&
|
|
c-d._time<d.progressInterval&&a.loaded!==a.total||(d._time=c,g=Math.floor(a.loaded/a.total*(d.chunkSize||d._progress.total))+(d.uploadedBytes||0),this._progress.loaded+=g-d._progress.loaded,this._progress.bitrate=this._bitrateTimer.getBitrate(c,this._progress.loaded,d.bitrateInterval),d._progress.loaded=d.loaded=g,d._progress.bitrate=d.bitrate=d._bitrateTimer.getBitrate(c,g,d.bitrateInterval),this._trigger("progress",b.Event("progress",{delegatedEvent:a}),d),this._trigger("progressall",b.Event("progressall",
|
|
{delegatedEvent:a}),this._progress))}},_initProgressListener:function(a){var d=this,c=a.xhr?a.xhr():b.ajaxSettings.xhr();c.upload&&(b(c.upload).bind("progress",function(b){var c=b.originalEvent;b.lengthComputable=c.lengthComputable;b.loaded=c.loaded;b.total=c.total;d._onProgress(b,a)}),a.xhr=function(){return c})},_isInstanceOf:function(a,b){return Object.prototype.toString.call(b)==="[object "+a+"]"},_initXHRData:function(a){var d=this,c,g=a.files[0],f=a.multipart||!b.support.xhrFileUpload,e="array"===
|
|
b.type(a.paramName)?a.paramName[0]:a.paramName;a.headers=b.extend({},a.headers);a.contentRange&&(a.headers["Content-Range"]=a.contentRange);f&&!a.blob&&this._isInstanceOf("File",g)||(a.headers["Content-Disposition"]='attachment; filename="'+encodeURI(g.name)+'"');f?b.support.xhrFormDataFileUpload&&(a.postMessage?(c=this._getFormData(a),a.blob?c.push({name:e,value:a.blob}):b.each(a.files,function(d,f){c.push({name:"array"===b.type(a.paramName)&&a.paramName[d]||e,value:f})})):(d._isInstanceOf("FormData",
|
|
a.formData)?c=a.formData:(c=new FormData,b.each(this._getFormData(a),function(a,b){c.append(b.name,b.value)})),a.blob?c.append(e,a.blob,g.name):b.each(a.files,function(f,g){(d._isInstanceOf("File",g)||d._isInstanceOf("Blob",g))&&c.append("array"===b.type(a.paramName)&&a.paramName[f]||e,g,g.uploadName||g.name)})),a.data=c):(a.contentType=g.type||"application/octet-stream",a.data=a.blob||g);a.blob=null},_initIframeSettings:function(a){var d=b("<a></a>").prop("href",a.url).prop("host");a.dataType="iframe "+
|
|
(a.dataType||"");a.formData=this._getFormData(a);a.redirect&&d&&d!==location.host&&a.formData.push({name:a.redirectParamName||"redirect",value:a.redirect})},_initDataSettings:function(a){this._isXHRUpload(a)?(this._chunkedUpload(a,!0)||(a.data||this._initXHRData(a),this._initProgressListener(a)),a.postMessage&&(a.dataType="postmessage "+(a.dataType||""))):this._initIframeSettings(a)},_getParamName:function(a){var d=b(a.fileInput),c=a.paramName;c?b.isArray(c)||(c=[c]):(c=[],d.each(function(){for(var a=
|
|
b(this),d=a.prop("name")||"files[]",a=(a.prop("files")||[1]).length;a;)c.push(d),--a}),c.length||(c=[d.prop("name")||"files[]"]));return c},_initFormSettings:function(a){a.form&&a.form.length||(a.form=b(a.fileInput.prop("form")),a.form.length||(a.form=b(this.options.fileInput.prop("form"))));a.paramName=this._getParamName(a);a.url||(a.url=a.form.prop("action")||location.href);a.type=(a.type||"string"===b.type(a.form.prop("method"))&&a.form.prop("method")||"").toUpperCase();"POST"!==a.type&&"PUT"!==
|
|
a.type&&"PATCH"!==a.type&&(a.type="POST");a.formAcceptCharset||(a.formAcceptCharset=a.form.attr("accept-charset"))},_getAJAXSettings:function(a){a=b.extend({},this.options,a);this._initFormSettings(a);this._initDataSettings(a);return a},_getDeferredState:function(a){return a.state?a.state():a.isResolved()?"resolved":a.isRejected()?"rejected":"pending"},_enhancePromise:function(a){a.success=a.done;a.error=a.fail;a.complete=a.always;return a},_getXHRPromise:function(a,d,c){var g=b.Deferred(),f=g.promise();
|
|
d=d||this.options.context||f;!0===a?g.resolveWith(d,c):!1===a&&g.rejectWith(d,c);f.abort=g.promise;return this._enhancePromise(f)},_addConvenienceMethods:function(a,d){var c=this,g=function(a){return b.Deferred().resolveWith(c,a).promise()};d.process=function(a,e){if(a||e)d._processQueue=this._processQueue=(this._processQueue||g([this])).then(function(){return d.errorThrown?b.Deferred().rejectWith(c,[d]).promise():g(arguments)}).then(a,e);return this._processQueue||g([this])};d.submit=function(){"pending"!==
|
|
this.state()&&(d.jqXHR=this.jqXHR=!1!==c._trigger("submit",b.Event("submit",{delegatedEvent:a}),this)&&c._onSend(a,this));return this.jqXHR||c._getXHRPromise()};d.abort=function(){if(this.jqXHR)return this.jqXHR.abort();this.errorThrown="abort";c._trigger("fail",null,this);return c._getXHRPromise(!1)};d.state=function(){if(this.jqXHR)return c._getDeferredState(this.jqXHR);if(this._processQueue)return c._getDeferredState(this._processQueue)};d.processing=function(){return!this.jqXHR&&this._processQueue&&
|
|
"pending"===c._getDeferredState(this._processQueue)};d.progress=function(){return this._progress};d.response=function(){return this._response}},_getUploadedBytes:function(a){return(a=(a=(a=a.getResponseHeader("Range"))&&a.split("-"))&&1<a.length&&parseInt(a[1],10))&&a+1},_chunkedUpload:function(a,d){a.uploadedBytes=a.uploadedBytes||0;var c=this,g=a.files[0],f=g.size,e=a.uploadedBytes,k=a.maxChunkSize||f,l=this._blobSlice,p=b.Deferred(),m=p.promise(),n,q;if(!(this._isXHRUpload(a)&&l&&(e||k<f))||a.data)return!1;
|
|
if(d)return!0;if(e>=f)return g.error=a.i18n("uploadedBytes"),this._getXHRPromise(!1,a.context,[null,"error",g.error]);q=function(){var d=b.extend({},a),m=d._progress.loaded;d.blob=l.call(g,e,e+k,g.type);d.chunkSize=d.blob.size;d.contentRange="bytes "+e+"-"+(e+d.chunkSize-1)+"/"+f;c._initXHRData(d);c._initProgressListener(d);n=(!1!==c._trigger("chunksend",null,d)&&b.ajax(d)||c._getXHRPromise(!1,d.context)).done(function(g,k,l){e=c._getUploadedBytes(l)||e+d.chunkSize;m+d.chunkSize-d._progress.loaded&&
|
|
c._onProgress(b.Event("progress",{lengthComputable:!0,loaded:e-d.uploadedBytes,total:e-d.uploadedBytes}),d);a.uploadedBytes=d.uploadedBytes=e;d.result=g;d.textStatus=k;d.jqXHR=l;c._trigger("chunkdone",null,d);c._trigger("chunkalways",null,d);e<f?q():p.resolveWith(d.context,[g,k,l])}).fail(function(a,b,f){d.jqXHR=a;d.textStatus=b;d.errorThrown=f;c._trigger("chunkfail",null,d);c._trigger("chunkalways",null,d);p.rejectWith(d.context,[a,b,f])})};this._enhancePromise(m);m.abort=function(){return n.abort()};
|
|
q();return m},_beforeSend:function(a,b){0===this._active&&(this._trigger("start"),this._bitrateTimer=new this._BitrateTimer,this._progress.loaded=this._progress.total=0,this._progress.bitrate=0);this._initResponseObject(b);this._initProgressObject(b);b._progress.loaded=b.loaded=b.uploadedBytes||0;b._progress.total=b.total=this._getTotal(b.files)||1;b._progress.bitrate=b.bitrate=0;this._active+=1;this._progress.loaded+=b.loaded;this._progress.total+=b.total},_onDone:function(a,d,c,g){var f=g._progress.total,
|
|
e=g._response;g._progress.loaded<f&&this._onProgress(b.Event("progress",{lengthComputable:!0,loaded:f,total:f}),g);e.result=g.result=a;e.textStatus=g.textStatus=d;e.jqXHR=g.jqXHR=c;this._trigger("done",null,g)},_onFail:function(a,b,c,g){var f=g._response;g.recalculateProgress&&(this._progress.loaded-=g._progress.loaded,this._progress.total-=g._progress.total);f.jqXHR=g.jqXHR=a;f.textStatus=g.textStatus=b;f.errorThrown=g.errorThrown=c;this._trigger("fail",null,g)},_onAlways:function(a,b,c,g){this._trigger("always",
|
|
null,g)},_onSend:function(a,d){d.submit||this._addConvenienceMethods(a,d);var c=this,g,f,e,k,l=c._getAJAXSettings(d),p=function(){c._sending+=1;l._bitrateTimer=new c._BitrateTimer;return g=g||((f||!1===c._trigger("send",b.Event("send",{delegatedEvent:a}),l))&&c._getXHRPromise(!1,l.context,f)||c._chunkedUpload(l)||b.ajax(l)).done(function(a,b,d){c._onDone(a,b,d,l)}).fail(function(a,b,d){c._onFail(a,b,d,l)}).always(function(a,b,d){c._onAlways(a,b,d,l);--c._sending;--c._active;if(l.limitConcurrentUploads&&
|
|
l.limitConcurrentUploads>c._sending)for(a=c._slots.shift();a;){if("pending"===c._getDeferredState(a)){a.resolve();break}a=c._slots.shift()}0===c._active&&c._trigger("stop")})};this._beforeSend(a,l);return this.options.sequentialUploads||this.options.limitConcurrentUploads&&this.options.limitConcurrentUploads<=this._sending?(1<this.options.limitConcurrentUploads?(e=b.Deferred(),this._slots.push(e),k=e.then(p)):k=this._sequence=this._sequence.then(p,p),k.abort=function(){f=[void 0,"abort","abort"];
|
|
return g?g.abort():(e&&e.rejectWith(l.context,f),p())},this._enhancePromise(k)):p()},_onAdd:function(a,d){var c=this,g=!0,f=b.extend({},this.options,d),e=d.files,k=e.length,l=f.limitMultiFileUploads,p=f.limitMultiFileUploadSize,m=f.limitMultiFileUploadSizeOverhead,n=0,q=this._getParamName(f),u,w,x=0;if(!k)return!1;p&&void 0===e[0].size&&(p=void 0);if((f.singleFileUploads||l||p)&&this._isXHRUpload(f))if(f.singleFileUploads||p||!l)if(!f.singleFileUploads&&p)for(w=[],u=[],f=0;f<k;f+=1){if(n+=e[f].size+
|
|
m,f+1===k||n+e[f+1].size+m>p||l&&f+1-x>=l)w.push(e.slice(x,f+1)),n=q.slice(x,f+1),n.length||(n=q),u.push(n),x=f+1,n=0}else u=q;else for(w=[],u=[],f=0;f<k;f+=l)w.push(e.slice(f,f+l)),n=q.slice(f,f+l),n.length||(n=q),u.push(n);else w=[e],u=[q];d.originalFiles=e;b.each(w||e,function(f,e){var h=b.extend({},d);h.files=w?e:[e];h.paramName=u[f];c._initResponseObject(h);c._initProgressObject(h);c._addConvenienceMethods(a,h);return g=c._trigger("add",b.Event("add",{delegatedEvent:a}),h)});return g},_replaceFileInput:function(a){var d=
|
|
a.fileInput,c=d.clone(!0),g=d.is(document.activeElement);a.fileInputClone=c;b("<form></form>").append(c)[0].reset();d.after(c).detach();g&&c.focus();b.cleanData(d.unbind("remove"));this.options.fileInput=this.options.fileInput.map(function(a,b){return b===d[0]?c[0]:b});d[0]===this.element[0]&&(this.element=c)},_handleFileTreeEntry:function(a,d){var c=this,g=b.Deferred(),f=function(b){b&&!b.entry&&(b.entry=a);g.resolve([b])},e=function(b){c._handleFileTreeEntries(b,d+a.name+"/").done(function(a){g.resolve(a)}).fail(f)},
|
|
k=function(){l.readEntries(function(a){a.length?(p=p.concat(a),k()):e(p)},f)},l,p=[];d=d||"";a.isFile?a._file?(a._file.relativePath=d,g.resolve(a._file)):a.file(function(a){a.relativePath=d;g.resolve(a)},f):a.isDirectory?(l=a.createReader(),k()):g.resolve([]);return g.promise()},_handleFileTreeEntries:function(a,d){var c=this;return b.when.apply(b,b.map(a,function(a){return c._handleFileTreeEntry(a,d)})).then(function(){return Array.prototype.concat.apply([],arguments)})},_getDroppedFiles:function(a){a=
|
|
a||{};var d=a.items;return d&&d.length&&(d[0].webkitGetAsEntry||d[0].getAsEntry)?this._handleFileTreeEntries(b.map(d,function(a){var b;if(a.webkitGetAsEntry){if(b=a.webkitGetAsEntry())b._file=a.getAsFile();return b}return a.getAsEntry()})):b.Deferred().resolve(b.makeArray(a.files)).promise()},_getSingleFileInputFiles:function(a){a=b(a);var d=a.prop("webkitEntries")||a.prop("entries");if(d&&d.length)return this._handleFileTreeEntries(d);d=b.makeArray(a.prop("files"));if(d.length)void 0===d[0].name&&
|
|
d[0].fileName&&b.each(d,function(a,b){b.name=b.fileName;b.size=b.fileSize});else{a=a.prop("value");if(!a)return b.Deferred().resolve([]).promise();d=[{name:a.replace(/^.*\\/,"")}]}return b.Deferred().resolve(d).promise()},_getFileInputFiles:function(a){return a instanceof b&&1!==a.length?b.when.apply(b,b.map(a,this._getSingleFileInputFiles)).then(function(){return Array.prototype.concat.apply([],arguments)}):this._getSingleFileInputFiles(a)},_onChange:function(a){var d=this,c={fileInput:b(a.target),
|
|
form:b(a.target.form)};this._getFileInputFiles(c.fileInput).always(function(e){c.files=e;d.options.replaceFileInput&&d._replaceFileInput(c);!1!==d._trigger("change",b.Event("change",{delegatedEvent:a}),c)&&d._onAdd(a,c)})},_onPaste:function(a){var d=a.originalEvent&&a.originalEvent.clipboardData&&a.originalEvent.clipboardData.items,c={files:[]};d&&d.length&&(b.each(d,function(a,b){var d=b.getAsFile&&b.getAsFile();d&&c.files.push(d)}),!1!==this._trigger("paste",b.Event("paste",{delegatedEvent:a}),
|
|
c)&&this._onAdd(a,c))},_onDrop:function(a){a.dataTransfer=a.originalEvent&&a.originalEvent.dataTransfer;var d=this,c=a.dataTransfer,e={};c&&c.files&&c.files.length&&(a.preventDefault(),this._getDroppedFiles(c).always(function(c){e.files=c;!1!==d._trigger("drop",b.Event("drop",{delegatedEvent:a}),e)&&d._onAdd(a,e)}))},_onDragOver:e("dragover"),_onDragEnter:e("dragenter"),_onDragLeave:e("dragleave"),_initEventHandlers:function(){this._isXHRUpload(this.options)&&(this._on(this.options.dropZone,{dragover:this._onDragOver,
|
|
drop:this._onDrop,dragenter:this._onDragEnter,dragleave:this._onDragLeave}),this._on(this.options.pasteZone,{paste:this._onPaste}));b.support.fileInput&&this._on(this.options.fileInput,{change:this._onChange})},_destroyEventHandlers:function(){this._off(this.options.dropZone,"dragenter dragleave dragover drop");this._off(this.options.pasteZone,"paste");this._off(this.options.fileInput,"change")},_setOption:function(a,d){var c=-1!==b.inArray(a,this._specialOptions);c&&this._destroyEventHandlers();
|
|
this._super(a,d);c&&(this._initSpecialOptions(),this._initEventHandlers())},_initSpecialOptions:function(){var a=this.options;void 0===a.fileInput?a.fileInput=this.element.is('input[type="file"]')?this.element:this.element.find('input[type="file"]'):a.fileInput instanceof b||(a.fileInput=b(a.fileInput));a.dropZone instanceof b||(a.dropZone=b(a.dropZone));a.pasteZone instanceof b||(a.pasteZone=b(a.pasteZone))},_getRegExp:function(a){a=a.split("/");var b=a.pop();a.shift();return new RegExp(a.join("/"),
|
|
b)},_isRegExpOption:function(a,d){return"url"!==a&&"string"===b.type(d)&&/^\/.*\/[igm]{0,3}$/.test(d)},_initDataAttributes:function(){var a=this,d=this.options,c=this.element.data();b.each(this.element[0].attributes,function(b,f){var e=f.name.toLowerCase(),k;/^data-/.test(e)&&(e=e.slice(5).replace(/-[a-z]/g,function(a){return a.charAt(1).toUpperCase()}),k=c[e],a._isRegExpOption(e,k)&&(k=a._getRegExp(k)),d[e]=k)})},_create:function(){this._initDataAttributes();this._initSpecialOptions();this._slots=
|
|
[];this._sequence=this._getXHRPromise(!0);this._sending=this._active=0;this._initProgressObject(this);this._initEventHandlers()},active:function(){return this._active},progress:function(){return this._progress},add:function(a){var d=this;a&&!this.options.disabled&&(a.fileInput&&!a.files?this._getFileInputFiles(a.fileInput).always(function(b){a.files=b;d._onAdd(null,a)}):(a.files=b.makeArray(a.files),this._onAdd(null,a)))},send:function(a){if(a&&!this.options.disabled){if(a.fileInput&&!a.files){var d=
|
|
this,c=b.Deferred(),e=c.promise(),f,h;e.abort=function(){h=!0;if(f)return f.abort();c.reject(null,"abort","abort");return e};this._getFileInputFiles(a.fileInput).always(function(b){h||(b.length?(a.files=b,f=d._onSend(null,a),f.then(function(a,b,d){c.resolve(a,b,d)},function(a,b,d){c.reject(a,b,d)})):c.reject())});return this._enhancePromise(e)}a.files=b.makeArray(a.files);if(a.files.length)return this._onSend(null,a)}return this._getXHRPromise(!1,a&&a.context)}})});
|
|
(function(b){"function"===typeof define&&define.amd?define(["jquery","./jquery.fileupload"],b):"object"===typeof exports?b(require("jquery")):b(window.jQuery)})(function(b){var e=b.blueimp.fileupload.prototype.options.add;b.widget("blueimp.fileupload",b.blueimp.fileupload,{options:{processQueue:[],add:function(a,d){var c=b(this);d.process(function(){return c.fileupload("process",d)});e.call(this,a,d)}},processActions:{},_processFile:function(a,d){var c=this,e=b.Deferred().resolveWith(c,[a]).promise();
|
|
this._trigger("process",null,a);b.each(a.processQueue,function(a,h){var k=function(a){return d.errorThrown?b.Deferred().rejectWith(c,[d]).promise():c.processActions[h.action].call(c,a,h)};e=e.then(k,h.always&&k)});e.done(function(){c._trigger("processdone",null,a);c._trigger("processalways",null,a)}).fail(function(){c._trigger("processfail",null,a);c._trigger("processalways",null,a)});return e},_transformProcessQueue:function(a){var d=[];b.each(a.processQueue,function(){var c={},e=this.action,f=!0===
|
|
this.prefix?e:this.prefix;b.each(this,function(d,e){"string"===b.type(e)&&"@"===e.charAt(0)?c[d]=a[e.slice(1)||(f?f+d.charAt(0).toUpperCase()+d.slice(1):d)]:c[d]=e});d.push(c)});a.processQueue=d},processing:function(){return this._processing},process:function(a){var d=this,c=b.extend({},this.options,a);c.processQueue&&c.processQueue.length&&(this._transformProcessQueue(c),0===this._processing&&this._trigger("processstart"),b.each(a.files,function(e){var f=e?b.extend({},c):c,h=function(){return a.errorThrown?
|
|
b.Deferred().rejectWith(d,[a]).promise():d._processFile(f,a)};f.index=e;d._processing+=1;d._processingQueue=d._processingQueue.then(h,h).always(function(){--d._processing;0===d._processing&&d._trigger("processstop")})}));return this._processingQueue},_create:function(){this._super();this._processing=0;this._processingQueue=b.Deferred().resolveWith(this).promise()}})});
|
|
(function(b){"function"===typeof define&&define.amd?define("jquery load-image load-image-meta load-image-exif canvas-to-blob ./jquery.fileupload-process".split(" "),b):"object"===typeof exports?b(require("jquery"),require("blueimp-load-image/js/load-image"),require("blueimp-load-image/js/load-image-meta"),require("blueimp-load-image/js/load-image-exif"),require("blueimp-canvas-to-blob"),require("./jquery.fileupload-process")):b(window.jQuery,window.loadImage)})(function(b,e){b.blueimp.fileupload.prototype.options.processQueue.unshift({action:"loadImageMetaData",
|
|
disableImageHead:"@",disableExif:"@",disableExifThumbnail:"@",disableExifSub:"@",disableExifGps:"@",disabled:"@disableImageMetaDataLoad"},{action:"loadImage",prefix:!0,fileTypes:"@",maxFileSize:"@",noRevoke:"@",disabled:"@disableImageLoad"},{action:"resizeImage",prefix:"image",maxWidth:"@",maxHeight:"@",minWidth:"@",minHeight:"@",crop:"@",orientation:"@",forceResize:"@",disabled:"@disableImageResize"},{action:"saveImage",quality:"@imageQuality",type:"@imageType",disabled:"@disableImageResize"},{action:"saveImageMetaData",
|
|
disabled:"@disableImageMetaDataSave"},{action:"resizeImage",prefix:"preview",maxWidth:"@",maxHeight:"@",minWidth:"@",minHeight:"@",crop:"@",orientation:"@",thumbnail:"@",canvas:"@",disabled:"@disableImagePreview"},{action:"setImage",name:"@imagePreviewName",disabled:"@disableImagePreview"},{action:"deleteImageReferences",disabled:"@disableImageReferencesDeletion"});b.widget("blueimp.fileupload",b.blueimp.fileupload,{options:{loadImageFileTypes:/^image\/(gif|jpeg|png|svg\+xml)$/,loadImageMaxFileSize:1E7,
|
|
imageMaxWidth:1920,imageMaxHeight:1080,imageOrientation:!1,imageCrop:!1,disableImageResize:!0,previewMaxWidth:80,previewMaxHeight:80,previewOrientation:!0,previewThumbnail:!0,previewCrop:!1,previewCanvas:!0},processActions:{loadImage:function(a,d){if(d.disabled)return a;var c=this,g=a.files[a.index],f=b.Deferred();return"number"===b.type(d.maxFileSize)&&g.size>d.maxFileSize||d.fileTypes&&!d.fileTypes.test(g.type)||!e(g,function(b){b.src&&(a.img=b);f.resolveWith(c,[a])},d)?a:f.promise()},resizeImage:function(a,
|
|
d){if(d.disabled||!a.canvas&&!a.img)return a;d=b.extend({canvas:!0},d);var c=this,g=b.Deferred(),f=d.canvas&&a.canvas||a.img,h=function(b){b&&(b.width!==f.width||b.height!==f.height||d.forceResize)&&(a[b.getContext?"canvas":"img"]=b);a.preview=b;g.resolveWith(c,[a])},k;if(a.exif){!0===d.orientation&&(d.orientation=a.exif.get("Orientation"));if(d.thumbnail&&(k=a.exif.get("Thumbnail")))return e(k,h,d),g.promise();a.orientation?delete d.orientation:a.orientation=d.orientation}return f?(h(e.scale(f,d)),
|
|
g.promise()):a},saveImage:function(a,d){if(!a.canvas||d.disabled)return a;var c=this,e=a.files[a.index],f=b.Deferred();if(a.canvas.toBlob)a.canvas.toBlob(function(b){b.name||(e.type===b.type?b.name=e.name:e.name&&(b.name=e.name.replace(/\.\w+$/,"."+b.type.substr(6))));e.type!==b.type&&delete a.imageHead;a.files[a.index]=b;f.resolveWith(c,[a])},d.type||e.type,d.quality);else return a;return f.promise()},loadImageMetaData:function(a,d){if(d.disabled)return a;var c=this,g=b.Deferred();e.parseMetaData(a.files[a.index],
|
|
function(d){b.extend(a,d);g.resolveWith(c,[a])},d);return g.promise()},saveImageMetaData:function(a,b){if(!(a.imageHead&&a.canvas&&a.canvas.toBlob)||b.disabled)return a;var c=a.files[a.index],e=new Blob([a.imageHead,this._blobSlice.call(c,20)],{type:c.type});e.name=c.name;a.files[a.index]=e;return a},setImage:function(a,b){a.preview&&!b.disabled&&(a.files[a.index][b.name||"preview"]=a.preview);return a},deleteImageReferences:function(a,b){b.disabled||(delete a.img,delete a.canvas,delete a.preview,
|
|
delete a.imageHead);return a}}})});
|
|
(function(b){"function"===typeof define&&define.amd?define(["jquery","load-image","./jquery.fileupload-process"],b):"object"===typeof exports?b(require("jquery"),require("load-image")):b(window.jQuery,window.loadImage)})(function(b,e){b.blueimp.fileupload.prototype.options.processQueue.unshift({action:"loadAudio",prefix:!0,fileTypes:"@",maxFileSize:"@",disabled:"@disableAudioPreview"},{action:"setAudio",name:"@audioPreviewName",disabled:"@disableAudioPreview"});b.widget("blueimp.fileupload",b.blueimp.fileupload,
|
|
{options:{loadAudioFileTypes:/^audio\/.*$/},_audioElement:document.createElement("audio"),processActions:{loadAudio:function(a,d){if(d.disabled)return a;var c=a.files[a.index],g;this._audioElement.canPlayType&&this._audioElement.canPlayType(c.type)&&("number"!==b.type(d.maxFileSize)||c.size<=d.maxFileSize)&&(!d.fileTypes||d.fileTypes.test(c.type))&&(c=e.createObjectURL(c))&&(g=this._audioElement.cloneNode(!1),g.src=c,g.controls=!0,a.audio=g);return a},setAudio:function(a,b){a.audio&&!b.disabled&&
|
|
(a.files[a.index][b.name||"preview"]=a.audio);return a}}})});
|
|
(function(b){"function"===typeof define&&define.amd?define(["jquery","load-image","./jquery.fileupload-process"],b):"object"===typeof exports?b(require("jquery"),require("load-image")):b(window.jQuery,window.loadImage)})(function(b,e){b.blueimp.fileupload.prototype.options.processQueue.unshift({action:"loadVideo",prefix:!0,fileTypes:"@",maxFileSize:"@",disabled:"@disableVideoPreview"},{action:"setVideo",name:"@videoPreviewName",disabled:"@disableVideoPreview"});b.widget("blueimp.fileupload",b.blueimp.fileupload,
|
|
{options:{loadVideoFileTypes:/^video\/.*$/},_videoElement:document.createElement("video"),processActions:{loadVideo:function(a,d){if(d.disabled)return a;var c=a.files[a.index],g;this._videoElement.canPlayType&&this._videoElement.canPlayType(c.type)&&("number"!==b.type(d.maxFileSize)||c.size<=d.maxFileSize)&&(!d.fileTypes||d.fileTypes.test(c.type))&&(c=e.createObjectURL(c))&&(g=this._videoElement.cloneNode(!1),g.src=c,g.controls=!0,a.video=g);return a},setVideo:function(a,b){a.video&&!b.disabled&&
|
|
(a.files[a.index][b.name||"preview"]=a.video);return a}}})});
|
|
(function(b){"function"===typeof define&&define.amd?define(["jquery","./jquery.fileupload-process"],b):"object"===typeof exports?b(require("jquery")):b(window.jQuery)})(function(b){b.blueimp.fileupload.prototype.options.processQueue.push({action:"validate",always:!0,acceptFileTypes:"@",maxFileSize:"@",minFileSize:"@",maxNumberOfFiles:"@",disabled:"@disableValidation"});b.widget("blueimp.fileupload",b.blueimp.fileupload,{options:{getNumberOfFiles:b.noop,messages:{maxNumberOfFiles:"Maximum number of files exceeded",
|
|
acceptFileTypes:"File type not allowed",maxFileSize:"File is too large",minFileSize:"File is too small"}},processActions:{validate:function(e,a){if(a.disabled)return e;var d=b.Deferred(),c=this.options,g=e.files[e.index],f;if(a.minFileSize||a.maxFileSize)f=g.size;"number"===b.type(a.maxNumberOfFiles)&&(c.getNumberOfFiles()||0)+e.files.length>a.maxNumberOfFiles?g.error=c.i18n("maxNumberOfFiles"):!a.acceptFileTypes||a.acceptFileTypes.test(g.type)||a.acceptFileTypes.test(g.name)?f>a.maxFileSize?g.error=
|
|
c.i18n("maxFileSize"):"number"===b.type(f)&&f<a.minFileSize?g.error=c.i18n("minFileSize"):delete g.error:g.error=c.i18n("acceptFileTypes");g.error||e.files.error?(e.files.error=!0,d.rejectWith(this,[e])):d.resolveWith(this,[e]);return d.promise()}}})});
|
|
(function(b){"function"===typeof define&&define.amd?define(["jquery","../jquery.fileupload"],b):"object"===typeof exports?b(require("jquery"),require("../jquery.fileupload")):b(window.jQuery)})(function(b){b.widget("blueimp.fileupload",b.blueimp.fileupload,{getUploadButton:function(){return b("<button/>").addClass("btn").prop("disabled",!0).text("Processing...").on("click",function(){var e=b(this),a=e.data();e.off("click").text("Abort").on("click",function(){e.remove();a.abort()});a.submit().always(function(){e.remove()})})},
|
|
initTheme:function(b){var a=this.element;b=b.toLowerCase();return a?("basic"==b?this._initBasicTheme(a):"basicplus"==b?this._initBasicPlusTheme(a):"basicplusui"!=b&&"jqueryui"!=b||this._initBasicPlusUITheme(a),a):null},_initBasicTheme:function(e){e.on("fileuploaddone",function(a,d){b.each(d.result.files,function(a,d){b("<p/>").text(d.name).appendTo("#files")})}).on("fileuploadprogressall",function(a,d){var c=parseInt(d.loaded/d.total*100,10);b("#progress .progress-bar").css("width",c+"%")}).prop("disabled",
|
|
!b.support.fileInput).parent().addClass(b.support.fileInput?void 0:"disabled")},_initBasicPlusTheme:function(e){e.on("fileuploadadd",function(a,d){var c=b(a.target).data("blueimp-fileupload").getUploadButton();d.context=b("<div/>").appendTo("#files");b.each(d.files,function(a,f){var e=b("<p/>").append(b("<span/>").text(f.name));a||e.append("<br>").append(c.clone(!0).data(d));e.appendTo(d.context)})}).on("fileuploadprocessalways",function(a,d){var c=d.index,e=d.files[c],f=b(d.context.children()[c]);
|
|
e.preview&&f.prepend("<br>").prepend(e.preview);e.error&&f.append("<br>").append(e.error);c+1===d.files.length&&d.context.find("button").text("Upload").prop("disabled",!!d.files.error)}).on("fileuploadprogressall",function(a,d){var c=parseInt(d.loaded/d.total*100,10);b("#progress .bar").css("width",c+"%")}).on("fileuploaddone",function(a,d){b.each(d.result.files,function(a,e){var f=b("<a>").attr("target","_blank").prop("href",e.url);b(d.context.children()[a]).wrap(f)})}).on("fileuploadfail",function(a,
|
|
d){b.each(d.result.files,function(a,e){var f=b("<span/>").text(e.error);b(d.context.children()[a]).append("<br>").append(f)})}).prop("disabled",!b.support.fileInput).parent().addClass(b.support.fileInput?void 0:"disabled")},_initBasicPlusUITheme:function(e){e.prop("disabled",!b.support.fileInput).parent().addClass(b.support.fileInput?void 0:"disabled")}})}); |