{"version":3,"names":["JAK","Uploader","UploadIFrame","ClassMaker","makeClass","NAME","VERSION","EXTEND","Upload","prototype","$constructor","conf","this","$super","_conf","input","url","form","target","id","Browser","client","parseInt","version","_dom","iframe","mel","setAttribute","DOM","setStyle","display","container","appendChild","hashInput","type","name","value","_ec","push","Events","addListener","cancelled","upload","e","callbackStart","replace","submit","_load","contentWindow","msg","document","getElementsByTagName","innerHTML","_end","FINISHED","ex","_cancelRequest","stop","execCommand"],"sources":["uploader.js.uploadiframe.js"],"sourcesContent":["/**\n * @overview Třída starající se o upload jednoho souboru pomocí iframe. Samostatně se nevolá, využívá ji třída JAK.Uploader.\n * @version 2.0\n * @author ethan\n */\n \n/**\n * @class Uploader.UploadIFrame\n * @group jak-widgets\n * @augments JAK.Uploader.Upload\n */\nJAK.Uploader.UploadIFrame = JAK.ClassMaker.makeClass({\n\tNAME: \"JAK.Uploader.UploadIFrame\",\n\tVERSION: \"2.0\",\n\tEXTEND: JAK.Uploader.Upload\n});\n\n/**\n * @param {object} conf\n * @param {string} conf.url=\"\" URL, na kterou se odešle soubor\n * @param {string} conf.input element input, ve kterém je zvolen nějaký soubor\n * @param {string} [conf.id] náhodné UID, které identifikuje daný upload, defaultní hodnota se náhodně vygeneruje\n */\nJAK.Uploader.UploadIFrame.prototype.$constructor = function(conf) {\n\tthis.$super(conf);\n\t\n\tif (!this._conf.input || !this._conf.url) { return; }\n\n\tthis._conf.input.form.target = this._conf.id;\n\t\n\tif (JAK.Browser.client == \"ie\" && parseInt(JAK.Browser.version) < 9) {\n\t\tthis._dom.iframe = JAK.mel(\"<iframe name='\" + this._conf.id + \"'>\");\n\t} else {\n\t\tthis._dom.iframe = JAK.mel(\"iframe\");\n\t\tthis._dom.iframe.setAttribute(\"name\", this._conf.id);\n\t}\n\tJAK.DOM.setStyle(this._dom.iframe, { display: 'none' });\n\tthis._dom.container.appendChild(this._dom.iframe);\n\t\n\tvar hashInput = JAK.mel('input', {\n\t\ttype: 'hidden',\n\t\tname: 'hash',\n\t\tvalue: this._conf.id\n\t});\n\tthis._conf.input.form.appendChild(hashInput);\n\t\n\tthis._ec.push(JAK.Events.addListener(this._dom.iframe, \"load\", this, '_load'));\n\t\n\tthis.cancelled = false;\n}\n\n/**\n * Spustí upload\n * @public\n */\nJAK.Uploader.UploadIFrame.prototype.upload = function(e) {\n\tif (typeof this._conf.callbackStart == 'function') {\n\t\tthis._conf.callbackStart({\n\t\t\tname: this._conf.input.value.replace(/^.*[\\\\\\/]/, ''),\n\t\t\tid: this._conf.id\n\t\t});\n\t}\n\t\n\tif (!this.cancelled) {\n\t\tthis._conf.input.form.submit();\n\t}\n}\n\n/**\n * iframe nepozná, zda byl upload v pořádku, takže prostě jen zareaguje na jeho load\n * @private\n */\nJAK.Uploader.UploadIFrame.prototype._load = function(e) {\n\tif (this._dom.iframe.contentWindow) {\n\t\ttry {\n\t\t\tvar msg = this._dom.iframe.contentWindow.document.getElementsByTagName('body')[0].innerHTML;\n\t\t\tthis._end(JAK.Uploader.FINISHED, msg);\n\t\t} catch (ex) {\n\t\t\tthis._end(JAK.Uploader.FINISHED);\n\t\t}\n\t} else {\n\t\tthis._end(JAK.Uploader.FINISHED);\n\t}\n}\n\n/**\n * zruší požadavek tak, že zavolá stop() na iframe\n * @private\n */\nJAK.Uploader.UploadIFrame.prototype._cancelRequest = function(e) {\n\tthis.cancelled = true;\n\tif ('stop' in this._dom.iframe) {\n\t\tthis._dom.iframe.stop();\n\t} else {\n\t\tif (this._dom.iframe.document) {\n\t\t\tthis._dom.iframe.document.execCommand('Stop');\n\t\t}\n\t}\n}\n"],"mappings":"AAWAA,IAAIC,SAASC,aAAeF,IAAIG,WAAWC,UAAU,CACpDC,KAAM,4BACNC,QAAS,MACTC,OAAQP,IAAIC,SAASO,SAStBR,IAAIC,SAASC,aAAaO,UAAUC,aAAe,SAASC,GAG3D,GAFAC,KAAKC,OAAOF,GAEPC,KAAKE,MAAMC,OAAUH,KAAKE,MAAME,IAArC,CAEAJ,KAAKE,MAAMC,MAAME,KAAKC,OAASN,KAAKE,MAAMK,GAEhB,MAAtBnB,IAAIoB,QAAQC,QAAkBC,SAAStB,IAAIoB,QAAQG,SAAW,EACjEX,KAAKY,KAAKC,OAASzB,IAAI0B,IAAI,iBAAmBd,KAAKE,MAAMK,GAAK,OAE9DP,KAAKY,KAAKC,OAASzB,IAAI0B,IAAI,UAC3Bd,KAAKY,KAAKC,OAAOE,aAAa,OAAQf,KAAKE,MAAMK,KAElDnB,IAAI4B,IAAIC,SAASjB,KAAKY,KAAKC,OAAQ,CAAEK,QAAS,SAC9ClB,KAAKY,KAAKO,UAAUC,YAAYpB,KAAKY,KAAKC,QAE1C,IAAIQ,EAAYjC,IAAI0B,IAAI,QAAS,CAChCQ,KAAM,SACNC,KAAM,OACNC,MAAOxB,KAAKE,MAAMK,KAEnBP,KAAKE,MAAMC,MAAME,KAAKe,YAAYC,GAElCrB,KAAKyB,IAAIC,KAAKtC,IAAIuC,OAAOC,YAAY5B,KAAKY,KAAKC,OAAQ,OAAQb,KAAM,UAErEA,KAAK6B,WAAY,CAtBmC,CAuBrD,EAMAzC,IAAIC,SAASC,aAAaO,UAAUiC,OAAS,SAASC,GACd,mBAA5B/B,KAAKE,MAAM8B,eACrBhC,KAAKE,MAAM8B,cAAc,CACxBT,KAAMvB,KAAKE,MAAMC,MAAMqB,MAAMS,QAAQ,YAAa,IAClD1B,GAAIP,KAAKE,MAAMK,KAIZP,KAAK6B,WACT7B,KAAKE,MAAMC,MAAME,KAAK6B,QAExB,EAMA9C,IAAIC,SAASC,aAAaO,UAAUsC,MAAQ,SAASJ,GACpD,GAAI/B,KAAKY,KAAKC,OAAOuB,cACpB,IACC,IAAIC,EAAMrC,KAAKY,KAAKC,OAAOuB,cAAcE,SAASC,qBAAqB,QAAQ,GAAGC,UAClFxC,KAAKyC,KAAKrD,IAAIC,SAASqD,SAAUL,EAClC,CAAE,MAAOM,GACR3C,KAAKyC,KAAKrD,IAAIC,SAASqD,SACxB,MAEA1C,KAAKyC,KAAKrD,IAAIC,SAASqD,SAEzB,EAMAtD,IAAIC,SAASC,aAAaO,UAAU+C,eAAiB,SAASb,GAC7D/B,KAAK6B,WAAY,EACb,SAAU7B,KAAKY,KAAKC,OACvBb,KAAKY,KAAKC,OAAOgC,OAEb7C,KAAKY,KAAKC,OAAOyB,UACpBtC,KAAKY,KAAKC,OAAOyB,SAASQ,YAAY,OAGzC"}