122 lines
57 KiB
JavaScript
122 lines
57 KiB
JavaScript
(function(b){"function"===typeof define&&define.amd?define(["jquery"],b):"object"===typeof exports?b(require("jquery")):b(jQuery)})(function(b){var g=0,a=Array.prototype.slice;b.cleanData=function(a){return function(c){var f,e,h;for(h=0;null!=(e=c[h]);h++)try{(f=b._data(e,"events"))&&f.remove&&b(e).triggerHandler("remove")}catch(k){}a(c)}}(b.cleanData);b.widget=function(a,c,f){var e,h,k,g,n={},l=a.split(".")[0];a=a.split(".")[1];e=l+"-"+a;f||(f=c,c=b.Widget);b.expr[":"][e.toLowerCase()]=function(a){return!!b.data(a,
|
|
e)};b[l]=b[l]||{};h=b[l][a];k=b[l][a]=function(a,d){if(!this._createWidget)return new k(a,d);arguments.length&&this._createWidget(a,d)};b.extend(k,h,{version:f.version,_proto:b.extend({},f),_childConstructors:[]});g=new c;g.options=b.widget.extend({},g.options);b.each(f,function(a,d){b.isFunction(d)?n[a]=function(){var b=function(){return c.prototype[a].apply(this,arguments)},e=function(d){return c.prototype[a].apply(this,d)};return function(){var a=this._super,c=this._superApply,f;this._super=b;
|
|
this._superApply=e;f=d.apply(this,arguments);this._super=a;this._superApply=c;return f}}():n[a]=d});k.prototype=b.widget.extend(g,{widgetEventPrefix:h?g.widgetEventPrefix||a:a},n,{constructor:k,namespace:l,widgetName:a,widgetFullName:e});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),f=
|
|
0,e=c.length,h,k;f<e;f++)for(h in c[f])k=c[f][h],c[f].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 f=c.prototype.widgetFullName||d;b.fn[d]=function(e){var h="string"===typeof e,k=a.call(arguments,1),g=this;h?this.each(function(){var a,c=b.data(this,f);if("instance"===e)return g=c,!1;if(!c)return b.error("cannot call methods on "+d+" prior to initialization; attempted to call method '"+
|
|
e+"'");if(!b.isFunction(c[e])||"_"===e.charAt(0))return b.error("no such method '"+e+"' for "+d+" widget instance");a=c[e].apply(c,k);if(a!==c&&void 0!==a)return g=a&&a.jquery?g.pushStack(a.get()):a,!1}):(k.length&&(e=b.widget.extend.apply(null,[e].concat(k))),this.each(function(){var a=b.data(this,f);a?(a.option(e||{}),a._init&&a._init()):b.data(this,f,new c(e,this))}));return g}};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=g++;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 f=a,e,h,k;if(0===arguments.length)return b.widget.extend({},this.options);if("string"===typeof a)if(f={},e=a.split("."),a=e.shift(),e.length){h=f[a]=b.widget.extend({},this.options[a]);for(k=0;k<e.length-1;k++)h[e[k]]=h[e[k]]||{},h=h[e[k]];a=e.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];f[a]=c}this._setOptions(f);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,f){var e,h=this;"boolean"!==typeof a&&(f=c,c=a,a=!1);f?(c=e=b(c),this.bindings=this.bindings.add(c)):(f=c,c=this.element,e=this.widget());b.each(f,function(f,g){function n(){if(a||!0!==h.options.disabled&&!b(this).hasClass("ui-state-disabled"))return("string"===typeof g?h[g]:g).apply(h,arguments)}"string"!==typeof g&&(n.guid=g.guid=g.guid||n.guid||b.guid++);var l=f.match(/^([\w:-]*)\s*(.*)$/),m=l[1]+h.eventNamespace;(l=l[2])?
|
|
e.delegate(l,m,n):c.bind(m,n)})},_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,f){var e,h=this.options[a];f=f||{};c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();c.target=this.element[0];if(a=c.originalEvent)for(e in a)e in c||
|
|
(c[e]=a[e]);this.element.trigger(c,f);return!(b.isFunction(h)&&!1===h.apply(this.element[0],[c].concat(f))||c.isDefaultPrevented())}};b.each({show:"fadeIn",hide:"fadeOut"},function(a,c){b.Widget.prototype["_"+a]=function(f,e,h){"string"===typeof e&&(e={effect:e});var k,g=e?!0===e||"number"===typeof e?c:e.effect||c:a;e=e||{};"number"===typeof e&&(e={duration:e});k=!b.isEmptyObject(e);e.complete=h;e.delay&&f.delay(e.delay);if(k&&b.effects&&b.effects.effect[g])f[a](e);else if(g!==a&&f[g])f[g](e.duration,
|
|
e.easing,h);else f.queue(function(c){b(this)[a]();h&&h.call(f[0]);c()})}})});
|
|
!function(b){var g=function(a,c,b){var e,h,k=document.createElement("img");if(k.onerror=c,k.onload=function(){!h||b&&b.noRevoke||g.revokeObjectURL(h);c&&c(g.scale(k,b))},g.isInstanceOf("Blob",a)||g.isInstanceOf("File",a))e=h=g.createObjectURL(a),k._type=a.type;else{if("string"!=typeof a)return!1;e=a;b&&b.crossOrigin&&(k.crossOrigin=b.crossOrigin)}return e?(k.src=e,k):g.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;g.isInstanceOf=function(a,c){return Object.prototype.toString.call(c)==="[object "+a+"]"};g.transformCoordinates=function(){};g.getTransformedOptions=function(a,c){var b,e,h,k,g=c.aspectRatio;if(!g)return c;b={};for(e in c)c.hasOwnProperty(e)&&(b[e]=c[e]);return b.crop=!0,h=a.naturalWidth||a.width,k=a.naturalHeight||a.height,h/k>g?(b.maxWidth=k*g,b.maxHeight=k):(b.maxWidth=h,b.maxHeight=h/g),b};g.renderImageToCanvas=function(a,c,b,e,h,g,p,n,l,m){return a.getContext("2d").drawImage(c,
|
|
b,e,h,g,p,n,l,m),a};g.hasCanvasOption=function(a){return a.canvas||a.crop||!!a.aspectRatio};g.scale=function(a,c){function b(){var a=Math.max((p||r)/r,(n||t)/t);1<a&&(r*=a,t*=a)}function e(){var a=Math.min((h||r)/r,(k||t)/t);1>a&&(r*=a,t*=a)}c=c||{};var h,k,p,n,l,m,q,u,w,x,A,v=document.createElement("canvas"),B=a.getContext||g.hasCanvasOption(c)&&v.getContext,y=a.naturalWidth||a.width,z=a.naturalHeight||a.height,r=y,t=z;if(B&&(c=g.getTransformedOptions(a,c),q=c.left||0,u=c.top||0,c.sourceWidth?(l=
|
|
c.sourceWidth,void 0!==c.right&&void 0===c.left&&(q=y-l-c.right)):l=y-q-(c.right||0),c.sourceHeight?(m=c.sourceHeight,void 0!==c.bottom&&void 0===c.top&&(u=z-m-c.bottom)):m=z-u-(c.bottom||0),r=l,t=m),h=c.maxWidth,k=c.maxHeight,p=c.minWidth,n=c.minHeight,B&&h&&k&&c.crop?(r=h,t=k,A=l/m-h/k,0>A?(m=k*l/h,void 0===c.top&&void 0===c.bottom&&(u=(z-m)/2)):0<A&&(l=h*m/k,void 0===c.left&&void 0===c.right&&(q=(y-l)/2))):((c.contain||c.cover)&&(p=h=h||p,n=k=k||n),c.cover?(e(),b()):(b(),e())),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&&l>r&&m>t)for(;l*x>r;)v.width=l*x,v.height=m*x,g.renderImageToCanvas(v,a,q,u,l,m,0,0,v.width,v.height),l=v.width,m=v.height,a=document.createElement("canvas"),a.width=l,a.height=m,g.renderImageToCanvas(a,v,0,0,l,m,0,0,l,m);return v.width=r,v.height=t,g.transformCoordinates(v,c),g.renderImageToCanvas(v,a,q,u,l,m,0,0,r,t)}return a.width=r,a.height=t,a};g.createObjectURL=function(b){return a?
|
|
a.createObjectURL(b):!1};g.revokeObjectURL=function(b){return a?a.revokeObjectURL(b):!1};g.readFile=function(a,c,b){if(window.FileReader){var e=new FileReader;if(e.onload=e.onerror=c,b=b||"readAsDataURL",e[b])return e[b](a),e}return!1};"function"==typeof define&&define.amd?define(function(){return g}):"object"==typeof module&&module.exports?module.exports=g:b.loadImage=g}(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 g=b.hasCanvasOption,a=b.transformCoordinates,d=b.getTransformedOptions;b.hasCanvasOption=function(a){return!!a.orientation||g.call(b,a)};b.transformCoordinates=function(c,d){a.call(b,c,d);var e=c.getContext("2d"),h=c.width,g=c.height,p=c.style.width,n=c.style.height,l=d.orientation;if(l&&!(8<l))switch(4<l&&(c.width=g,c.height=
|
|
h,c.style.width=n,c.style.height=p),l){case 2:e.translate(h,0);e.scale(-1,1);break;case 3:e.translate(h,g);e.rotate(Math.PI);break;case 4:e.translate(0,g);e.scale(1,-1);break;case 5:e.rotate(.5*Math.PI);e.scale(1,-1);break;case 6:e.rotate(.5*Math.PI);e.translate(0,-g);break;case 7:e.rotate(.5*Math.PI);e.translate(h,-g);e.scale(-1,1);break;case 8:e.rotate(-.5*Math.PI),e.translate(-h,0)}};b.getTransformedOptions=function(a,f){var e,h,g=d.call(b,a,f);e=g.orientation;if(!e||8<e||1===e)return g;e={};for(h in g)g.hasOwnProperty(h)&&
|
|
(e[h]=g[h]);switch(g.orientation){case 2:e.left=g.right;e.right=g.left;break;case 3:e.left=g.right;e.top=g.bottom;e.right=g.left;e.bottom=g.top;break;case 4:e.top=g.bottom;e.bottom=g.top;break;case 5:e.left=g.top;e.top=g.left;e.right=g.bottom;e.bottom=g.right;break;case 6:e.left=g.top;e.top=g.right;e.right=g.bottom;e.bottom=g.left;break;case 7:e.left=g.bottom;e.top=g.right;e.right=g.top;e.bottom=g.left;break;case 8:e.left=g.bottom,e.top=g.left,e.right=g.top,e.bottom=g.right}return 4<g.orientation&&
|
|
(e.maxWidth=g.maxHeight,e.maxHeight=g.maxWidth,e.minWidth=g.minHeight,e.minHeight=g.minWidth,e.sourceWidth=g.sourceHeight,e.sourceHeight=g.sourceWidth),e}});
|
|
(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(g,a,d){d=d||{};var c=this,f=d.maxMetaDataSize||262144,e={};window.DataView&&
|
|
g&&12<=g.size&&"image/jpeg"===g.type&&b.blobSlice&&b.readFile(b.blobSlice.call(g,0,f),function(f){if(f.target.error)return console.log(f.target.error),void a(e);var g,p,n,l;f=f.target.result;var m=new DataView(f),q=2,u=m.byteLength-4;n=q;if(65496===m.getUint16(0)){for(;u>q&&(g=m.getUint16(q),65504<=g&&65519>=g||65534===g);){if(p=m.getUint16(q+2)+2,q+p>m.byteLength){console.log("Invalid meta data: Invalid segment size.");break}if(n=b.metaDataParsers.jpeg[g])for(l=0;l<n.length;l+=1)n[l].call(c,m,q,
|
|
p,e,d);n=q+=p}!d.disableImageHead&&6<n&&(f.slice?e.imageHead=f.slice(0,n):e.imageHead=(new Uint8Array(f)).subarray(0,n))}else console.log("Invalid JPEG file: Missing JPEG marker.");a(e)},"readAsArrayBuffer")||a(e)}});
|
|
(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,f,e;if(!d||a+d>b.byteLength)return void console.log("Invalid Exif data: Invalid thumbnail data.");
|
|
c=[];for(f=0;d>f;f+=1)e=b.getUint8(a+f),c.push((16>e?"0":"")+e.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(g,a,d,c,f,e){var h,k,p;c=b.exifTagTypes[c];if(!c)return void console.log("Invalid Exif data: Invalid tag type.");if(h=c.size*f,k=4<h?a+g.getUint32(d+8,e):d+8,k+h>g.byteLength)return void console.log("Invalid Exif data: Invalid data offset.");if(1===f)return c.getValue(g,k,e);a=[];for(d=0;f>d;d+=1)a[d]=c.getValue(g,k+d*c.size,
|
|
e);if(c.ascii){g="";for(d=0;d<a.length&&(p=a[d],"\x00"!==p);d+=1)g+=p;return g}return a};b.parseExifTag=function(g,a,d,c,f){var e=g.getUint16(d,c);f.exif[e]=b.getExifValue(g,a,d,g.getUint16(d+2,c),g.getUint32(d+4,c),c)};b.parseExifTags=function(b,a,d,c,f){var e,h,k;if(d+6>b.byteLength)return void console.log("Invalid Exif data: Invalid directory offset.");if(e=b.getUint16(d,c),h=d+2+12*e,h+4>b.byteLength)return void console.log("Invalid Exif data: Invalid directory size.");for(k=0;e>k;k+=1)this.parseExifTag(b,
|
|
a,d+2+12*k,c,f);return b.getUint32(h,c)};b.parseExifData=function(g,a,d,c,f){if(!f.disableExif){var e,h;d=a+10;if(1165519206===g.getUint32(a+4)){if(d+8>g.byteLength)return void console.log("Invalid Exif data: Invalid segment size.");if(0!==g.getUint16(a+8))return void console.log("Invalid Exif data: Missing byte alignment offset.");switch(g.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!==g.getUint16(d+
|
|
2,a))return void console.log("Invalid Exif data: Missing TIFF marker.");e=g.getUint32(d+4,a);c.exif=new b.ExifMap;(e=b.parseExifTags(g,d,d+e,a,c))&&!f.disableExifThumbnail&&(h={exif:{}},b.parseExifTags(g,d,d+e,a,h),h.exif[513]&&(c.exif.Thumbnail=b.getExifThumbnail(g,d+h.exif[513],h.exif[514])));c.exif[34665]&&!f.disableExifSub&&b.parseExifTags(g,d,d+c.exif[34665],a,c);c.exif[34853]&&!f.disableExifGps&&b.parseExifTags(g,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 g=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,f=b.BlobBuilder||b.WebKitBlobBuilder||b.MozBlobBuilder||b.MSBlobBuilder,e=/^data:((.*?)(;charset=.*?)?)(;base64)?,/,h=(d||f)&&b.atob&&b.ArrayBuffer&&b.Uint8Array&&function(a){var b,h,g,m,q;if(b=a.match(e),!b)throw Error("invalid data URI");h=b[2]?b[1]:"text/plain"+(b[3]||";charset=US-ASCII");
|
|
g=!!b[4];a=a.slice(b[0].length);g=g?atob(a):decodeURIComponent(a);a=new ArrayBuffer(g.length);b=new Uint8Array(a);for(m=0;m<g.length;m+=1)b[m]=g.charCodeAt(m);return d?new Blob([c?b:a],{type:h}):(q=new f,q.append(a),q.getBlob(h))};b.HTMLCanvasElement&&!g.toBlob&&(g.mozGetAsFile?g.toBlob=function(a,b,c){a(c&&g.toDataURL&&h?h(this.toDataURL(b,c)):this.mozGetAsFile("blob",b))}:g.toDataURL&&h&&(g.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 g=0;b.ajaxTransport("iframe",function(a){if(a.async){var d=a.initialIframeSrc||"javascript:false;",c,f,e;return{send:function(h,k){c=b('<form style="display:none;"></form>');c.attr("accept-charset",a.formAcceptCharset);e=/\?/.test(a.url)?"&":"?";"DELETE"===a.type?(a.url=a.url+e+"_method=DELETE",a.type="POST"):"PUT"===a.type?(a.url=a.url+e+"_method=PUT",
|
|
a.type="POST"):"PATCH"===a.type&&(a.url=a.url+e+"_method=PATCH",a.type="POST");g+=1;f=b('<iframe src="'+d+'" name="iframe-transport-'+g+'"></iframe>').bind("load",function(){var e,h=b.isArray(a.paramName)?a.paramName:[a.paramName];f.unbind("load").bind("load",function(){var a;try{if(a=f.contents(),!a.length||!a[0].firstChild)throw Error();}catch(e){a=void 0}k(200,"success",{iframe:a});b('<iframe src="'+d+'"></iframe>').appendTo(c);window.setTimeout(function(){c.remove()},0)});c.prop("target",f.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&&(e=a.fileInput.clone(),a.fileInput.after(function(a){return e[a]}),a.paramName&&a.fileInput.each(function(c){b(this).prop("name",h[c]||a.paramName)}),c.append(a.fileInput).prop("enctype","multipart/form-data").prop("encoding","multipart/form-data"),a.fileInput.removeAttr("form"));c.submit();e&&e.length&&
|
|
a.fileInput.each(function(a,c){var d=b(e[a]);b(c).prop("name",d.prop("name")).attr("form",d.attr("form"));d.replaceWith(c)})});c.append(f).appendTo(document.body)},abort:function(){f&&f.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 g(a){var d="dragover"===a;return function(c){c.dataTransfer=c.originalEvent&&c.originalEvent.dataTransfer;var f=c.dataTransfer;f&&-1!==b.inArray("Files",f.types)&&!1!==this._trigger(a,b.Event(a,{delegatedEvent:c}))&&(c.preventDefault(),d&&(f.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 f=a-this.timestamp;if(!this.bitrate||!c||f>c)this.bitrate=1E3/f*(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(),f;d._time&&d.progressInterval&&
|
|
c-d._time<d.progressInterval&&a.loaded!==a.total||(d._time=c,f=Math.floor(a.loaded/a.total*(d.chunkSize||d._progress.total))+(d.uploadedBytes||0),this._progress.loaded+=f-d._progress.loaded,this._progress.bitrate=this._bitrateTimer.getBitrate(c,this._progress.loaded,d.bitrateInterval),d._progress.loaded=d.loaded=f,d._progress.bitrate=d.bitrate=d._bitrateTimer.getBitrate(c,f,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,f=a.files[0],e=a.multipart||!b.support.xhrFileUpload,h="array"===
|
|
b.type(a.paramName)?a.paramName[0]:a.paramName;a.headers=b.extend({},a.headers);a.contentRange&&(a.headers["Content-Range"]=a.contentRange);e&&!a.blob&&this._isInstanceOf("File",f)||(a.headers["Content-Disposition"]='attachment; filename="'+encodeURI(f.name)+'"');e?b.support.xhrFormDataFileUpload&&(a.postMessage?(c=this._getFormData(a),a.blob?c.push({name:h,value:a.blob}):b.each(a.files,function(d,e){c.push({name:"array"===b.type(a.paramName)&&a.paramName[d]||h,value:e})})):(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(h,a.blob,f.name):b.each(a.files,function(e,f){(d._isInstanceOf("File",f)||d._isInstanceOf("Blob",f))&&c.append("array"===b.type(a.paramName)&&a.paramName[e]||h,f,f.uploadName||f.name)})),a.data=c):(a.contentType=f.type||"application/octet-stream",a.data=a.blob||f);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 f=b.Deferred(),e=f.promise();
|
|
d=d||this.options.context||e;!0===a?f.resolveWith(d,c):!1===a&&f.rejectWith(d,c);e.abort=f.promise;return this._enhancePromise(e)},_addConvenienceMethods:function(a,d){var c=this,f=function(a){return b.Deferred().resolveWith(c,a).promise()};d.process=function(a,h){if(a||h)d._processQueue=this._processQueue=(this._processQueue||f([this])).then(function(){return d.errorThrown?b.Deferred().rejectWith(c,[d]).promise():f(arguments)}).then(a,h);return this._processQueue||f([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,f=a.files[0],e=f.size,h=a.uploadedBytes,g=a.maxChunkSize||e,p=this._blobSlice,n=b.Deferred(),l=n.promise(),m,q;if(!(this._isXHRUpload(a)&&p&&(h||g<e))||a.data)return!1;
|
|
if(d)return!0;if(h>=e)return f.error=a.i18n("uploadedBytes"),this._getXHRPromise(!1,a.context,[null,"error",f.error]);q=function(){var d=b.extend({},a),l=d._progress.loaded;d.blob=p.call(f,h,h+g,f.type);d.chunkSize=d.blob.size;d.contentRange="bytes "+h+"-"+(h+d.chunkSize-1)+"/"+e;c._initXHRData(d);c._initProgressListener(d);m=(!1!==c._trigger("chunksend",null,d)&&b.ajax(d)||c._getXHRPromise(!1,d.context)).done(function(f,g,k){h=c._getUploadedBytes(k)||h+d.chunkSize;l+d.chunkSize-d._progress.loaded&&
|
|
c._onProgress(b.Event("progress",{lengthComputable:!0,loaded:h-d.uploadedBytes,total:h-d.uploadedBytes}),d);a.uploadedBytes=d.uploadedBytes=h;d.result=f;d.textStatus=g;d.jqXHR=k;c._trigger("chunkdone",null,d);c._trigger("chunkalways",null,d);h<e?q():n.resolveWith(d.context,[f,g,k])}).fail(function(a,b,e){d.jqXHR=a;d.textStatus=b;d.errorThrown=e;c._trigger("chunkfail",null,d);c._trigger("chunkalways",null,d);n.rejectWith(d.context,[a,b,e])})};this._enhancePromise(l);l.abort=function(){return m.abort()};
|
|
q();return l},_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,f){var e=f._progress.total,
|
|
h=f._response;f._progress.loaded<e&&this._onProgress(b.Event("progress",{lengthComputable:!0,loaded:e,total:e}),f);h.result=f.result=a;h.textStatus=f.textStatus=d;h.jqXHR=f.jqXHR=c;this._trigger("done",null,f)},_onFail:function(a,b,c,f){var e=f._response;f.recalculateProgress&&(this._progress.loaded-=f._progress.loaded,this._progress.total-=f._progress.total);e.jqXHR=f.jqXHR=a;e.textStatus=f.textStatus=b;e.errorThrown=f.errorThrown=c;this._trigger("fail",null,f)},_onAlways:function(a,b,c,f){this._trigger("always",
|
|
null,f)},_onSend:function(a,d){d.submit||this._addConvenienceMethods(a,d);var c=this,f,e,h,g,p=c._getAJAXSettings(d),n=function(){c._sending+=1;p._bitrateTimer=new c._BitrateTimer;return f=f||((e||!1===c._trigger("send",b.Event("send",{delegatedEvent:a}),p))&&c._getXHRPromise(!1,p.context,e)||c._chunkedUpload(p)||b.ajax(p)).done(function(a,b,d){c._onDone(a,b,d,p)}).fail(function(a,b,d){c._onFail(a,b,d,p)}).always(function(a,b,d){c._onAlways(a,b,d,p);--c._sending;--c._active;if(p.limitConcurrentUploads&&
|
|
p.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,p);return this.options.sequentialUploads||this.options.limitConcurrentUploads&&this.options.limitConcurrentUploads<=this._sending?(1<this.options.limitConcurrentUploads?(h=b.Deferred(),this._slots.push(h),g=h.then(n)):g=this._sequence=this._sequence.then(n,n),g.abort=function(){e=[void 0,"abort","abort"];
|
|
return f?f.abort():(h&&h.rejectWith(p.context,e),n())},this._enhancePromise(g)):n()},_onAdd:function(a,d){var c=this,f=!0,e=b.extend({},this.options,d),h=d.files,g=h.length,p=e.limitMultiFileUploads,n=e.limitMultiFileUploadSize,l=e.limitMultiFileUploadSizeOverhead,m=0,q=this._getParamName(e),u,w,x=0;if(!g)return!1;n&&void 0===h[0].size&&(n=void 0);if((e.singleFileUploads||p||n)&&this._isXHRUpload(e))if(e.singleFileUploads||n||!p)if(!e.singleFileUploads&&n)for(w=[],u=[],e=0;e<g;e+=1){if(m+=h[e].size+
|
|
l,e+1===g||m+h[e+1].size+l>n||p&&e+1-x>=p)w.push(h.slice(x,e+1)),m=q.slice(x,e+1),m.length||(m=q),u.push(m),x=e+1,m=0}else u=q;else for(w=[],u=[],e=0;e<g;e+=p)w.push(h.slice(e,e+p)),m=q.slice(e,e+p),m.length||(m=q),u.push(m);else w=[h],u=[q];d.originalFiles=h;b.each(w||h,function(e,g){var h=b.extend({},d);h.files=w?g:[g];h.paramName=u[e];c._initResponseObject(h);c._initProgressObject(h);c._addConvenienceMethods(a,h);return f=c._trigger("add",b.Event("add",{delegatedEvent:a}),h)});return f},_replaceFileInput:function(a){var d=
|
|
a.fileInput,c=d.clone(!0),f=d.is(document.activeElement);a.fileInputClone=c;b("<form></form>").append(c)[0].reset();d.after(c).detach();f&&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,f=b.Deferred(),e=function(b){b&&!b.entry&&(b.entry=a);f.resolve([b])},g=function(b){c._handleFileTreeEntries(b,d+a.name+"/").done(function(a){f.resolve(a)}).fail(e)},
|
|
k=function(){p.readEntries(function(a){a.length?(n=n.concat(a),k()):g(n)},e)},p,n=[];d=d||"";a.isFile?a._file?(a._file.relativePath=d,f.resolve(a._file)):a.file(function(a){a.relativePath=d;f.resolve(a)},e):a.isDirectory?(p=a.createReader(),k()):f.resolve([]);return f.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(f){c.files=f;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,f={};c&&c.files&&c.files.length&&(a.preventDefault(),this._getDroppedFiles(c).always(function(c){f.files=c;!1!==d._trigger("drop",b.Event("drop",{delegatedEvent:a}),f)&&d._onAdd(a,f)}))},_onDragOver:g("dragover"),_onDragEnter:g("dragenter"),_onDragLeave:g("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,e){var g=e.name.toLowerCase(),k;/^data-/.test(g)&&(g=g.slice(5).replace(/-[a-z]/g,function(a){return a.charAt(1).toUpperCase()}),k=c[g],a._isRegExpOption(g,k)&&(k=a._getRegExp(k)),d[g]=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(),f=c.promise(),e,g;f.abort=function(){g=!0;if(e)return e.abort();c.reject(null,"abort","abort");return f};this._getFileInputFiles(a.fileInput).always(function(b){g||(b.length?(a.files=b,e=d._onSend(null,a),e.then(function(a,b,d){c.resolve(a,b,d)},function(a,b,d){c.reject(a,b,d)})):c.reject())});return this._enhancePromise(f)}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 g=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)});g.call(this,a,d)}},processActions:{},_processFile:function(a,d){var c=this,f=b.Deferred().resolveWith(c,[a]).promise();
|
|
this._trigger("process",null,a);b.each(a.processQueue,function(a,g){var k=function(a){return d.errorThrown?b.Deferred().rejectWith(c,[d]).promise():c.processActions[g.action].call(c,a,g)};f=f.then(k,g.always&&k)});f.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 f},_transformProcessQueue:function(a){var d=[];b.each(a.processQueue,function(){var c={},f=this.action,e=!0===
|
|
this.prefix?f:this.prefix;b.each(this,function(d,f){"string"===b.type(f)&&"@"===f.charAt(0)?c[d]=a[f.slice(1)||(e?e+d.charAt(0).toUpperCase()+d.slice(1):d)]:c[d]=f});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(f){var e=f?b.extend({},c):c,g=function(){return a.errorThrown?
|
|
b.Deferred().rejectWith(d,[a]).promise():d._processFile(e,a)};e.index=f;d._processing+=1;d._processingQueue=d._processingQueue.then(g,g).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,g){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,f=a.files[a.index],e=b.Deferred();return"number"===b.type(d.maxFileSize)&&f.size>d.maxFileSize||d.fileTypes&&!d.fileTypes.test(f.type)||!g(f,function(b){b.src&&(a.img=b);e.resolveWith(c,[a])},d)?a:e.promise()},resizeImage:function(a,
|
|
d){if(d.disabled||!a.canvas&&!a.img)return a;d=b.extend({canvas:!0},d);var c=this,f=b.Deferred(),e=d.canvas&&a.canvas||a.img,h=function(b){b&&(b.width!==e.width||b.height!==e.height||d.forceResize)&&(a[b.getContext?"canvas":"img"]=b);a.preview=b;f.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 g(k,h,d),f.promise();a.orientation?delete d.orientation:a.orientation=d.orientation}return e?(h(g.scale(e,d)),
|
|
f.promise()):a},saveImage:function(a,d){if(!a.canvas||d.disabled)return a;var c=this,f=a.files[a.index],e=b.Deferred();if(a.canvas.toBlob)a.canvas.toBlob(function(b){b.name||(f.type===b.type?b.name=f.name:f.name&&(b.name=f.name.replace(/\.\w+$/,"."+b.type.substr(6))));f.type!==b.type&&delete a.imageHead;a.files[a.index]=b;e.resolveWith(c,[a])},d.type||f.type,d.quality);else return a;return e.promise()},loadImageMetaData:function(a,d){if(d.disabled)return a;var c=this,f=b.Deferred();g.parseMetaData(a.files[a.index],
|
|
function(d){b.extend(a,d);f.resolveWith(c,[a])},d);return f.promise()},saveImageMetaData:function(a,b){if(!(a.imageHead&&a.canvas&&a.canvas.toBlob)||b.disabled)return a;var c=a.files[a.index],f=new Blob([a.imageHead,this._blobSlice.call(c,20)],{type:c.type});f.name=c.name;a.files[a.index]=f;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,g){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],f;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=g.createObjectURL(c))&&(f=this._audioElement.cloneNode(!1),f.src=c,f.controls=!0,a.audio=f);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,g){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],f;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=g.createObjectURL(c))&&(f=this._videoElement.cloneNode(!1),f.src=c,f.controls=!0,a.video=f);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(g,a){if(a.disabled)return g;var d=b.Deferred(),c=this.options,f=g.files[g.index],e;if(a.minFileSize||a.maxFileSize)e=f.size;"number"===b.type(a.maxNumberOfFiles)&&(c.getNumberOfFiles()||0)+g.files.length>a.maxNumberOfFiles?f.error=c.i18n("maxNumberOfFiles"):!a.acceptFileTypes||a.acceptFileTypes.test(f.type)||a.acceptFileTypes.test(f.name)?e>a.maxFileSize?f.error=
|
|
c.i18n("maxFileSize"):"number"===b.type(e)&&e<a.minFileSize?f.error=c.i18n("minFileSize"):delete f.error:f.error=c.i18n("acceptFileTypes");f.error||g.files.error?(g.files.error=!0,d.rejectWith(this,[g])):d.resolveWith(this,[g]);return d.promise()}}})});
|
|
(function(b){"function"===typeof define&&define.amd?define("jquery angular ./jquery.fileupload-image ./jquery.fileupload-audio ./jquery.fileupload-video ./jquery.fileupload-validate".split(" "),b):b()})(function(){angular.module("blueimp.fileupload",[]).provider("fileUpload",function(){var b=function(a){angular.element(this).fileupload("option","scope").$evalAsync(a)},g=function(a,b){var f=b.files,e=f[0];angular.forEach(f,function(a,d){a._index=d;a.$state=function(){return b.state()};a.$processing=
|
|
function(){return b.processing()};a.$progress=function(){return b.progress()};a.$response=function(){return b.response()}});e.$submit=function(){if(!e.error)return b.submit()};e.$cancel=function(){return b.abort()}},a;a=this.defaults={handleResponse:function(a,b){var f=b.result&&b.result.files;if(f)b.scope.replace(b.files,f);else if(b.errorThrown||"error"===b.textStatus)b.files[0].error=b.errorThrown||b.textStatus},add:function(a,b){if(a.isDefaultPrevented())return!1;var f=b.scope,e=[];angular.forEach(b.files,
|
|
function(a){e.push(a)});f.$parent.$applyAsync(function(){g(f,b);var a=f.option("prependFiles")?"unshift":"push";Array.prototype[a].apply(f.queue,b.files)});b.process(function(){return f.process(b)}).always(function(){f.$parent.$applyAsync(function(){g(f,b);f.replace(e,b.files)})}).then(function(){(f.option("autoUpload")||b.autoUpload)&&!1!==b.autoUpload&&b.submit()})},done:function(a,b){if(a.isDefaultPrevented())return!1;var f=this;b.scope.$apply(function(){b.handleResponse.call(f,a,b)})},fail:function(a,
|
|
b){if(a.isDefaultPrevented())return!1;var f=this,e=b.scope;"abort"===b.errorThrown?e.clear(b.files):e.$apply(function(){b.handleResponse.call(f,a,b)})},stop:b,processstart:b,processstop:b,getNumberOfFiles:function(){var a=this.scope;return a.queue.length-a.processing()},dataType:"json",autoUpload:!1};this.$get=[function(){return{defaults:a}}]}).provider("formatFileSizeFilter",function(){var b={units:[{size:1E9,suffix:" GB"},{size:1E6,suffix:" MB"},{size:1E3,suffix:" KB"}]};this.defaults=b;this.$get=
|
|
function(){return function(g){if(!angular.isNumber(g))return"";for(var a=!0,d=0,c,f;a;){a=b.units[d];c=a.prefix||"";f=a.suffix||"";if(d===b.units.length-1||g>=a.size)return c+(g/a.size).toFixed(2)+f;d+=1}}}}).controller("FileUploadController",["$scope","$element","$attrs","$window","fileUpload",function(b,g,a,d,c){var f={progress:function(){return g.fileupload("progress")},active:function(){return g.fileupload("active")},option:function(a,b){if(1===arguments.length)return g.fileupload("option",a);
|
|
g.fileupload("option",a,b)},add:function(a){return g.fileupload("add",a)},send:function(a){return g.fileupload("send",a)},process:function(a){return g.fileupload("process",a)},processing:function(a){return g.fileupload("processing",a)}};b.disabled=!d.jQuery.support.fileInput;b.queue=b.queue||[];b.clear=function(a){var b=this.queue,c=b.length,d=a,f=1;angular.isArray(a)&&(d=a[0],f=a.length);for(;c;)if(--c,b[c]===d)return b.splice(c,f)};b.replace=function(a,b){var c=this.queue,d=a[0],f;for(f=0;f<c.length;f+=
|
|
1)if(c[f]===d){for(d=0;d<b.length;d+=1)c[f+d]=b[d];break}};b.applyOnQueue=function(a){var b=this.queue.slice(0),c,d;for(c=0;c<b.length;c+=1)if(d=b[c],d[a])d[a]()};b.submit=function(){this.applyOnQueue("$submit")};b.cancel=function(){this.applyOnQueue("$cancel")};angular.extend(b,f);g.fileupload(angular.extend({scope:b},c.defaults)).on("fileuploadadd",function(a,c){c.scope=b}).on("fileuploadfail",function(a,b){if("abort"!==b.errorThrown&&b.dataType&&b.dataType.indexOf("json")===b.dataType.length-4)try{b.result=
|
|
angular.fromJson(b.jqXHR.responseText)}catch(c){}}).on("fileuploadadd fileuploadsubmit fileuploadsend fileuploaddone fileuploadfail fileuploadalways fileuploadprogress fileuploadprogressall fileuploadstart fileuploadstop fileuploadchange fileuploadpaste fileuploaddrop fileuploaddragover fileuploadchunksend fileuploadchunkdone fileuploadchunkfail fileuploadchunkalways fileuploadprocessstart fileuploadprocess fileuploadprocessdone fileuploadprocessfail fileuploadprocessalways fileuploadprocessstop",
|
|
function(a,c){b.$parent.$applyAsync(function(){b.$emit(a.type,c).defaultPrevented&&a.preventDefault()})}).on("remove",function(){for(var a in f)f.hasOwnProperty(a)&&delete b[a]});b.$watch(a.fileUpload,function(a){a&&g.fileupload("option",a)})}]).controller("FileUploadProgressController",["$scope","$attrs","$parse",function(b,g,a){var d=a(g.fileUploadProgress),c=function(){var a=d(b);a&&a.total&&(b.num=Math.floor(a.loaded/a.total*100))};c();b.$watch(g.fileUploadProgress+".loaded",function(a,b){a!==
|
|
b&&c()})}]).controller("FileUploadPreviewController",["$scope","$element","$attrs",function(b,g,a){b.$watch(a.fileUploadPreview+".preview",function(a){g.empty();a&&g.append(a)})}]).directive("fileUpload",function(){return{controller:"FileUploadController",scope:!0}}).directive("fileUploadProgress",function(){return{controller:"FileUploadProgressController",scope:!0}}).directive("fileUploadPreview",function(){return{controller:"FileUploadPreviewController"}}).directive("download",function(){return function(b,
|
|
g){g.on("dragstart",function(a){try{a.originalEvent.dataTransfer.setData("DownloadURL",["application/octet-stream",g.prop("download"),g.prop("href")].join(":"))}catch(b){}})}})}); |