10 __coverage__['build/uploader-html5/uploader-html5.js'] = {"path":"build/uploader-html5/uploader-html5.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0,0,0,0,0,0,0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0,0,0],"32":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":26},"end":{"line":1,"column":45}}},"2":{"name":"UploaderHTML5","line":23,"loc":{"start":{"line":23,"column":0},"end":{"line":23,"column":25}}},"3":{"name":"(anonymous_3)","line":71,"loc":{"start":{"line":71,"column":18},"end":{"line":71,"column":30}}},"4":{"name":"(anonymous_4)","line":248,"loc":{"start":{"line":248,"column":15},"end":{"line":248,"column":27}}},"5":{"name":"(anonymous_5)","line":264,"loc":{"start":{"line":264,"column":13},"end":{"line":264,"column":25}}},"6":{"name":"(anonymous_6)","line":277,"loc":{"start":{"line":277,"column":37},"end":{"line":277,"column":49}}},"7":{"name":"(anonymous_7)","line":293,"loc":{"start":{"line":293,"column":23},"end":{"line":293,"column":35}}},"8":{"name":"(anonymous_8)","line":310,"loc":{"start":{"line":310,"column":20},"end":{"line":310,"column":37}}},"9":{"name":"(anonymous_9)","line":336,"loc":{"start":{"line":336,"column":24},"end":{"line":336,"column":36}}},"10":{"name":"(anonymous_10)","line":347,"loc":{"start":{"line":347,"column":22},"end":{"line":347,"column":39}}},"11":{"name":"(anonymous_11)","line":372,"loc":{"start":{"line":372,"column":41},"end":{"line":372,"column":58}}},"12":{"name":"(anonymous_12)","line":380,"loc":{"start":{"line":380,"column":41},"end":{"line":380,"column":58}}},"13":{"name":"(anonymous_13)","line":407,"loc":{"start":{"line":407,"column":22},"end":{"line":407,"column":44}}},"14":{"name":"(anonymous_14)","line":423,"loc":{"start":{"line":423,"column":24},"end":{"line":423,"column":36}}},"15":{"name":"(anonymous_15)","line":439,"loc":{"start":{"line":439,"column":22},"end":{"line":439,"column":34}}},"16":{"name":"(anonymous_16)","line":456,"loc":{"start":{"line":456,"column":22},"end":{"line":456,"column":34}}},"17":{"name":"(anonymous_17)","line":476,"loc":{"start":{"line":476,"column":19},"end":{"line":476,"column":31}}},"18":{"name":"(anonymous_18)","line":486,"loc":{"start":{"line":486,"column":19},"end":{"line":486,"column":34}}},"19":{"name":"(anonymous_19)","line":501,"loc":{"start":{"line":501,"column":22},"end":{"line":501,"column":36}}},"20":{"name":"(anonymous_20)","line":508,"loc":{"start":{"line":508,"column":29},"end":{"line":508,"column":46}}},"21":{"name":"(anonymous_21)","line":516,"loc":{"start":{"line":516,"column":29},"end":{"line":516,"column":46}}},"22":{"name":"(anonymous_22)","line":541,"loc":{"start":{"line":541,"column":26},"end":{"line":541,"column":43}}},"23":{"name":"(anonymous_23)","line":577,"loc":{"start":{"line":577,"column":27},"end":{"line":577,"column":39}}},"24":{"name":"(anonymous_24)","line":593,"loc":{"start":{"line":593,"column":13},"end":{"line":593,"column":44}}},"25":{"name":"(anonymous_25)","line":621,"loc":{"start":{"line":621,"column":16},"end":{"line":621,"column":41}}},"26":{"name":"(anonymous_26)","line":634,"loc":{"start":{"line":634,"column":18},"end":{"line":634,"column":50}}},"27":{"name":"(anonymous_27)","line":664,"loc":{"start":{"line":664,"column":26},"end":{"line":664,"column":42}}},"28":{"name":"(anonymous_28)","line":774,"loc":{"start":{"line":774,"column":20},"end":{"line":774,"column":35}}},"29":{"name":"(anonymous_29)","line":806,"loc":{"start":{"line":806,"column":23},"end":{"line":806,"column":38}}},"30":{"name":"(anonymous_30)","line":923,"loc":{"start":{"line":923,"column":21},"end":{"line":923,"column":33}}},"31":{"name":"(anonymous_31)","line":943,"loc":{"start":{"line":943,"column":23},"end":{"line":943,"column":38}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1003,"column":94}},"2":{"start":{"line":13,"column":0},"end":{"line":14,"column":38}},"3":{"start":{"line":23,"column":0},"end":{"line":25,"column":1}},"4":{"start":{"line":24,"column":4},"end":{"line":24,"column":67}},"5":{"start":{"line":29,"column":0},"end":{"line":997,"column":3}},"6":{"start":{"line":73,"column":8},"end":{"line":73,"column":36}},"7":{"start":{"line":74,"column":8},"end":{"line":74,"column":26}},"8":{"start":{"line":75,"column":8},"end":{"line":75,"column":35}},"9":{"start":{"line":76,"column":8},"end":{"line":76,"column":28}},"10":{"start":{"line":92,"column":8},"end":{"line":92,"column":35}},"11":{"start":{"line":100,"column":8},"end":{"line":100,"column":36}},"12":{"start":{"line":115,"column":8},"end":{"line":115,"column":40}},"13":{"start":{"line":136,"column":8},"end":{"line":136,"column":39}},"14":{"start":{"line":153,"column":8},"end":{"line":153,"column":44}},"15":{"start":{"line":170,"column":8},"end":{"line":170,"column":39}},"16":{"start":{"line":178,"column":8},"end":{"line":178,"column":43}},"17":{"start":{"line":197,"column":8},"end":{"line":197,"column":36}},"18":{"start":{"line":205,"column":8},"end":{"line":205,"column":34}},"19":{"start":{"line":213,"column":8},"end":{"line":213,"column":33}},"20":{"start":{"line":221,"column":8},"end":{"line":221,"column":34}},"21":{"start":{"line":235,"column":8},"end":{"line":235,"column":29}},"22":{"start":{"line":249,"column":8},"end":{"line":250,"column":54}},"23":{"start":{"line":252,"column":8},"end":{"line":252,"column":59}},"24":{"start":{"line":253,"column":8},"end":{"line":253,"column":37}},"25":{"start":{"line":254,"column":8},"end":{"line":254,"column":84}},"26":{"start":{"line":255,"column":8},"end":{"line":255,"column":48}},"27":{"start":{"line":266,"column":8},"end":{"line":266,"column":33}},"28":{"start":{"line":267,"column":8},"end":{"line":267,"column":33}},"29":{"start":{"line":268,"column":8},"end":{"line":268,"column":31}},"30":{"start":{"line":269,"column":8},"end":{"line":269,"column":29}},"31":{"start":{"line":270,"column":8},"end":{"line":270,"column":31}},"32":{"start":{"line":272,"column":8},"end":{"line":272,"column":72}},"33":{"start":{"line":273,"column":8},"end":{"line":273,"column":68}},"34":{"start":{"line":274,"column":8},"end":{"line":274,"column":64}},"35":{"start":{"line":275,"column":8},"end":{"line":275,"column":76}},"36":{"start":{"line":276,"column":8},"end":{"line":276,"column":70}},"37":{"start":{"line":277,"column":8},"end":{"line":279,"column":17}},"38":{"start":{"line":278,"column":12},"end":{"line":278,"column":80}},"39":{"start":{"line":280,"column":8},"end":{"line":280,"column":70}},"40":{"start":{"line":282,"column":8},"end":{"line":282,"column":76}},"41":{"start":{"line":294,"column":8},"end":{"line":294,"column":42}},"42":{"start":{"line":295,"column":8},"end":{"line":295,"column":84}},"43":{"start":{"line":296,"column":8},"end":{"line":296,"column":60}},"44":{"start":{"line":297,"column":8},"end":{"line":297,"column":70}},"45":{"start":{"line":298,"column":8},"end":{"line":298,"column":33}},"46":{"start":{"line":299,"column":8},"end":{"line":299,"column":31}},"47":{"start":{"line":311,"column":8},"end":{"line":312,"column":49}},"48":{"start":{"line":314,"column":8},"end":{"line":319,"column":9}},"49":{"start":{"line":315,"column":12},"end":{"line":315,"column":60}},"50":{"start":{"line":316,"column":12},"end":{"line":316,"column":65}},"51":{"start":{"line":317,"column":12},"end":{"line":317,"column":64}},"52":{"start":{"line":318,"column":12},"end":{"line":318,"column":65}},"53":{"start":{"line":321,"column":8},"end":{"line":326,"column":9}},"54":{"start":{"line":322,"column":12},"end":{"line":322,"column":58}},"55":{"start":{"line":323,"column":12},"end":{"line":323,"column":63}},"56":{"start":{"line":324,"column":12},"end":{"line":324,"column":62}},"57":{"start":{"line":325,"column":12},"end":{"line":325,"column":63}},"58":{"start":{"line":337,"column":7},"end":{"line":337,"column":104}},"59":{"start":{"line":350,"column":8},"end":{"line":350,"column":32}},"60":{"start":{"line":351,"column":8},"end":{"line":351,"column":31}},"61":{"start":{"line":353,"column":8},"end":{"line":395,"column":9}},"62":{"start":{"line":354,"column":12},"end":{"line":394,"column":13}},"63":{"start":{"line":356,"column":20},"end":{"line":356,"column":43}},"64":{"start":{"line":357,"column":20},"end":{"line":357,"column":26}},"65":{"start":{"line":359,"column":20},"end":{"line":359,"column":42}},"66":{"start":{"line":360,"column":20},"end":{"line":360,"column":26}},"67":{"start":{"line":362,"column":20},"end":{"line":362,"column":43}},"68":{"start":{"line":363,"column":20},"end":{"line":363,"column":26}},"69":{"start":{"line":366,"column":20},"end":{"line":369,"column":33}},"70":{"start":{"line":371,"column":20},"end":{"line":383,"column":21}},"71":{"start":{"line":372,"column":24},"end":{"line":377,"column":27}},"72":{"start":{"line":373,"column":28},"end":{"line":373,"column":65}},"73":{"start":{"line":374,"column":28},"end":{"line":376,"column":29}},"74":{"start":{"line":375,"column":32},"end":{"line":375,"column":58}},"75":{"start":{"line":380,"column":24},"end":{"line":382,"column":27}},"76":{"start":{"line":381,"column":28},"end":{"line":381,"column":69}},"77":{"start":{"line":385,"column":20},"end":{"line":390,"column":21}},"78":{"start":{"line":386,"column":24},"end":{"line":386,"column":56}},"79":{"start":{"line":387,"column":24},"end":{"line":388,"column":97}},"80":{"start":{"line":389,"column":24},"end":{"line":389,"column":73}},"81":{"start":{"line":392,"column":20},"end":{"line":392,"column":63}},"82":{"start":{"line":393,"column":20},"end":{"line":393,"column":26}},"83":{"start":{"line":408,"column":8},"end":{"line":413,"column":9}},"84":{"start":{"line":409,"column":12},"end":{"line":409,"column":88}},"85":{"start":{"line":412,"column":12},"end":{"line":412,"column":91}},"86":{"start":{"line":424,"column":8},"end":{"line":429,"column":9}},"87":{"start":{"line":425,"column":12},"end":{"line":425,"column":61}},"88":{"start":{"line":428,"column":12},"end":{"line":428,"column":53}},"89":{"start":{"line":440,"column":8},"end":{"line":445,"column":9}},"90":{"start":{"line":441,"column":12},"end":{"line":441,"column":82}},"91":{"start":{"line":444,"column":12},"end":{"line":444,"column":51}},"92":{"start":{"line":457,"column":8},"end":{"line":467,"column":9}},"93":{"start":{"line":458,"column":12},"end":{"line":458,"column":37}},"94":{"start":{"line":459,"column":12},"end":{"line":459,"column":52}},"95":{"start":{"line":460,"column":12},"end":{"line":460,"column":81}},"96":{"start":{"line":462,"column":13},"end":{"line":467,"column":9}},"97":{"start":{"line":463,"column":12},"end":{"line":463,"column":41}},"98":{"start":{"line":464,"column":12},"end":{"line":464,"column":39}},"99":{"start":{"line":465,"column":12},"end":{"line":465,"column":51}},"100":{"start":{"line":466,"column":12},"end":{"line":466,"column":80}},"101":{"start":{"line":477,"column":8},"end":{"line":477,"column":39}},"102":{"start":{"line":487,"column":8},"end":{"line":487,"column":38}},"103":{"start":{"line":488,"column":8},"end":{"line":488,"column":39}},"104":{"start":{"line":502,"column":8},"end":{"line":505,"column":21}},"105":{"start":{"line":507,"column":8},"end":{"line":519,"column":9}},"106":{"start":{"line":508,"column":12},"end":{"line":513,"column":15}},"107":{"start":{"line":509,"column":16},"end":{"line":509,"column":53}},"108":{"start":{"line":510,"column":16},"end":{"line":512,"column":17}},"109":{"start":{"line":511,"column":20},"end":{"line":511,"column":46}},"110":{"start":{"line":516,"column":12},"end":{"line":518,"column":15}},"111":{"start":{"line":517,"column":16},"end":{"line":517,"column":57}},"112":{"start":{"line":521,"column":8},"end":{"line":528,"column":9}},"113":{"start":{"line":522,"column":12},"end":{"line":522,"column":44}},"114":{"start":{"line":524,"column":12},"end":{"line":525,"column":94}},"115":{"start":{"line":527,"column":12},"end":{"line":527,"column":61}},"116":{"start":{"line":530,"column":8},"end":{"line":530,"column":32}},"117":{"start":{"line":543,"column":8},"end":{"line":568,"column":9}},"118":{"start":{"line":545,"column":16},"end":{"line":545,"column":52}},"119":{"start":{"line":546,"column":16},"end":{"line":546,"column":22}},"120":{"start":{"line":548,"column":16},"end":{"line":548,"column":51}},"121":{"start":{"line":549,"column":16},"end":{"line":549,"column":22}},"122":{"start":{"line":551,"column":16},"end":{"line":551,"column":56}},"123":{"start":{"line":552,"column":16},"end":{"line":552,"column":22}},"124":{"start":{"line":554,"column":16},"end":{"line":554,"column":51}},"125":{"start":{"line":555,"column":16},"end":{"line":555,"column":22}},"126":{"start":{"line":557,"column":16},"end":{"line":557,"column":34}},"127":{"start":{"line":558,"column":16},"end":{"line":558,"column":55}},"128":{"start":{"line":559,"column":16},"end":{"line":559,"column":22}},"129":{"start":{"line":562,"column":16},"end":{"line":562,"column":48}},"130":{"start":{"line":563,"column":16},"end":{"line":563,"column":22}},"131":{"start":{"line":566,"column":16},"end":{"line":566,"column":49}},"132":{"start":{"line":567,"column":16},"end":{"line":567,"column":22}},"133":{"start":{"line":578,"column":8},"end":{"line":578,"column":60}},"134":{"start":{"line":579,"column":8},"end":{"line":581,"column":9}},"135":{"start":{"line":580,"column":12},"end":{"line":580,"column":32}},"136":{"start":{"line":595,"column":8},"end":{"line":597,"column":36}},"137":{"start":{"line":599,"column":8},"end":{"line":599,"column":81}},"138":{"start":{"line":601,"column":8},"end":{"line":610,"column":9}},"139":{"start":{"line":603,"column":12},"end":{"line":603,"column":67}},"140":{"start":{"line":604,"column":12},"end":{"line":604,"column":70}},"141":{"start":{"line":605,"column":12},"end":{"line":605,"column":70}},"142":{"start":{"line":606,"column":12},"end":{"line":606,"column":67}},"143":{"start":{"line":607,"column":12},"end":{"line":607,"column":68}},"144":{"start":{"line":609,"column":12},"end":{"line":609,"column":77}},"145":{"start":{"line":622,"column":8},"end":{"line":622,"column":62}},"146":{"start":{"line":635,"column":8},"end":{"line":667,"column":8}},"147":{"start":{"line":636,"column":12},"end":{"line":637,"column":67}},"148":{"start":{"line":639,"column":12},"end":{"line":649,"column":15}},"149":{"start":{"line":651,"column":12},"end":{"line":651,"column":73}},"150":{"start":{"line":652,"column":12},"end":{"line":652,"column":76}},"151":{"start":{"line":653,"column":12},"end":{"line":653,"column":81}},"152":{"start":{"line":654,"column":12},"end":{"line":654,"column":76}},"153":{"start":{"line":655,"column":12},"end":{"line":655,"column":80}},"154":{"start":{"line":656,"column":12},"end":{"line":656,"column":74}},"155":{"start":{"line":657,"column":12},"end":{"line":657,"column":73}},"156":{"start":{"line":658,"column":12},"end":{"line":658,"column":37}},"157":{"start":{"line":660,"column":12},"end":{"line":660,"column":37}},"158":{"start":{"line":662,"column":12},"end":{"line":667,"column":8}},"159":{"start":{"line":663,"column":12},"end":{"line":663,"column":77}},"160":{"start":{"line":664,"column":12},"end":{"line":666,"column":21}},"161":{"start":{"line":665,"column":16},"end":{"line":665,"column":50}},"162":{"start":{"line":775,"column":16},"end":{"line":775,"column":34}},"163":{"start":{"line":807,"column":16},"end":{"line":812,"column":18}},"164":{"start":{"line":924,"column":16},"end":{"line":927,"column":20}},"165":{"start":{"line":944,"column":16},"end":{"line":944,"column":46}},"166":{"start":{"line":999,"column":0},"end":{"line":999,"column":38}}},"branchMap":{"1":{"line":311,"type":"binary-expr","locations":[{"start":{"line":311,"column":17},"end":{"line":311,"column":22}},{"start":{"line":311,"column":26},"end":{"line":311,"column":41}}]},"2":{"line":314,"type":"if","locations":[{"start":{"line":314,"column":8},"end":{"line":314,"column":8}},{"start":{"line":314,"column":8},"end":{"line":314,"column":8}}]},"3":{"line":321,"type":"if","locations":[{"start":{"line":321,"column":8},"end":{"line":321,"column":8}},{"start":{"line":321,"column":8},"end":{"line":321,"column":8}}]},"4":{"line":353,"type":"if","locations":[{"start":{"line":353,"column":8},"end":{"line":353,"column":8}},{"start":{"line":353,"column":8},"end":{"line":353,"column":8}}]},"5":{"line":354,"type":"switch","locations":[{"start":{"line":355,"column":16},"end":{"line":357,"column":26}},{"start":{"line":358,"column":16},"end":{"line":360,"column":26}},{"start":{"line":361,"column":16},"end":{"line":363,"column":26}},{"start":{"line":364,"column":16},"end":{"line":393,"column":26}}]},"6":{"line":371,"type":"if","locations":[{"start":{"line":371,"column":20},"end":{"line":371,"column":20}},{"start":{"line":371,"column":20},"end":{"line":371,"column":20}}]},"7":{"line":374,"type":"if","locations":[{"start":{"line":374,"column":28},"end":{"line":374,"column":28}},{"start":{"line":374,"column":28},"end":{"line":374,"column":28}}]},"8":{"line":385,"type":"if","locations":[{"start":{"line":385,"column":20},"end":{"line":385,"column":20}},{"start":{"line":385,"column":20},"end":{"line":385,"column":20}}]},"9":{"line":388,"type":"cond-expr","locations":[{"start":{"line":388,"column":53},"end":{"line":388,"column":81}},{"start":{"line":388,"column":84},"end":{"line":388,"column":95}}]},"10":{"line":408,"type":"if","locations":[{"start":{"line":408,"column":8},"end":{"line":408,"column":8}},{"start":{"line":408,"column":8},"end":{"line":408,"column":8}}]},"11":{"line":424,"type":"if","locations":[{"start":{"line":424,"column":8},"end":{"line":424,"column":8}},{"start":{"line":424,"column":8},"end":{"line":424,"column":8}}]},"12":{"line":440,"type":"if","locations":[{"start":{"line":440,"column":8},"end":{"line":440,"column":8}},{"start":{"line":440,"column":8},"end":{"line":440,"column":8}}]},"13":{"line":457,"type":"if","locations":[{"start":{"line":457,"column":8},"end":{"line":457,"column":8}},{"start":{"line":457,"column":8},"end":{"line":457,"column":8}}]},"14":{"line":457,"type":"binary-expr","locations":[{"start":{"line":457,"column":12},"end":{"line":457,"column":31}},{"start":{"line":457,"column":35},"end":{"line":457,"column":63}}]},"15":{"line":462,"type":"if","locations":[{"start":{"line":462,"column":13},"end":{"line":462,"column":13}},{"start":{"line":462,"column":13},"end":{"line":462,"column":13}}]},"16":{"line":462,"type":"binary-expr","locations":[{"start":{"line":462,"column":17},"end":{"line":462,"column":37}},{"start":{"line":462,"column":41},"end":{"line":462,"column":60}}]},"17":{"line":507,"type":"if","locations":[{"start":{"line":507,"column":8},"end":{"line":507,"column":8}},{"start":{"line":507,"column":8},"end":{"line":507,"column":8}}]},"18":{"line":510,"type":"if","locations":[{"start":{"line":510,"column":16},"end":{"line":510,"column":16}},{"start":{"line":510,"column":16},"end":{"line":510,"column":16}}]},"19":{"line":521,"type":"if","locations":[{"start":{"line":521,"column":8},"end":{"line":521,"column":8}},{"start":{"line":521,"column":8},"end":{"line":521,"column":8}}]},"20":{"line":525,"type":"cond-expr","locations":[{"start":{"line":525,"column":49},"end":{"line":525,"column":77}},{"start":{"line":525,"column":80},"end":{"line":525,"column":91}}]},"21":{"line":543,"type":"switch","locations":[{"start":{"line":544,"column":12},"end":{"line":546,"column":22}},{"start":{"line":547,"column":12},"end":{"line":549,"column":22}},{"start":{"line":550,"column":12},"end":{"line":552,"column":22}},{"start":{"line":553,"column":12},"end":{"line":555,"column":22}},{"start":{"line":556,"column":12},"end":{"line":559,"column":22}},{"start":{"line":560,"column":12},"end":{"line":560,"column":36}},{"start":{"line":561,"column":12},"end":{"line":563,"column":22}},{"start":{"line":564,"column":12},"end":{"line":564,"column":37}},{"start":{"line":565,"column":12},"end":{"line":567,"column":22}}]},"22":{"line":579,"type":"if","locations":[{"start":{"line":579,"column":8},"end":{"line":579,"column":8}},{"start":{"line":579,"column":8},"end":{"line":579,"column":8}}]},"23":{"line":595,"type":"binary-expr","locations":[{"start":{"line":595,"column":24},"end":{"line":595,"column":27}},{"start":{"line":595,"column":31},"end":{"line":595,"column":52}}]},"24":{"line":596,"type":"binary-expr","locations":[{"start":{"line":596,"column":23},"end":{"line":596,"column":31}},{"start":{"line":596,"column":35},"end":{"line":596,"column":62}}]},"25":{"line":599,"type":"cond-expr","locations":[{"start":{"line":599,"column":53},"end":{"line":599,"column":69}},{"start":{"line":599,"column":72},"end":{"line":599,"column":80}}]},"26":{"line":601,"type":"if","locations":[{"start":{"line":601,"column":8},"end":{"line":601,"column":8}},{"start":{"line":601,"column":8},"end":{"line":601,"column":8}}]},"27":{"line":635,"type":"if","locations":[{"start":{"line":635,"column":8},"end":{"line":635,"column":8}},{"start":{"line":635,"column":8},"end":{"line":635,"column":8}}]},"28":{"line":636,"type":"binary-expr","locations":[{"start":{"line":636,"column":28},"end":{"line":636,"column":31}},{"start":{"line":636,"column":35},"end":{"line":636,"column":56}}]},"29":{"line":637,"type":"binary-expr","locations":[{"start":{"line":637,"column":27},"end":{"line":637,"column":35}},{"start":{"line":637,"column":39},"end":{"line":637,"column":66}}]},"30":{"line":662,"type":"if","locations":[{"start":{"line":662,"column":12},"end":{"line":662,"column":12}},{"start":{"line":662,"column":12},"end":{"line":662,"column":12}}]},"31":{"line":808,"type":"binary-expr","locations":[{"start":{"line":808,"column":20},"end":{"line":808,"column":50}},{"start":{"line":809,"column":20},"end":{"line":809,"column":46}},{"start":{"line":810,"column":20},"end":{"line":810,"column":54}},{"start":{"line":811,"column":20},"end":{"line":811,"column":55}}]},"32":{"line":944,"type":"binary-expr","locations":[{"start":{"line":944,"column":24},"end":{"line":944,"column":32}},{"start":{"line":944,"column":36},"end":{"line":944,"column":44}}]}},"code":["(function () { YUI.add('uploader-html5', function (Y, NAME) {","","/**","* This module provides a UI for file selection and multiple file upload capability using","* HTML5 XMLHTTPRequest Level 2 as a transport engine.","* The supported features include: automatic upload queue management, upload progress","* tracking, drag-and-drop support, server response retrieval and error reporting.","*","* @module uploader-html5","*/","","// Shorthands for the external modules","var substitute = Y.Lang.sub,"," UploaderQueue = Y.Uploader.Queue;","","/**","* This module provides a UI for file selection and multiple file upload capability using","* HTML5 XMLHTTPRequest Level 2 as a transport engine.","* @class UploaderHTML5","* @extends Widget","* @constructor","*/","function UploaderHTML5() {"," UploaderHTML5.superclass.constructor.apply ( this, arguments );","}","","","","Y.UploaderHTML5 = Y.extend( UploaderHTML5, Y.Widget, {",""," /**"," * Stored reference to the instance of the file input field used to"," * initiate the file selection dialog."," *"," * @property _fileInputField"," * @type {Node}"," * @protected"," */"," _fileInputField: null,",""," /**"," * Stored reference to the click event binding of the `Select Files`"," * button."," *"," * @property _buttonBinding"," * @type {EventHandle}"," * @protected"," */"," _buttonBinding: null,",""," /**"," * Stored reference to the instance of Uploader.Queue used to manage"," * the upload process. This is a read-only property that only exists"," * during an active upload process. Only one queue can be active at"," * a time; if an upload start is attempted while a queue is active,"," * it will be ignored."," *"," * @property queue"," * @type {Y.Uploader.Queue}"," */"," queue: null,",""," // Y.UploaderHTML5 prototype",""," /**"," * Construction logic executed during UploaderHTML5 instantiation."," *"," * @method initializer"," * @protected"," */"," initializer : function () {",""," this._fileInputField = null;"," this.queue = null;"," this._buttonBinding = null;"," this._fileList = [];",""," // Publish available events",""," /**"," * Signals that files have been selected."," *"," * @event fileselect"," * @param event {Event} The event object for the `fileselect` with the"," * following payload:"," * <dl>"," * <dt>fileList</dt>"," * <dd>An `Array` of files selected by the user, encapsulated"," * in Y.FileHTML5 objects.</dd>"," * </dl>"," */"," this.publish(\"fileselect\");",""," /**"," * Signals that an upload of multiple files has been started."," *"," * @event uploadstart"," * @param event {Event} The event object for the `uploadstart`."," */"," this.publish(\"uploadstart\");",""," /**"," * Signals that an upload of a specific file has started."," *"," * @event fileuploadstart"," * @param event {Event} The event object for the `fileuploadstart` with the"," * following payload:"," * <dl>"," * <dt>file</dt>"," * <dd>A reference to the Y.File that dispatched the event.</dd>"," * <dt>originEvent</dt>"," * <dd>The original event dispatched by Y.File.</dd>"," * </dl>"," */"," this.publish(\"fileuploadstart\");",""," /**"," * Reports on upload progress of a specific file."," *"," * @event uploadprogress"," * @param event {Event} The event object for the `uploadprogress` with the"," * following payload:"," * <dl>"," * <dt>file</dt>"," * <dd>The pointer to the instance of `Y.File` that dispatched the event.</dd>"," * <dt>bytesLoaded</dt>"," * <dd>The number of bytes of the file that has been uploaded</dd>"," * <dt>bytesTotal</dt>"," * <dd>The total number of bytes in the file</dd>"," * <dt>percentLoaded</dt>"," * <dd>The fraction of the file that has been uploaded, out of 100</dd>"," * <dt>originEvent</dt>"," * <dd>The original event dispatched by the HTML5 uploader</dd>"," * </dl>"," */"," this.publish(\"uploadprogress\");",""," /**"," * Reports on the total upload progress of the file list."," *"," * @event totaluploadprogress"," * @param event {Event} The event object for the `totaluploadprogress` with the"," * following payload:"," * <dl>"," * <dt>bytesLoaded</dt>"," * <dd>The number of bytes of the file list that has been uploaded</dd>"," * <dt>bytesTotal</dt>"," * <dd>The total number of bytes in the file list</dd>"," * <dt>percentLoaded</dt>"," * <dd>The fraction of the file list that has been uploaded, out of 100</dd>"," * </dl>"," */"," this.publish(\"totaluploadprogress\");",""," /**"," * Signals that a single file upload has been completed."," *"," * @event uploadcomplete"," * @param event {Event} The event object for the `uploadcomplete` with the"," * following payload:"," * <dl>"," * <dt>file</dt>"," * <dd>The pointer to the instance of `Y.File` whose upload has been completed.</dd>"," * <dt>originEvent</dt>"," * <dd>The original event fired by the SWF Uploader</dd>"," * <dt>data</dt>"," * <dd>Data returned by the server.</dd>"," * </dl>"," */"," this.publish(\"uploadcomplete\");",""," /**"," * Signals that the upload process of the entire file list has been completed."," *"," * @event alluploadscomplete"," * @param event {Event} The event object for the `alluploadscomplete`."," */"," this.publish(\"alluploadscomplete\");",""," /**"," * Signals that a error has occurred in a specific file's upload process."," *"," * @event uploaderror"," * @param event {Event} The event object for the `uploaderror` with the"," * following payload:"," * <dl>"," * <dt>originEvent</dt>"," * <dd>The original error event fired by the HTML5 Uploader. </dd>"," * <dt>file</dt>"," * <dd>The pointer at the instance of Y.File that returned the error.</dd>"," * <dt>status</dt>"," * <dd>The status reported by the XMLHttpRequest object.</dd>"," * <dt>statusText</dt>"," * <dd>The statusText reported by the XMLHttpRequest object.</dd>"," * </dl>"," */"," this.publish(\"uploaderror\");",""," /**"," * Signals that a dragged object has entered into the uploader's associated drag-and-drop area."," *"," * @event dragenter"," * @param event {Event} The event object for the `dragenter`."," */"," this.publish(\"dragenter\");",""," /**"," * Signals that an object has been dragged over the uploader's associated drag-and-drop area."," *"," * @event dragover"," * @param event {Event} The event object for the `dragover`."," */"," this.publish(\"dragover\");",""," /**"," * Signals that an object has been dragged off of the uploader's associated drag-and-drop area."," *"," * @event dragleave"," * @param event {Event} The event object for the `dragleave`."," */"," this.publish(\"dragleave\");",""," /**"," * Signals that an object has been dropped over the uploader's associated drag-and-drop area."," *"," * @event drop"," * @param event {Event} The event object for the `drop` with the"," * following payload:"," * <dl>"," * <dt>fileList</dt>"," * <dd>An `Array` of files dropped by the user, encapsulated"," * in Y.FileHTML5 objects.</dd>"," * </dl>"," */"," this.publish(\"drop\");",""," },",""," /**"," * Create the DOM structure for the UploaderHTML5."," * UploaderHTML5's DOM structure consists of a \"Select Files\" button that can"," * be replaced by the developer's widget of choice; and a hidden file input field"," * that is used to instantiate the File Select dialog."," *"," * @method renderUI"," * @protected"," */"," renderUI : function () {"," var contentBox = this.get('contentBox'),"," selButton = this.get(\"selectFilesButton\");",""," selButton.setStyles({width:\"100%\", height:\"100%\"});"," contentBox.append(selButton);"," this._fileInputField = Y.Node.create(UploaderHTML5.HTML5FILEFIELD_TEMPLATE);"," contentBox.append(this._fileInputField);"," },",""," /**"," * Binds to the UploaderHTML5 UI and subscribes to the necessary events."," *"," * @method bindUI"," * @protected"," */"," bindUI : function () {",""," this._bindSelectButton();"," this._setMultipleFiles();"," this._setFileFilters();"," this._bindDropArea();"," this._triggerEnabled();",""," this.after(\"multipleFilesChange\", this._setMultipleFiles, this);"," this.after(\"fileFiltersChange\", this._setFileFilters, this);"," this.after(\"enabledChange\", this._triggerEnabled, this);"," this.after(\"selectFilesButtonChange\", this._bindSelectButton, this);"," this.after(\"dragAndDropAreaChange\", this._bindDropArea, this);"," this.after(\"tabIndexChange\", function () {"," this.get(\"selectFilesButton\").set(\"tabIndex\", this.get(\"tabIndex\"));"," }, this);"," this._fileInputField.on(\"change\", this._updateFileList, this);",""," this.get(\"selectFilesButton\").set(\"tabIndex\", this.get(\"tabIndex\"));"," },","",""," /**"," * Recreates the file field to null out the previous list of files and"," * thus allow for an identical file list selection."," *"," * @method _rebindFileField"," * @protected"," */"," _rebindFileField : function () {"," this._fileInputField.remove(true);"," this._fileInputField = Y.Node.create(UploaderHTML5.HTML5FILEFIELD_TEMPLATE);"," this.get(\"contentBox\").append(this._fileInputField);"," this._fileInputField.on(\"change\", this._updateFileList, this);"," this._setMultipleFiles();"," this._setFileFilters();"," },","",""," /**"," * Binds the specified drop area's drag and drop events to the"," * uploader's custom handler."," *"," * @method _bindDropArea"," * @protected"," */"," _bindDropArea : function (event) {"," var ev = event || {prevVal: null},"," ddArea = this.get(\"dragAndDropArea\");",""," if (ev.prevVal !== null) {"," ev.prevVal.detach('drop', this._ddEventHandler);"," ev.prevVal.detach('dragenter', this._ddEventHandler);"," ev.prevVal.detach('dragover', this._ddEventHandler);"," ev.prevVal.detach('dragleave', this._ddEventHandler);"," }",""," if (ddArea !== null) {"," ddArea.on('drop', this._ddEventHandler, this);"," ddArea.on('dragenter', this._ddEventHandler, this);"," ddArea.on('dragover', this._ddEventHandler, this);"," ddArea.on('dragleave', this._ddEventHandler, this);"," }"," },",""," /**"," * Binds the instantiation of the file select dialog to the current file select"," * control."," *"," * @method _bindSelectButton"," * @protected"," */"," _bindSelectButton : function () {"," this._buttonBinding = this.get(\"selectFilesButton\").on(\"click\", this.openFileSelectDialog, this);"," },",""," /**"," * Handles the drag and drop events from the uploader's specified drop"," * area."," *"," * @method _ddEventHandler"," * @protected"," */"," _ddEventHandler : function (event) {","",""," event.stopPropagation();"," event.preventDefault();",""," if (Y.Array.indexOf(event._event.dataTransfer.types, 'Files') > -1) {"," switch (event.type) {"," case \"dragenter\":"," this.fire(\"dragenter\");"," break;"," case \"dragover\":"," this.fire(\"dragover\");"," break;"," case \"dragleave\":"," this.fire(\"dragleave\");"," break;"," case \"drop\":",""," var newfiles = event._event.dataTransfer.files,"," parsedFiles = [],"," filterFunc = this.get(\"fileFilterFunction\"),"," oldfiles;",""," if (filterFunc) {"," Y.each(newfiles, function (value) {"," var newfile = new Y.FileHTML5(value);"," if (filterFunc(newfile)) {"," parsedFiles.push(newfile);"," }"," });"," }"," else {"," Y.each(newfiles, function (value) {"," parsedFiles.push(new Y.FileHTML5(value));"," });"," }",""," if (parsedFiles.length > 0) {"," oldfiles = this.get(\"fileList\");"," this.set(\"fileList\","," this.get(\"appendNewFiles\") ? oldfiles.concat(parsedFiles) : parsedFiles);"," this.fire(\"fileselect\", {fileList: parsedFiles});"," }",""," this.fire(\"drop\", {fileList: parsedFiles});"," break;"," }"," }"," },",""," /**"," * Adds or removes a specified state CSS class to the underlying uploader button."," *"," * @method _setButtonClass"," * @protected"," * @param state {String} The name of the state enumerated in `buttonClassNames` attribute"," * from which to derive the needed class name."," * @param add {Boolean} A Boolean indicating whether to add or remove the class."," */"," _setButtonClass : function (state, add) {"," if (add) {"," this.get(\"selectFilesButton\").addClass(this.get(\"buttonClassNames\")[state]);"," }"," else {"," this.get(\"selectFilesButton\").removeClass(this.get(\"buttonClassNames\")[state]);"," }"," },",""," /**"," * Syncs the state of the `multipleFiles` attribute between this class"," * and the file input field."," *"," * @method _setMultipleFiles"," * @protected"," */"," _setMultipleFiles : function () {"," if (this.get(\"multipleFiles\") === true) {"," this._fileInputField.set(\"multiple\", \"multiple\");"," }"," else {"," this._fileInputField.set(\"multiple\", \"\");"," }"," },",""," /**"," * Syncs the state of the `fileFilters` attribute between this class"," * and the file input field."," *"," * @method _setFileFilters"," * @protected"," */"," _setFileFilters : function () {"," if (this.get(\"fileFilters\").length > 0) {"," this._fileInputField.set(\"accept\", this.get(\"fileFilters\").join(\",\"));"," }"," else {"," this._fileInputField.set(\"accept\", \"\");"," }"," },","",""," /**"," * Syncs the state of the `enabled` attribute between this class"," * and the underlying button."," *"," * @method _triggerEnabled"," * @private"," */"," _triggerEnabled : function () {"," if (this.get(\"enabled\") && this._buttonBinding === null) {"," this._bindSelectButton();"," this._setButtonClass(\"disabled\", false);"," this.get(\"selectFilesButton\").setAttribute(\"aria-disabled\", \"false\");"," }"," else if (!this.get(\"enabled\") && this._buttonBinding) {"," this._buttonBinding.detach();"," this._buttonBinding = null;"," this._setButtonClass(\"disabled\", true);"," this.get(\"selectFilesButton\").setAttribute(\"aria-disabled\", \"true\");"," }"," },",""," /**"," * Getter for the `fileList` attribute"," *"," * @method _getFileList"," * @private"," */"," _getFileList : function () {"," return this._fileList.concat();"," },",""," /**"," * Setter for the `fileList` attribute"," *"," * @method _setFileList"," * @private"," */"," _setFileList : function (val) {"," this._fileList = val.concat();"," return this._fileList.concat();"," },",""," /**"," * Adjusts the content of the `fileList` based on the results of file selection"," * and the `appendNewFiles` attribute. If the `appendNewFiles` attribute is true,"," * then selected files are appended to the existing list; otherwise, the list is"," * cleared and populated with the newly selected files."," *"," * @method _updateFileList"," * @param ev {Event} The file selection event received from the uploader."," * @protected"," */"," _updateFileList : function (ev) {"," var newfiles = ev.target.getDOMNode().files,"," parsedFiles = [],"," filterFunc = this.get(\"fileFilterFunction\"),"," oldfiles;",""," if (filterFunc) {"," Y.each(newfiles, function (value) {"," var newfile = new Y.FileHTML5(value);"," if (filterFunc(newfile)) {"," parsedFiles.push(newfile);"," }"," });"," }"," else {"," Y.each(newfiles, function (value) {"," parsedFiles.push(new Y.FileHTML5(value));"," });"," }",""," if (parsedFiles.length > 0) {"," oldfiles = this.get(\"fileList\");",""," this.set(\"fileList\","," this.get(\"appendNewFiles\") ? oldfiles.concat(parsedFiles) : parsedFiles );",""," this.fire(\"fileselect\", {fileList: parsedFiles});"," }",""," this._rebindFileField();"," },","",""," /**"," * Handles and retransmits events fired by `Y.File` and `Y.Uploader.Queue`."," *"," * @method _uploadEventHandler"," * @param event The event dispatched during the upload process."," * @protected"," */"," _uploadEventHandler : function (event) {",""," switch (event.type) {"," case \"file:uploadstart\":"," this.fire(\"fileuploadstart\", event);"," break;"," case \"file:uploadprogress\":"," this.fire(\"uploadprogress\", event);"," break;"," case \"uploaderqueue:totaluploadprogress\":"," this.fire(\"totaluploadprogress\", event);"," break;"," case \"file:uploadcomplete\":"," this.fire(\"uploadcomplete\", event);"," break;"," case \"uploaderqueue:alluploadscomplete\":"," this.queue = null;"," this.fire(\"alluploadscomplete\", event);"," break;"," case \"file:uploaderror\": // overflow intentional"," case \"uploaderqueue:uploaderror\":"," this.fire(\"uploaderror\", event);"," break;"," case \"file:uploadcancel\": // overflow intentional"," case \"uploaderqueue:uploadcancel\":"," this.fire(\"uploadcancel\", event);"," break;"," }",""," },",""," /**"," * Opens the File Selection dialog by simulating a click on the file input field."," *"," * @method openFileSelectDialog"," */"," openFileSelectDialog : function () {"," var fileDomNode = this._fileInputField.getDOMNode();"," if (fileDomNode.click) {"," fileDomNode.click();"," }"," },",""," /**"," * Starts the upload of a specific file."," *"," * @method upload"," * @param file {Y.File} Reference to the instance of the file to be uploaded."," * @param url {String} The URL to upload the file to."," * @param postVars {Object} (optional) A set of key-value pairs to send as variables along with the file upload HTTP request."," * If not specified, the values from the attribute `postVarsPerFile` are used instead."," */"," upload : function (file, url, postvars) {",""," var uploadURL = url || this.get(\"uploadURL\"),"," postVars = postvars || this.get(\"postVarsPerFile\"),"," fileId = file.get(\"id\");",""," postVars = postVars.hasOwnProperty(fileId) ? postVars[fileId] : postVars;",""," if (file instanceof Y.FileHTML5) {",""," file.on(\"uploadstart\", this._uploadEventHandler, this);"," file.on(\"uploadprogress\", this._uploadEventHandler, this);"," file.on(\"uploadcomplete\", this._uploadEventHandler, this);"," file.on(\"uploaderror\", this._uploadEventHandler, this);"," file.on(\"uploadcancel\", this._uploadEventHandler, this);",""," file.startUpload(uploadURL, postVars, this.get(\"fileFieldName\"));"," }"," },",""," /**"," * Starts the upload of all files on the file list, using an automated queue."," *"," * @method uploadAll"," * @param url {String} The URL to upload the files to."," * @param [postVars] {Object} A set of key-value pairs to send as variables along with the file upload HTTP request."," * If not specified, the values from the attribute `postVarsPerFile` are used instead."," */"," uploadAll : function (url, postvars) {"," this.uploadThese(this.get(\"fileList\"), url, postvars);"," },",""," /**"," * Starts the upload of the files specified in the first argument, using an automated queue."," *"," * @method uploadThese"," * @param files {Array} The list of files to upload."," * @param url {String} The URL to upload the files to."," * @param [postVars] {Object} A set of key-value pairs to send as variables along with the file upload HTTP request."," * If not specified, the values from the attribute `postVarsPerFile` are used instead."," */"," uploadThese : function (files, url, postvars) {"," if (!this.queue) {"," var uploadURL = url || this.get(\"uploadURL\"),"," postVars = postvars || this.get(\"postVarsPerFile\");",""," this.queue = new UploaderQueue({"," simUploads: this.get(\"simLimit\"),"," errorAction: this.get(\"errorAction\"),"," fileFieldName: this.get(\"fileFieldName\"),"," fileList: files,"," uploadURL: uploadURL,"," perFileParameters: postVars,"," retryCount: this.get(\"retryCount\"),"," uploadHeaders: this.get(\"uploadHeaders\"),"," withCredentials: this.get(\"withCredentials\")"," });",""," this.queue.on(\"uploadstart\", this._uploadEventHandler, this);"," this.queue.on(\"uploadprogress\", this._uploadEventHandler, this);"," this.queue.on(\"totaluploadprogress\", this._uploadEventHandler, this);"," this.queue.on(\"uploadcomplete\", this._uploadEventHandler, this);"," this.queue.on(\"alluploadscomplete\", this._uploadEventHandler, this);"," this.queue.on(\"uploadcancel\", this._uploadEventHandler, this);"," this.queue.on(\"uploaderror\", this._uploadEventHandler, this);"," this.queue.startUpload();",""," this.fire(\"uploadstart\");"," }"," else if (this.queue._currentState === UploaderQueue.UPLOADING) {"," this.queue.set(\"perFileParameters\", this.get(\"postVarsPerFile\"));"," Y.each(files, function (file) {"," this.queue.addToQueueBottom(file);"," }, this);"," }"," }","}, {",""," /**"," * The template for the hidden file input field container. The file input field will only"," * accept clicks if its visibility is set to hidden (and will not if it's `display` value"," * is set to `none`)"," *"," * @property HTML5FILEFIELD_TEMPLATE"," * @type {String}"," * @static"," */"," HTML5FILEFIELD_TEMPLATE: \"<input type='file' style='visibility:hidden; width:0px; height: 0px;'>\",",""," /**"," * The template for the \"Select Files\" button."," *"," * @property SELECT_FILES_BUTTON"," * @type {HTML}"," * @static"," * @default '<button type=\"button\" class=\"yui3-button\" role=\"button\" aria-label=\"{selectButtonLabel}\""," * tabindex=\"{tabIndex}\">{selectButtonLabel}</button>'"," */"," SELECT_FILES_BUTTON: '<button type=\"button\" class=\"yui3-button\" role=\"button\" aria-label=\"{selectButtonLabel}\" ' +"," 'tabindex=\"{tabIndex}\">{selectButtonLabel}</button>',",""," /**"," * The static property reflecting the type of uploader that `Y.Uploader`"," * aliases. The UploaderHTML5 value is `\"html5\"`."," *"," * @property TYPE"," * @type {String}"," * @static"," */"," TYPE: \"html5\",",""," /**"," * The identity of the widget."," *"," * @property NAME"," * @type String"," * @default 'uploader'"," * @readOnly"," * @protected"," * @static"," */"," NAME: \"uploader\",",""," /**"," * Static property used to define the default attribute configuration of"," * the Widget."," *"," * @property ATTRS"," * @type {Object}"," * @protected"," * @static"," */"," ATTRS: {",""," /**"," * A Boolean indicating whether newly selected files should be appended"," * to the existing file list, or whether they should replace it."," *"," * @attribute appendNewFiles"," * @type {Boolean}"," * @default true"," */"," appendNewFiles : {"," value: true"," },",""," /**"," * The names of CSS classes that correspond to different button states"," * of the \"Select Files\" control. These classes are assigned to the"," * \"Select Files\" control based on the configuration of the uploader."," * Currently, the only class name used is that corresponding to the"," * `disabled` state of the uploader. Other button states should be managed"," * directly via CSS selectors."," * <ul>"," * <li> <strong>`disabled`</strong>: the class corresponding to the disabled state"," * of the \"Select Files\" button.</li>"," * </ul>"," * @attribute buttonClassNames"," * @type {Object}"," * @default {"," * disabled: \"yui3-button-disabled\""," * }"," */"," buttonClassNames: {"," value: {"," \"hover\": \"yui3-button-hover\","," \"active\": \"yui3-button-active\","," \"disabled\": \"yui3-button-disabled\","," \"focus\": \"yui3-button-selected\""," }"," },",""," /**"," * The node that serves as the drop target for files."," *"," * @attribute dragAndDropArea"," * @type {Node}"," * @default null"," */"," dragAndDropArea: {"," value: null,"," setter: function (val) {"," return Y.one(val);"," }"," },",""," /**"," * A Boolean indicating whether the uploader is enabled or disabled for user input."," *"," * @attribute enabled"," * @type {Boolean}"," * @default true"," */"," enabled : {"," value: true"," },",""," /**"," * The action performed when an upload error occurs for a specific file being uploaded."," * The possible values are:"," * <ul>"," * <li> <strong>`UploaderQueue.CONTINUE`</strong>: the error is ignored and the upload process is continued.</li>"," * <li> <strong>`UploaderQueue.STOP`</strong>: the upload process is stopped as soon as any other parallel file"," * uploads are finished.</li>"," * <li> <strong>`UploaderQueue.RESTART_ASAP`</strong>: the file is added back to the front of the queue.</li>"," * <li> <strong>`UploaderQueue.RESTART_AFTER`</strong>: the file is added to the back of the queue.</li>"," * </ul>"," * @attribute errorAction"," * @type {String}"," * @default UploaderQueue.CONTINUE"," */"," errorAction: {"," value: \"continue\","," validator: function (val) {"," return ("," val === UploaderQueue.CONTINUE ||"," val === UploaderQueue.STOP ||"," val === UploaderQueue.RESTART_ASAP ||"," val === UploaderQueue.RESTART_AFTER"," );"," }"," },",""," /**"," * An array indicating what fileFilters should be applied to the file"," * selection dialog. Each element in the array should be a string"," * indicating the Media (MIME) type for the files that should be supported"," * for selection. The Media type strings should be properly formatted"," * or this parameter will be ignored. Examples of valid strings include:"," * \"audio/*\", \"video/*\", \"application/pdf\", etc. More information"," * on valid Media type strings is available here:"," * http://www.iana.org/assignments/media-types/index.html"," * @attribute fileFilters"," * @type {Array}"," * @default []"," */"," fileFilters: {"," value: []"," },",""," /**"," * A filtering function that is applied to every file selected by the user."," * The function receives the `Y.File` object and must return a Boolean value."," * If a `false` value is returned, the file in question is not added to the"," * list of files to be uploaded."," * Use this function to put limits on file sizes or check the file names for"," * correct extension, but make sure that a server-side check is also performed,"," * since any client-side restrictions are only advisory and can be circumvented."," *"," * @attribute fileFilterFunction"," * @type {Function}"," * @default null"," */"," fileFilterFunction: {"," value: null"," },",""," /**"," * A String specifying what should be the POST field name for the file"," * content in the upload request."," *"," * @attribute fileFieldName"," * @type {String}"," * @default Filedata"," */"," fileFieldName: {"," value: \"Filedata\""," },",""," /**"," * The array of files to be uploaded. All elements in the array"," * must be instances of `Y.File` and be instantiated with an instance"," * of native JavaScript File() class."," *"," * @attribute fileList"," * @type {Array}"," * @default []"," */"," fileList: {"," value: [],"," getter: \"_getFileList\","," setter: \"_setFileList\""," },",""," /**"," * A Boolean indicating whether multiple file selection is enabled."," *"," * @attribute multipleFiles"," * @type {Boolean}"," * @default false"," */"," multipleFiles: {"," value: false"," },",""," /**"," * An object, keyed by `fileId`, containing sets of key-value pairs"," * that should be passed as POST variables along with each corresponding"," * file. This attribute is only used if no POST variables are specifed"," * in the upload method call."," *"," * @attribute postVarsPerFile"," * @type {Object}"," * @default {}"," */"," postVarsPerFile: {"," value: {}"," },",""," /**"," * The label for the \"Select Files\" widget. This is the value that replaces the"," * `{selectButtonLabel}` token in the `SELECT_FILES_BUTTON` template."," *"," * @attribute selectButtonLabel"," * @type {String}"," * @default \"Select Files\""," */"," selectButtonLabel: {"," value: \"Select Files\""," },",""," /**"," * The widget that serves as the \"Select Files control for the file uploader"," *"," *"," * @attribute selectFilesButton"," * @type {Node | Widget}"," * @default A standard HTML button with YUI CSS Button skin."," */"," selectFilesButton : {"," valueFn: function () {"," return Y.Node.create(substitute(Y.UploaderHTML5.SELECT_FILES_BUTTON, {"," selectButtonLabel: this.get(\"selectButtonLabel\"),"," tabIndex: this.get(\"tabIndex\")"," }));"," }"," },",""," /**"," * The number of files that can be uploaded"," * simultaneously if the automatic queue management"," * is used. This value can be in the range between 2"," * and 5."," *"," * @attribute simLimit"," * @type {Number}"," * @default 2"," */"," simLimit: {"," value: 2,"," validator: function (val) {"," return (val >= 1 && val <= 5);"," }"," },",""," /**"," * The URL to which file upload requested are POSTed. Only used if a different url is not passed to the upload method call."," *"," * @attribute uploadURL"," * @type {String}"," * @default \"\""," */"," uploadURL: {"," value: \"\""," },",""," /**"," * Additional HTTP headers that should be included"," * in the upload request."," *"," *"," * @attribute uploadHeaders"," * @type {Object}"," * @default {}"," */"," uploadHeaders: {"," value: {}"," },",""," /**"," * A Boolean that specifies whether the file should be"," * uploaded with the appropriate user credentials for the"," * domain."," *"," * @attribute withCredentials"," * @type {Boolean}"," * @default true"," */"," withCredentials: {"," value: true"," },",""," /**"," * The number of times to try re-uploading a file that failed to upload before"," * cancelling its upload."," *"," * @attribute retryCount"," * @type {Number}"," * @default 3"," */"," retryCount: {"," value: 3"," }"," }","});","","Y.UploaderHTML5.Queue = UploaderQueue;","","","","}, '3.13.0', {\"requires\": [\"widget\", \"node-event-simulate\", \"file-html5\", \"uploader-queue\"]});","","}());"]};