baidu_ueditor_rails5 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (277) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/app/assets/javascripts/baidu_ueditor.js +1 -1
  4. data/app/assets/javascripts/ueditor/dialogs/anchor/anchor.html +40 -0
  5. data/app/assets/javascripts/ueditor/dialogs/attachment/attachment.css +681 -0
  6. data/app/assets/javascripts/ueditor/dialogs/attachment/attachment.html +60 -0
  7. data/app/assets/javascripts/ueditor/dialogs/attachment/attachment.js +754 -0
  8. data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_chm.gif +0 -0
  9. data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_default.png +0 -0
  10. data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_doc.gif +0 -0
  11. data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_exe.gif +0 -0
  12. data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_jpg.gif +0 -0
  13. data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_mp3.gif +0 -0
  14. data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_mv.gif +0 -0
  15. data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_pdf.gif +0 -0
  16. data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_ppt.gif +0 -0
  17. data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_psd.gif +0 -0
  18. data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_rar.gif +0 -0
  19. data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_txt.gif +0 -0
  20. data/app/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_xls.gif +0 -0
  21. data/app/assets/javascripts/ueditor/dialogs/attachment/images/alignicon.gif +0 -0
  22. data/app/assets/javascripts/ueditor/dialogs/attachment/images/alignicon.png +0 -0
  23. data/app/assets/javascripts/ueditor/dialogs/attachment/images/bg.png +0 -0
  24. data/app/assets/javascripts/ueditor/dialogs/attachment/images/file-icons.gif +0 -0
  25. data/app/assets/javascripts/ueditor/dialogs/attachment/images/file-icons.png +0 -0
  26. data/app/assets/javascripts/ueditor/dialogs/attachment/images/icons.gif +0 -0
  27. data/app/assets/javascripts/ueditor/dialogs/attachment/images/icons.png +0 -0
  28. data/app/assets/javascripts/ueditor/dialogs/attachment/images/image.png +0 -0
  29. data/app/assets/javascripts/ueditor/dialogs/attachment/images/progress.png +0 -0
  30. data/app/assets/javascripts/ueditor/dialogs/attachment/images/success.gif +0 -0
  31. data/app/assets/javascripts/ueditor/dialogs/attachment/images/success.png +0 -0
  32. data/app/assets/javascripts/ueditor/dialogs/background/background.css +94 -0
  33. data/app/assets/javascripts/ueditor/dialogs/background/background.html +56 -0
  34. data/app/assets/javascripts/ueditor/dialogs/background/background.js +376 -0
  35. data/app/assets/javascripts/ueditor/dialogs/background/images/bg.png +0 -0
  36. data/app/assets/javascripts/ueditor/dialogs/background/images/success.png +0 -0
  37. data/app/assets/javascripts/ueditor/dialogs/charts/chart.config.js +65 -0
  38. data/app/assets/javascripts/ueditor/dialogs/charts/charts.css +165 -0
  39. data/app/assets/javascripts/ueditor/dialogs/charts/charts.html +89 -0
  40. data/app/assets/javascripts/ueditor/dialogs/charts/charts.js +519 -0
  41. data/app/assets/javascripts/ueditor/dialogs/charts/images/charts0.png +0 -0
  42. data/app/assets/javascripts/ueditor/dialogs/charts/images/charts1.png +0 -0
  43. data/app/assets/javascripts/ueditor/dialogs/charts/images/charts2.png +0 -0
  44. data/app/assets/javascripts/ueditor/dialogs/charts/images/charts3.png +0 -0
  45. data/app/assets/javascripts/ueditor/dialogs/charts/images/charts4.png +0 -0
  46. data/app/assets/javascripts/ueditor/dialogs/charts/images/charts5.png +0 -0
  47. data/app/assets/javascripts/ueditor/dialogs/emotion/emotion.css +43 -0
  48. data/app/assets/javascripts/ueditor/dialogs/emotion/emotion.html +54 -0
  49. data/app/assets/javascripts/ueditor/dialogs/emotion/emotion.js +186 -0
  50. data/app/assets/javascripts/ueditor/dialogs/emotion/images/0.gif +0 -0
  51. data/app/assets/javascripts/ueditor/dialogs/emotion/images/bface.gif +0 -0
  52. data/app/assets/javascripts/ueditor/dialogs/emotion/images/cface.gif +0 -0
  53. data/app/assets/javascripts/ueditor/dialogs/emotion/images/fface.gif +0 -0
  54. data/app/assets/javascripts/ueditor/dialogs/emotion/images/jxface2.gif +0 -0
  55. data/app/assets/javascripts/ueditor/dialogs/emotion/images/neweditor-tab-bg.png +0 -0
  56. data/app/assets/javascripts/ueditor/dialogs/emotion/images/tface.gif +0 -0
  57. data/app/assets/javascripts/ueditor/dialogs/emotion/images/wface.gif +0 -0
  58. data/app/assets/javascripts/ueditor/dialogs/emotion/images/yface.gif +0 -0
  59. data/app/assets/javascripts/ueditor/dialogs/gmap/gmap.html +89 -0
  60. data/app/assets/javascripts/ueditor/dialogs/help/help.css +7 -0
  61. data/app/assets/javascripts/ueditor/dialogs/help/help.html +82 -0
  62. data/app/assets/javascripts/ueditor/dialogs/help/help.js +56 -0
  63. data/app/assets/javascripts/ueditor/dialogs/image/image.css +894 -0
  64. data/app/assets/javascripts/ueditor/dialogs/image/image.html +120 -0
  65. data/app/assets/javascripts/ueditor/dialogs/image/image.js +1142 -0
  66. data/app/assets/javascripts/ueditor/dialogs/image/images/alignicon.jpg +0 -0
  67. data/app/assets/javascripts/ueditor/dialogs/image/images/bg.png +0 -0
  68. data/app/assets/javascripts/ueditor/dialogs/image/images/icons.gif +0 -0
  69. data/app/assets/javascripts/ueditor/dialogs/image/images/icons.png +0 -0
  70. data/app/assets/javascripts/ueditor/dialogs/image/images/image.png +0 -0
  71. data/app/assets/javascripts/ueditor/dialogs/image/images/progress.png +0 -0
  72. data/app/assets/javascripts/ueditor/dialogs/image/images/success.gif +0 -0
  73. data/app/assets/javascripts/ueditor/dialogs/image/images/success.png +0 -0
  74. data/app/assets/javascripts/ueditor/dialogs/insertframe/insertframe.html +98 -0
  75. data/app/assets/javascripts/ueditor/dialogs/internal.js +81 -0
  76. data/app/assets/javascripts/ueditor/dialogs/link/link.html +126 -0
  77. data/app/assets/javascripts/ueditor/dialogs/map/map.html +135 -0
  78. data/app/assets/javascripts/ueditor/dialogs/map/show.html +118 -0
  79. data/app/assets/javascripts/ueditor/dialogs/music/music.css +30 -0
  80. data/app/assets/javascripts/ueditor/dialogs/music/music.html +32 -0
  81. data/app/assets/javascripts/ueditor/dialogs/music/music.js +192 -0
  82. data/app/assets/javascripts/ueditor/dialogs/preview/preview.html +40 -0
  83. data/app/assets/javascripts/ueditor/dialogs/scrawl/images/addimg.png +0 -0
  84. data/app/assets/javascripts/ueditor/dialogs/scrawl/images/brush.png +0 -0
  85. data/app/assets/javascripts/ueditor/dialogs/scrawl/images/delimg.png +0 -0
  86. data/app/assets/javascripts/ueditor/dialogs/scrawl/images/delimgH.png +0 -0
  87. data/app/assets/javascripts/ueditor/dialogs/scrawl/images/empty.png +0 -0
  88. data/app/assets/javascripts/ueditor/dialogs/scrawl/images/emptyH.png +0 -0
  89. data/app/assets/javascripts/ueditor/dialogs/scrawl/images/eraser.png +0 -0
  90. data/app/assets/javascripts/ueditor/dialogs/scrawl/images/redo.png +0 -0
  91. data/app/assets/javascripts/ueditor/dialogs/scrawl/images/redoH.png +0 -0
  92. data/app/assets/javascripts/ueditor/dialogs/scrawl/images/scale.png +0 -0
  93. data/app/assets/javascripts/ueditor/dialogs/scrawl/images/scaleH.png +0 -0
  94. data/app/assets/javascripts/ueditor/dialogs/scrawl/images/size.png +0 -0
  95. data/app/assets/javascripts/ueditor/dialogs/scrawl/images/undo.png +0 -0
  96. data/app/assets/javascripts/ueditor/dialogs/scrawl/images/undoH.png +0 -0
  97. data/app/assets/javascripts/ueditor/dialogs/scrawl/scrawl.css +72 -0
  98. data/app/assets/javascripts/ueditor/dialogs/scrawl/scrawl.html +95 -0
  99. data/app/assets/javascripts/ueditor/dialogs/scrawl/scrawl.js +671 -0
  100. data/app/assets/javascripts/ueditor/dialogs/searchreplace/searchreplace.html +102 -0
  101. data/app/assets/javascripts/ueditor/dialogs/searchreplace/searchreplace.js +164 -0
  102. data/app/assets/javascripts/ueditor/dialogs/snapscreen/snapscreen.html +58 -0
  103. data/app/assets/javascripts/ueditor/dialogs/spechars/spechars.html +21 -0
  104. data/app/assets/javascripts/ueditor/dialogs/spechars/spechars.js +57 -0
  105. data/app/assets/javascripts/ueditor/dialogs/table/dragicon.png +0 -0
  106. data/app/assets/javascripts/ueditor/dialogs/table/edittable.css +84 -0
  107. data/app/assets/javascripts/ueditor/dialogs/table/edittable.html +64 -0
  108. data/app/assets/javascripts/ueditor/dialogs/table/edittable.js +237 -0
  109. data/app/assets/javascripts/ueditor/dialogs/table/edittd.html +61 -0
  110. data/app/assets/javascripts/ueditor/dialogs/table/edittip.html +33 -0
  111. data/app/assets/javascripts/ueditor/dialogs/template/config.js +42 -0
  112. data/app/assets/javascripts/ueditor/dialogs/template/images/bg.gif +0 -0
  113. data/app/assets/javascripts/ueditor/dialogs/template/images/pre0.png +0 -0
  114. data/app/assets/javascripts/ueditor/dialogs/template/images/pre1.png +0 -0
  115. data/app/assets/javascripts/ueditor/dialogs/template/images/pre2.png +0 -0
  116. data/app/assets/javascripts/ueditor/dialogs/template/images/pre3.png +0 -0
  117. data/app/assets/javascripts/ueditor/dialogs/template/images/pre4.png +0 -0
  118. data/app/assets/javascripts/ueditor/dialogs/template/template.css +18 -0
  119. data/app/assets/javascripts/ueditor/dialogs/template/template.html +26 -0
  120. data/app/assets/javascripts/ueditor/dialogs/template/template.js +53 -0
  121. data/app/assets/javascripts/ueditor/dialogs/video/images/bg.png +0 -0
  122. data/app/assets/javascripts/ueditor/dialogs/video/images/center_focus.jpg +0 -0
  123. data/app/assets/javascripts/ueditor/dialogs/video/images/file-icons.gif +0 -0
  124. data/app/assets/javascripts/ueditor/dialogs/video/images/file-icons.png +0 -0
  125. data/app/assets/javascripts/ueditor/dialogs/video/images/icons.gif +0 -0
  126. data/app/assets/javascripts/ueditor/dialogs/video/images/icons.png +0 -0
  127. data/app/assets/javascripts/ueditor/dialogs/video/images/image.png +0 -0
  128. data/app/assets/javascripts/ueditor/dialogs/video/images/left_focus.jpg +0 -0
  129. data/app/assets/javascripts/ueditor/dialogs/video/images/none_focus.jpg +0 -0
  130. data/app/assets/javascripts/ueditor/dialogs/video/images/progress.png +0 -0
  131. data/app/assets/javascripts/ueditor/dialogs/video/images/right_focus.jpg +0 -0
  132. data/app/assets/javascripts/ueditor/dialogs/video/images/success.gif +0 -0
  133. data/app/assets/javascripts/ueditor/dialogs/video/images/success.png +0 -0
  134. data/app/assets/javascripts/ueditor/dialogs/video/video.css +635 -0
  135. data/app/assets/javascripts/ueditor/dialogs/video/video.html +86 -0
  136. data/app/assets/javascripts/ueditor/dialogs/video/video.js +791 -0
  137. data/app/assets/javascripts/ueditor/dialogs/webapp/webapp.html +53 -0
  138. data/app/assets/javascripts/ueditor/dialogs/wordimage/fClipboard_ueditor.swf +0 -0
  139. data/app/assets/javascripts/ueditor/dialogs/wordimage/imageUploader.swf +0 -0
  140. data/app/assets/javascripts/ueditor/dialogs/wordimage/tangram.js +1495 -0
  141. data/app/assets/javascripts/ueditor/dialogs/wordimage/wordimage.html +111 -0
  142. data/app/assets/javascripts/ueditor/dialogs/wordimage/wordimage.js +157 -0
  143. data/app/assets/javascripts/ueditor/index.html +175 -0
  144. data/app/assets/javascripts/ueditor/lang/en/en.js +684 -0
  145. data/app/assets/javascripts/ueditor/lang/en/images/addimage.png +0 -0
  146. data/app/assets/javascripts/ueditor/lang/en/images/alldeletebtnhoverskin.png +0 -0
  147. data/app/assets/javascripts/ueditor/lang/en/images/alldeletebtnupskin.png +0 -0
  148. data/app/assets/javascripts/ueditor/lang/en/images/background.png +0 -0
  149. data/app/assets/javascripts/ueditor/lang/en/images/button.png +0 -0
  150. data/app/assets/javascripts/ueditor/lang/en/images/copy.png +0 -0
  151. data/app/assets/javascripts/ueditor/lang/en/images/deletedisable.png +0 -0
  152. data/app/assets/javascripts/ueditor/lang/en/images/deleteenable.png +0 -0
  153. data/app/assets/javascripts/ueditor/lang/en/images/listbackground.png +0 -0
  154. data/app/assets/javascripts/ueditor/lang/en/images/localimage.png +0 -0
  155. data/app/assets/javascripts/ueditor/lang/en/images/music.png +0 -0
  156. data/app/assets/javascripts/ueditor/lang/en/images/rotateleftdisable.png +0 -0
  157. data/app/assets/javascripts/ueditor/lang/en/images/rotateleftenable.png +0 -0
  158. data/app/assets/javascripts/ueditor/lang/en/images/rotaterightdisable.png +0 -0
  159. data/app/assets/javascripts/ueditor/lang/en/images/rotaterightenable.png +0 -0
  160. data/app/assets/javascripts/ueditor/lang/en/images/upload.png +0 -0
  161. data/app/assets/javascripts/ueditor/lang/zh-cn/images/copy.png +0 -0
  162. data/app/assets/javascripts/ueditor/lang/zh-cn/images/localimage.png +0 -0
  163. data/app/assets/javascripts/ueditor/lang/zh-cn/images/music.png +0 -0
  164. data/app/assets/javascripts/ueditor/lang/zh-cn/images/upload.png +0 -0
  165. data/app/assets/javascripts/ueditor/lang/zh-cn/zh-cn.js +669 -0
  166. data/app/assets/javascripts/ueditor/themes/default/css/ueditor.css +1903 -0
  167. data/app/assets/javascripts/ueditor/themes/default/css/ueditor.min.css +8 -0
  168. data/app/assets/javascripts/ueditor/themes/default/dialogbase.css +100 -0
  169. data/app/assets/javascripts/ueditor/themes/default/images/anchor.gif +0 -0
  170. data/app/assets/javascripts/ueditor/themes/default/images/arrow.png +0 -0
  171. data/app/assets/javascripts/ueditor/themes/default/images/arrow_down.png +0 -0
  172. data/app/assets/javascripts/ueditor/themes/default/images/arrow_up.png +0 -0
  173. data/app/assets/javascripts/ueditor/themes/default/images/button-bg.gif +0 -0
  174. data/app/assets/javascripts/ueditor/themes/default/images/cancelbutton.gif +0 -0
  175. data/app/assets/javascripts/ueditor/themes/default/images/charts.png +0 -0
  176. data/app/assets/javascripts/ueditor/themes/default/images/cursor_h.gif +0 -0
  177. data/app/assets/javascripts/ueditor/themes/default/images/cursor_h.png +0 -0
  178. data/app/assets/javascripts/ueditor/themes/default/images/cursor_v.gif +0 -0
  179. data/app/assets/javascripts/ueditor/themes/default/images/cursor_v.png +0 -0
  180. data/app/assets/javascripts/ueditor/themes/default/images/dialog-title-bg.png +0 -0
  181. data/app/assets/javascripts/ueditor/themes/default/images/filescan.png +0 -0
  182. data/app/assets/javascripts/ueditor/themes/default/images/highlighted.gif +0 -0
  183. data/app/assets/javascripts/ueditor/themes/default/images/icons-all.gif +0 -0
  184. data/app/assets/javascripts/ueditor/themes/default/images/icons.gif +0 -0
  185. data/app/assets/javascripts/ueditor/themes/default/images/icons.png +0 -0
  186. data/app/assets/javascripts/ueditor/themes/default/images/loaderror.png +0 -0
  187. data/app/assets/javascripts/ueditor/themes/default/images/loading.gif +0 -0
  188. data/app/assets/javascripts/ueditor/themes/default/images/lock.gif +0 -0
  189. data/app/assets/javascripts/ueditor/themes/default/images/neweditor-tab-bg.png +0 -0
  190. data/app/assets/javascripts/ueditor/themes/default/images/pagebreak.gif +0 -0
  191. data/app/assets/javascripts/ueditor/themes/default/images/scale.png +0 -0
  192. data/app/assets/javascripts/ueditor/themes/default/images/sortable.png +0 -0
  193. data/app/assets/javascripts/ueditor/themes/default/images/spacer.gif +0 -0
  194. data/app/assets/javascripts/ueditor/themes/default/images/sparator_v.png +0 -0
  195. data/app/assets/javascripts/ueditor/themes/default/images/table-cell-align.png +0 -0
  196. data/app/assets/javascripts/ueditor/themes/default/images/tangram-colorpicker.png +0 -0
  197. data/app/assets/javascripts/ueditor/themes/default/images/toolbar_bg.png +0 -0
  198. data/app/assets/javascripts/ueditor/themes/default/images/unhighlighted.gif +0 -0
  199. data/app/assets/javascripts/ueditor/themes/default/images/upload.png +0 -0
  200. data/app/assets/javascripts/ueditor/themes/default/images/videologo.gif +0 -0
  201. data/app/assets/javascripts/ueditor/themes/default/images/word.gif +0 -0
  202. data/app/assets/javascripts/ueditor/themes/default/images/wordpaste.png +0 -0
  203. data/app/assets/javascripts/ueditor/themes/iframe.css +1 -0
  204. data/app/assets/javascripts/ueditor/third-party/SyntaxHighlighter/shCore.js +3655 -0
  205. data/app/assets/javascripts/ueditor/third-party/SyntaxHighlighter/shCoreDefault.css +1 -0
  206. data/app/assets/javascripts/ueditor/third-party/codemirror/codemirror.css +104 -0
  207. data/app/assets/javascripts/ueditor/third-party/codemirror/codemirror.js +3581 -0
  208. data/app/assets/javascripts/ueditor/third-party/highcharts/adapters/mootools-adapter.js +13 -0
  209. data/app/assets/javascripts/ueditor/third-party/highcharts/adapters/mootools-adapter.src.js +313 -0
  210. data/app/assets/javascripts/ueditor/third-party/highcharts/adapters/prototype-adapter.js +15 -0
  211. data/app/assets/javascripts/ueditor/third-party/highcharts/adapters/prototype-adapter.src.js +316 -0
  212. data/app/assets/javascripts/ueditor/third-party/highcharts/adapters/standalone-framework.js +17 -0
  213. data/app/assets/javascripts/ueditor/third-party/highcharts/adapters/standalone-framework.src.js +583 -0
  214. data/app/assets/javascripts/ueditor/third-party/highcharts/highcharts-more.js +50 -0
  215. data/app/assets/javascripts/ueditor/third-party/highcharts/highcharts-more.src.js +2430 -0
  216. data/app/assets/javascripts/ueditor/third-party/highcharts/highcharts.js +283 -0
  217. data/app/assets/javascripts/ueditor/third-party/highcharts/highcharts.src.js +16974 -0
  218. data/app/assets/javascripts/ueditor/third-party/highcharts/modules/annotations.js +7 -0
  219. data/app/assets/javascripts/ueditor/third-party/highcharts/modules/annotations.src.js +401 -0
  220. data/app/assets/javascripts/ueditor/third-party/highcharts/modules/canvas-tools.js +133 -0
  221. data/app/assets/javascripts/ueditor/third-party/highcharts/modules/canvas-tools.src.js +3113 -0
  222. data/app/assets/javascripts/ueditor/third-party/highcharts/modules/data.js +17 -0
  223. data/app/assets/javascripts/ueditor/third-party/highcharts/modules/data.src.js +582 -0
  224. data/app/assets/javascripts/ueditor/third-party/highcharts/modules/drilldown.js +11 -0
  225. data/app/assets/javascripts/ueditor/third-party/highcharts/modules/drilldown.src.js +447 -0
  226. data/app/assets/javascripts/ueditor/third-party/highcharts/modules/exporting.js +22 -0
  227. data/app/assets/javascripts/ueditor/third-party/highcharts/modules/exporting.src.js +709 -0
  228. data/app/assets/javascripts/ueditor/third-party/highcharts/modules/funnel.js +12 -0
  229. data/app/assets/javascripts/ueditor/third-party/highcharts/modules/funnel.src.js +289 -0
  230. data/app/assets/javascripts/ueditor/third-party/highcharts/modules/heatmap.js +1 -0
  231. data/app/assets/javascripts/ueditor/third-party/highcharts/modules/heatmap.src.js +53 -0
  232. data/app/assets/javascripts/ueditor/third-party/highcharts/modules/map.js +27 -0
  233. data/app/assets/javascripts/ueditor/third-party/highcharts/modules/map.src.js +1002 -0
  234. data/app/assets/javascripts/ueditor/third-party/highcharts/modules/no-data-to-display.js +12 -0
  235. data/app/assets/javascripts/ueditor/third-party/highcharts/modules/no-data-to-display.src.js +128 -0
  236. data/app/assets/javascripts/ueditor/third-party/highcharts/themes/dark-blue.js +254 -0
  237. data/app/assets/javascripts/ueditor/third-party/highcharts/themes/dark-green.js +255 -0
  238. data/app/assets/javascripts/ueditor/third-party/highcharts/themes/gray.js +257 -0
  239. data/app/assets/javascripts/ueditor/third-party/highcharts/themes/grid.js +103 -0
  240. data/app/assets/javascripts/ueditor/third-party/highcharts/themes/skies.js +89 -0
  241. data/app/assets/javascripts/ueditor/third-party/jquery-1.10.2.js +9789 -0
  242. data/app/assets/javascripts/ueditor/third-party/jquery-1.10.2.min.js +6 -0
  243. data/app/assets/javascripts/ueditor/third-party/jquery-1.10.2.min.map +1 -0
  244. data/app/assets/javascripts/ueditor/third-party/snapscreen/UEditorSnapscreen.exe +0 -0
  245. data/app/assets/javascripts/ueditor/third-party/video-js/font/vjs.eot +0 -0
  246. data/app/assets/javascripts/ueditor/third-party/video-js/font/vjs.svg +65 -0
  247. data/app/assets/javascripts/ueditor/third-party/video-js/font/vjs.ttf +0 -0
  248. data/app/assets/javascripts/ueditor/third-party/video-js/font/vjs.woff +0 -0
  249. data/app/assets/javascripts/ueditor/third-party/video-js/video-js.css +766 -0
  250. data/app/assets/javascripts/ueditor/third-party/video-js/video-js.min.css +5 -0
  251. data/app/assets/javascripts/ueditor/third-party/video-js/video-js.swf +0 -0
  252. data/app/assets/javascripts/ueditor/third-party/video-js/video.dev.js +7108 -0
  253. data/app/assets/javascripts/ueditor/third-party/video-js/video.js +129 -0
  254. data/app/assets/javascripts/ueditor/third-party/webuploader/Uploader.swf +0 -0
  255. data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.css +28 -0
  256. data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.custom.js +5670 -0
  257. data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.custom.min.js +2 -0
  258. data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.flashonly.js +4176 -0
  259. data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.flashonly.min.js +2 -0
  260. data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.html5only.js +5559 -0
  261. data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.html5only.min.js +2 -0
  262. data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.js +6733 -0
  263. data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.min.js +2 -0
  264. data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.withoutimage.js +4593 -0
  265. data/app/assets/javascripts/ueditor/third-party/webuploader/webuploader.withoutimage.min.js +2 -0
  266. data/app/assets/javascripts/ueditor/third-party/xss.min.js +1 -0
  267. data/app/assets/javascripts/ueditor/third-party/zeroclipboard/ZeroClipboard.js +1256 -0
  268. data/app/assets/javascripts/ueditor/third-party/zeroclipboard/ZeroClipboard.min.js +9 -0
  269. data/app/assets/javascripts/ueditor/third-party/zeroclipboard/ZeroClipboard.swf +0 -0
  270. data/app/assets/javascripts/ueditor/ueditor.all.js +29568 -0
  271. data/app/assets/javascripts/ueditor/ueditor.all.min.js +18 -0
  272. data/app/assets/javascripts/ueditor/ueditor.config.js +497 -0
  273. data/app/assets/javascripts/ueditor/ueditor.parse.js +1022 -0
  274. data/app/assets/javascripts/ueditor/ueditor.parse.min.js +7 -0
  275. data/app/assets/javascripts/{ueditor → ueditor_custom}/preinit.js.erb +0 -0
  276. data/lib/baidu_ueditor_rails/version.rb +1 -1
  277. metadata +292 -21
@@ -0,0 +1,2 @@
1
+ /* WebUploader 0.1.2 */!function(a,b){var c,d={},e=function(a,b){var c,d,e;if("string"==typeof a)return h(a);for(c=[],d=a.length,e=0;d>e;e++)c.push(h(a[e]));return b.apply(null,c)},f=function(a,b,c){2===arguments.length&&(c=b,b=null),e(b||[],function(){g(a,c,arguments)})},g=function(a,b,c){var f,g={exports:b};"function"==typeof b&&(c.length||(c=[e,g.exports,g]),f=b.apply(null,c),void 0!==f&&(g.exports=f)),d[a]=g.exports},h=function(b){var c=d[b]||a[b];if(!c)throw new Error("`"+b+"` is undefined");return c},i=function(a){var b,c,e,f,g,h;h=function(a){return a&&a.charAt(0).toUpperCase()+a.substr(1)};for(b in d)if(c=a,d.hasOwnProperty(b)){for(e=b.split("/"),g=h(e.pop());f=h(e.shift());)c[f]=c[f]||{},c=c[f];c[g]=d[b]}},j=b(a,f,e);i(j),"object"==typeof module&&"object"==typeof module.exports?module.exports=j:"function"==typeof define&&define.amd?define([],j):(c=a.WebUploader,a.WebUploader=j,a.WebUploader.noConflict=function(){a.WebUploader=c})}(this,function(a,b,c){return b("dollar-third",[],function(){return a.jQuery||a.Zepto}),b("dollar",["dollar-third"],function(a){return a}),b("promise-third",["dollar"],function(a){return{Deferred:a.Deferred,when:a.when,isPromise:function(a){return a&&"function"==typeof a.then}}}),b("promise",["promise-third"],function(a){return a}),b("base",["dollar","promise"],function(b,c){function d(a){return function(){return h.apply(a,arguments)}}function e(a,b){return function(){return a.apply(b,arguments)}}function f(a){var b;return Object.create?Object.create(a):(b=function(){},b.prototype=a,new b)}var g=function(){},h=Function.call;return{version:"0.1.2",$:b,Deferred:c.Deferred,isPromise:c.isPromise,when:c.when,browser:function(a){var b={},c=a.match(/WebKit\/([\d.]+)/),d=a.match(/Chrome\/([\d.]+)/)||a.match(/CriOS\/([\d.]+)/),e=a.match(/MSIE\s([\d\.]+)/)||a.match(/(?:trident)(?:.*rv:([\w.]+))?/i),f=a.match(/Firefox\/([\d.]+)/),g=a.match(/Safari\/([\d.]+)/),h=a.match(/OPR\/([\d.]+)/);return c&&(b.webkit=parseFloat(c[1])),d&&(b.chrome=parseFloat(d[1])),e&&(b.ie=parseFloat(e[1])),f&&(b.firefox=parseFloat(f[1])),g&&(b.safari=parseFloat(g[1])),h&&(b.opera=parseFloat(h[1])),b}(navigator.userAgent),os:function(a){var b={},c=a.match(/(?:Android);?[\s\/]+([\d.]+)?/),d=a.match(/(?:iPad|iPod|iPhone).*OS\s([\d_]+)/);return c&&(b.android=parseFloat(c[1])),d&&(b.ios=parseFloat(d[1].replace(/_/g,"."))),b}(navigator.userAgent),inherits:function(a,c,d){var e;return"function"==typeof c?(e=c,c=null):e=c&&c.hasOwnProperty("constructor")?c.constructor:function(){return a.apply(this,arguments)},b.extend(!0,e,a,d||{}),e.__super__=a.prototype,e.prototype=f(a.prototype),c&&b.extend(!0,e.prototype,c),e},noop:g,bindFn:e,log:function(){return a.console?e(console.log,console):g}(),nextTick:function(){return function(a){setTimeout(a,1)}}(),slice:d([].slice),guid:function(){var a=0;return function(b){for(var c=(+new Date).toString(32),d=0;5>d;d++)c+=Math.floor(65535*Math.random()).toString(32);return(b||"wu_")+c+(a++).toString(32)}}(),formatSize:function(a,b,c){var d;for(c=c||["B","K","M","G","TB"];(d=c.shift())&&a>1024;)a/=1024;return("B"===d?a:a.toFixed(b||2))+d}}}),b("mediator",["base"],function(a){function b(a,b,c,d){return f.grep(a,function(a){return!(!a||b&&a.e!==b||c&&a.cb!==c&&a.cb._cb!==c||d&&a.ctx!==d)})}function c(a,b,c){f.each((a||"").split(h),function(a,d){c(d,b)})}function d(a,b){for(var c,d=!1,e=-1,f=a.length;++e<f;)if(c=a[e],c.cb.apply(c.ctx2,b)===!1){d=!0;break}return!d}var e,f=a.$,g=[].slice,h=/\s+/;return e={on:function(a,b,d){var e,f=this;return b?(e=this._events||(this._events=[]),c(a,b,function(a,b){var c={e:a};c.cb=b,c.ctx=d,c.ctx2=d||f,c.id=e.length,e.push(c)}),this):this},once:function(a,b,d){var e=this;return b?(c(a,b,function(a,b){var c=function(){return e.off(a,c),b.apply(d||e,arguments)};c._cb=b,e.on(a,c,d)}),e):e},off:function(a,d,e){var g=this._events;return g?a||d||e?(c(a,d,function(a,c){f.each(b(g,a,c,e),function(){delete g[this.id]})}),this):(this._events=[],this):this},trigger:function(a){var c,e,f;return this._events&&a?(c=g.call(arguments,1),e=b(this._events,a),f=b(this._events,"all"),d(e,c)&&d(f,arguments)):this}},f.extend({installTo:function(a){return f.extend(a,e)}},e)}),b("uploader",["base","mediator"],function(a,b){function c(a){this.options=d.extend(!0,{},c.options,a),this._init(this.options)}var d=a.$;return c.options={},b.installTo(c.prototype),d.each({upload:"start-upload",stop:"stop-upload",getFile:"get-file",getFiles:"get-files",addFile:"add-file",addFiles:"add-file",sort:"sort-files",removeFile:"remove-file",skipFile:"skip-file",retry:"retry",isInProgress:"is-in-progress",makeThumb:"make-thumb",getDimension:"get-dimension",addButton:"add-btn",getRuntimeType:"get-runtime-type",refresh:"refresh",disable:"disable",enable:"enable",reset:"reset"},function(a,b){c.prototype[a]=function(){return this.request(b,arguments)}}),d.extend(c.prototype,{state:"pending",_init:function(a){var b=this;b.request("init",a,function(){b.state="ready",b.trigger("ready")})},option:function(a,b){var c=this.options;return arguments.length>1?void(d.isPlainObject(b)&&d.isPlainObject(c[a])?d.extend(c[a],b):c[a]=b):a?c[a]:c},getStats:function(){var a=this.request("get-stats");return{successNum:a.numOfSuccess,cancelNum:a.numOfCancel,invalidNum:a.numOfInvalid,uploadFailNum:a.numOfUploadFailed,queueNum:a.numOfQueue}},trigger:function(a){var c=[].slice.call(arguments,1),e=this.options,f="on"+a.substring(0,1).toUpperCase()+a.substring(1);return b.trigger.apply(this,arguments)===!1||d.isFunction(e[f])&&e[f].apply(this,c)===!1||d.isFunction(this[f])&&this[f].apply(this,c)===!1||b.trigger.apply(b,[this,a].concat(c))===!1?!1:!0},request:a.noop}),a.create=c.create=function(a){return new c(a)},a.Uploader=c,c}),b("runtime/runtime",["base","mediator"],function(a,b){function c(b){this.options=d.extend({container:document.body},b),this.uid=a.guid("rt_")}var d=a.$,e={},f=function(a){for(var b in a)if(a.hasOwnProperty(b))return b;return null};return d.extend(c.prototype,{getContainer:function(){var a,b,c=this.options;return this._container?this._container:(a=d(c.container||document.body),b=d(document.createElement("div")),b.attr("id","rt_"+this.uid),b.css({position:"absolute",top:"0px",left:"0px",width:"1px",height:"1px",overflow:"hidden"}),a.append(b),a.addClass("webuploader-container"),this._container=b,b)},init:a.noop,exec:a.noop,destroy:function(){this._container&&this._container.parentNode.removeChild(this.__container),this.off()}}),c.orders="html5,flash",c.addRuntime=function(a,b){e[a]=b},c.hasRuntime=function(a){return!!(a?e[a]:f(e))},c.create=function(a,b){var g,h;if(b=b||c.orders,d.each(b.split(/\s*,\s*/g),function(){return e[this]?(g=this,!1):void 0}),g=g||f(e),!g)throw new Error("Runtime Error");return h=new e[g](a)},b.installTo(c.prototype),c}),b("runtime/client",["base","mediator","runtime/runtime"],function(a,b,c){function d(b,d){var f,g=a.Deferred();this.uid=a.guid("client_"),this.runtimeReady=function(a){return g.done(a)},this.connectRuntime=function(b,h){if(f)throw new Error("already connected!");return g.done(h),"string"==typeof b&&e.get(b)&&(f=e.get(b)),f=f||e.get(null,d),f?(a.$.extend(f.options,b),f.__promise.then(g.resolve),f.__client++):(f=c.create(b,b.runtimeOrder),f.__promise=g.promise(),f.once("ready",g.resolve),f.init(),e.add(f),f.__client=1),d&&(f.__standalone=d),f},this.getRuntime=function(){return f},this.disconnectRuntime=function(){f&&(f.__client--,f.__client<=0&&(e.remove(f),delete f.__promise,f.destroy()),f=null)},this.exec=function(){if(f){var c=a.slice(arguments);return b&&c.unshift(b),f.exec.apply(this,c)}},this.getRuid=function(){return f&&f.uid},this.destroy=function(a){return function(){a&&a.apply(this,arguments),this.trigger("destroy"),this.off(),this.exec("destroy"),this.disconnectRuntime()}}(this.destroy)}var e;return e=function(){var a={};return{add:function(b){a[b.uid]=b},get:function(b,c){var d;if(b)return a[b];for(d in a)if(!c||!a[d].__standalone)return a[d];return null},remove:function(b){delete a[b.uid]}}}(),b.installTo(d.prototype),d}),b("lib/dnd",["base","mediator","runtime/client"],function(a,b,c){function d(a){a=this.options=e.extend({},d.options,a),a.container=e(a.container),a.container.length&&c.call(this,"DragAndDrop")}var e=a.$;return d.options={accept:null,disableGlobalDnd:!1},a.inherits(c,{constructor:d,init:function(){var a=this;a.connectRuntime(a.options,function(){a.exec("init"),a.trigger("ready")})},destroy:function(){this.disconnectRuntime()}}),b.installTo(d.prototype),d}),b("widgets/widget",["base","uploader"],function(a,b){function c(a){if(!a)return!1;var b=a.length,c=e.type(a);return 1===a.nodeType&&b?!0:"array"===c||"function"!==c&&"string"!==c&&(0===b||"number"==typeof b&&b>0&&b-1 in a)}function d(a){this.owner=a,this.options=a.options}var e=a.$,f=b.prototype._init,g={},h=[];return e.extend(d.prototype,{init:a.noop,invoke:function(a,b){var c=this.responseMap;return c&&a in c&&c[a]in this&&e.isFunction(this[c[a]])?this[c[a]].apply(this,b):g},request:function(){return this.owner.request.apply(this.owner,arguments)}}),e.extend(b.prototype,{_init:function(){var a=this,b=a._widgets=[];return e.each(h,function(c,d){b.push(new d(a))}),f.apply(a,arguments)},request:function(b,d,e){var f,h,i,j,k=0,l=this._widgets,m=l.length,n=[],o=[];for(d=c(d)?d:[d];m>k;k++)f=l[k],h=f.invoke(b,d),h!==g&&(a.isPromise(h)?o.push(h):n.push(h));return e||o.length?(i=a.when.apply(a,o),j=i.pipe?"pipe":"then",i[j](function(){var b=a.Deferred(),c=arguments;return setTimeout(function(){b.resolve.apply(b,c)},1),b.promise()})[j](e||a.noop)):n[0]}}),b.register=d.register=function(b,c){var f,g={init:"init"};return 1===arguments.length?(c=b,c.responseMap=g):c.responseMap=e.extend(g,b),f=a.inherits(d,c),h.push(f),f},d}),b("widgets/filednd",["base","uploader","lib/dnd","widgets/widget"],function(a,b,c){var d=a.$;return b.options.dnd="",b.register({init:function(b){if(b.dnd&&"html5"===this.request("predict-runtime-type")){var e,f=this,g=a.Deferred(),h=d.extend({},{disableGlobalDnd:b.disableGlobalDnd,container:b.dnd,accept:b.accept});return e=new c(h),e.once("ready",g.resolve),e.on("drop",function(a){f.request("add-file",[a])}),e.on("accept",function(a){return f.owner.trigger("dndAccept",a)}),e.init(),g.promise()}}})}),b("lib/filepaste",["base","mediator","runtime/client"],function(a,b,c){function d(a){a=this.options=e.extend({},a),a.container=e(a.container||document.body),c.call(this,"FilePaste")}var e=a.$;return a.inherits(c,{constructor:d,init:function(){var a=this;a.connectRuntime(a.options,function(){a.exec("init"),a.trigger("ready")})},destroy:function(){this.exec("destroy"),this.disconnectRuntime(),this.off()}}),b.installTo(d.prototype),d}),b("widgets/filepaste",["base","uploader","lib/filepaste","widgets/widget"],function(a,b,c){var d=a.$;return b.register({init:function(b){if(b.paste&&"html5"===this.request("predict-runtime-type")){var e,f=this,g=a.Deferred(),h=d.extend({},{container:b.paste,accept:b.accept});return e=new c(h),e.once("ready",g.resolve),e.on("paste",function(a){f.owner.request("add-file",[a])}),e.init(),g.promise()}}})}),b("lib/blob",["base","runtime/client"],function(a,b){function c(a,c){var d=this;d.source=c,d.ruid=a,b.call(d,"Blob"),this.uid=c.uid||this.uid,this.type=c.type||"",this.size=c.size||0,a&&d.connectRuntime(a)}return a.inherits(b,{constructor:c,slice:function(a,b){return this.exec("slice",a,b)},getSource:function(){return this.source}}),c}),b("lib/file",["base","lib/blob"],function(a,b){function c(a,c){var f;b.apply(this,arguments),this.name=c.name||"untitled"+d++,f=e.exec(c.name)?RegExp.$1.toLowerCase():"",!f&&this.type&&(f=/\/(jpg|jpeg|png|gif|bmp)$/i.exec(this.type)?RegExp.$1.toLowerCase():"",this.name+="."+f),!this.type&&~"jpg,jpeg,png,gif,bmp".indexOf(f)&&(this.type="image/"+("jpg"===f?"jpeg":f)),this.ext=f,this.lastModifiedDate=c.lastModifiedDate||(new Date).toLocaleString()}var d=1,e=/\.([^.]+)$/;return a.inherits(b,c)}),b("lib/filepicker",["base","runtime/client","lib/file"],function(b,c,d){function e(a){if(a=this.options=f.extend({},e.options,a),a.container=f(a.id),!a.container.length)throw new Error("按钮指定错误");a.innerHTML=a.innerHTML||a.label||a.container.html()||"",a.button=f(a.button||document.createElement("div")),a.button.html(a.innerHTML),a.container.html(a.button),c.call(this,"FilePicker",!0)}var f=b.$;return e.options={button:null,container:null,label:null,innerHTML:null,multiple:!0,accept:null,name:"file"},b.inherits(c,{constructor:e,init:function(){var b=this,c=b.options,e=c.button;e.addClass("webuploader-pick"),b.on("all",function(a){var g;switch(a){case"mouseenter":e.addClass("webuploader-pick-hover");break;case"mouseleave":e.removeClass("webuploader-pick-hover");break;case"change":g=b.exec("getFiles"),b.trigger("select",f.map(g,function(a){return a=new d(b.getRuid(),a),a._refer=c.container,a}),c.container)}}),b.connectRuntime(c,function(){b.refresh(),b.exec("init",c),b.trigger("ready")}),f(a).on("resize",function(){b.refresh()})},refresh:function(){var a=this.getRuntime().getContainer(),b=this.options.button,c=b.outerWidth?b.outerWidth():b.width(),d=b.outerHeight?b.outerHeight():b.height(),e=b.offset();c&&d&&a.css({bottom:"auto",right:"auto",width:c+"px",height:d+"px"}).offset(e)},enable:function(){var a=this.options.button;a.removeClass("webuploader-pick-disable"),this.refresh()},disable:function(){var a=this.options.button;this.getRuntime().getContainer().css({top:"-99999px"}),a.addClass("webuploader-pick-disable")},destroy:function(){this.runtime&&(this.exec("destroy"),this.disconnectRuntime())}}),e}),b("widgets/filepicker",["base","uploader","lib/filepicker","widgets/widget"],function(a,b,c){var d=a.$;return d.extend(b.options,{pick:null,accept:null}),b.register({"add-btn":"addButton",refresh:"refresh",disable:"disable",enable:"enable"},{init:function(a){return this.pickers=[],a.pick&&this.addButton(a.pick)},refresh:function(){d.each(this.pickers,function(){this.refresh()})},addButton:function(b){var e,f,g,h=this,i=h.options,j=i.accept;if(b)return g=a.Deferred(),d.isPlainObject(b)||(b={id:b}),e=d.extend({},b,{accept:d.isPlainObject(j)?[j]:j,swf:i.swf,runtimeOrder:i.runtimeOrder}),f=new c(e),f.once("ready",g.resolve),f.on("select",function(a){h.owner.request("add-file",[a])}),f.init(),this.pickers.push(f),g.promise()},disable:function(){d.each(this.pickers,function(){this.disable()})},enable:function(){d.each(this.pickers,function(){this.enable()})}})}),b("file",["base","mediator"],function(a,b){function c(){return f+g++}function d(a){this.name=a.name||"Untitled",this.size=a.size||0,this.type=a.type||"application",this.lastModifiedDate=a.lastModifiedDate||1*new Date,this.id=c(),this.ext=h.exec(this.name)?RegExp.$1:"",this.statusText="",i[this.id]=d.Status.INITED,this.source=a,this.loaded=0,this.on("error",function(a){this.setStatus(d.Status.ERROR,a)})}var e=a.$,f="WU_FILE_",g=0,h=/\.([^.]+)$/,i={};return e.extend(d.prototype,{setStatus:function(a,b){var c=i[this.id];"undefined"!=typeof b&&(this.statusText=b),a!==c&&(i[this.id]=a,this.trigger("statuschange",a,c))},getStatus:function(){return i[this.id]},getSource:function(){return this.source},destory:function(){delete i[this.id]}}),b.installTo(d.prototype),d.Status={INITED:"inited",QUEUED:"queued",PROGRESS:"progress",ERROR:"error",COMPLETE:"complete",CANCELLED:"cancelled",INTERRUPT:"interrupt",INVALID:"invalid"},d}),b("queue",["base","mediator","file"],function(a,b,c){function d(){this.stats={numOfQueue:0,numOfSuccess:0,numOfCancel:0,numOfProgress:0,numOfUploadFailed:0,numOfInvalid:0},this._queue=[],this._map={}}var e=a.$,f=c.Status;return e.extend(d.prototype,{append:function(a){return this._queue.push(a),this._fileAdded(a),this},prepend:function(a){return this._queue.unshift(a),this._fileAdded(a),this},getFile:function(a){return"string"!=typeof a?a:this._map[a]},fetch:function(a){var b,c,d=this._queue.length;for(a=a||f.QUEUED,b=0;d>b;b++)if(c=this._queue[b],a===c.getStatus())return c;return null},sort:function(a){"function"==typeof a&&this._queue.sort(a)},getFiles:function(){for(var a,b=[].slice.call(arguments,0),c=[],d=0,f=this._queue.length;f>d;d++)a=this._queue[d],(!b.length||~e.inArray(a.getStatus(),b))&&c.push(a);return c},_fileAdded:function(a){var b=this,c=this._map[a.id];c||(this._map[a.id]=a,a.on("statuschange",function(a,c){b._onFileStatusChange(a,c)})),a.setStatus(f.QUEUED)},_onFileStatusChange:function(a,b){var c=this.stats;switch(b){case f.PROGRESS:c.numOfProgress--;break;case f.QUEUED:c.numOfQueue--;break;case f.ERROR:c.numOfUploadFailed--;break;case f.INVALID:c.numOfInvalid--}switch(a){case f.QUEUED:c.numOfQueue++;break;case f.PROGRESS:c.numOfProgress++;break;case f.ERROR:c.numOfUploadFailed++;break;case f.COMPLETE:c.numOfSuccess++;break;case f.CANCELLED:c.numOfCancel++;break;case f.INVALID:c.numOfInvalid++}}}),b.installTo(d.prototype),d}),b("widgets/queue",["base","uploader","queue","file","lib/file","runtime/client","widgets/widget"],function(a,b,c,d,e,f){var g=a.$,h=/\.\w+$/,i=d.Status;return b.register({"sort-files":"sortFiles","add-file":"addFiles","get-file":"getFile","fetch-file":"fetchFile","get-stats":"getStats","get-files":"getFiles","remove-file":"removeFile",retry:"retry",reset:"reset","accept-file":"acceptFile"},{init:function(b){var d,e,h,i,j,k,l,m=this;if(g.isPlainObject(b.accept)&&(b.accept=[b.accept]),b.accept){for(j=[],h=0,e=b.accept.length;e>h;h++)i=b.accept[h].extensions,i&&j.push(i);j.length&&(k="\\."+j.join(",").replace(/,/g,"$|\\.").replace(/\*/g,".*")+"$"),m.accept=new RegExp(k,"i")}return m.queue=new c,m.stats=m.queue.stats,"html5"===this.request("predict-runtime-type")?(d=a.Deferred(),l=new f("Placeholder"),l.connectRuntime({runtimeOrder:"html5"},function(){m._ruid=l.getRuid(),d.resolve()}),d.promise()):void 0},_wrapFile:function(a){if(!(a instanceof d)){if(!(a instanceof e)){if(!this._ruid)throw new Error("Can't add external files.");a=new e(this._ruid,a)}a=new d(a)}return a},acceptFile:function(a){var b=!a||a.size<6||this.accept&&h.exec(a.name)&&!this.accept.test(a.name);return!b},_addFile:function(a){var b=this;return a=b._wrapFile(a),b.owner.trigger("beforeFileQueued",a)?b.acceptFile(a)?(b.queue.append(a),b.owner.trigger("fileQueued",a),a):void b.owner.trigger("error","Q_TYPE_DENIED",a):void 0},getFile:function(a){return this.queue.getFile(a)},addFiles:function(a){var b=this;a.length||(a=[a]),a=g.map(a,function(a){return b._addFile(a)}),b.owner.trigger("filesQueued",a),b.options.auto&&b.request("start-upload")},getStats:function(){return this.stats},removeFile:function(a){var b=this;a=a.id?a:b.queue.getFile(a),a.setStatus(i.CANCELLED),b.owner.trigger("fileDequeued",a)},getFiles:function(){return this.queue.getFiles.apply(this.queue,arguments)},fetchFile:function(){return this.queue.fetch.apply(this.queue,arguments)},retry:function(a,b){var c,d,e,f=this;if(a)return a=a.id?a:f.queue.getFile(a),a.setStatus(i.QUEUED),void(b||f.request("start-upload"));for(c=f.queue.getFiles(i.ERROR),d=0,e=c.length;e>d;d++)a=c[d],a.setStatus(i.QUEUED);f.request("start-upload")},sortFiles:function(){return this.queue.sort.apply(this.queue,arguments)},reset:function(){this.queue=new c,this.stats=this.queue.stats}})}),b("widgets/runtime",["uploader","runtime/runtime","widgets/widget"],function(a,b){return a.support=function(){return b.hasRuntime.apply(b,arguments)},a.register({"predict-runtime-type":"predictRuntmeType"},{init:function(){if(!this.predictRuntmeType())throw Error("Runtime Error")},predictRuntmeType:function(){var a,c,d=this.options.runtimeOrder||b.orders,e=this.type;if(!e)for(d=d.split(/\s*,\s*/g),a=0,c=d.length;c>a;a++)if(b.hasRuntime(d[a])){this.type=e=d[a];break}return e}})}),b("lib/transport",["base","runtime/client","mediator"],function(a,b,c){function d(a){var c=this;a=c.options=e.extend(!0,{},d.options,a||{}),b.call(this,"Transport"),this._blob=null,this._formData=a.formData||{},this._headers=a.headers||{},this.on("progress",this._timeout),this.on("load error",function(){c.trigger("progress",1),clearTimeout(c._timer)})}var e=a.$;return d.options={server:"",method:"POST",withCredentials:!1,fileVal:"file",timeout:12e4,formData:{},headers:{},sendAsBinary:!1},e.extend(d.prototype,{appendBlob:function(a,b,c){var d=this,e=d.options;d.getRuid()&&d.disconnectRuntime(),d.connectRuntime(b.ruid,function(){d.exec("init")}),d._blob=b,e.fileVal=a||e.fileVal,e.filename=c||e.filename},append:function(a,b){"object"==typeof a?e.extend(this._formData,a):this._formData[a]=b},setRequestHeader:function(a,b){"object"==typeof a?e.extend(this._headers,a):this._headers[a]=b},send:function(a){this.exec("send",a),this._timeout()},abort:function(){return clearTimeout(this._timer),this.exec("abort")},destroy:function(){this.trigger("destroy"),this.off(),this.exec("destroy"),this.disconnectRuntime()},getResponse:function(){return this.exec("getResponse")},getResponseAsJson:function(){return this.exec("getResponseAsJson")},getStatus:function(){return this.exec("getStatus")},_timeout:function(){var a=this,b=a.options.timeout;b&&(clearTimeout(a._timer),a._timer=setTimeout(function(){a.abort(),a.trigger("error","timeout")},b))}}),c.installTo(d.prototype),d}),b("widgets/upload",["base","uploader","file","lib/transport","widgets/widget"],function(a,b,c,d){function e(a,b){for(var c,d=[],e=a.source,f=e.size,g=b?Math.ceil(f/b):1,h=0,i=0;g>i;)c=Math.min(b,f-h),d.push({file:a,start:h,end:b?h+c:f,total:f,chunks:g,chunk:i++}),h+=c;return a.blocks=d.concat(),a.remaning=d.length,{file:a,has:function(){return!!d.length},fetch:function(){return d.shift()}}}var f=a.$,g=a.isPromise,h=c.Status;f.extend(b.options,{prepareNextFile:!1,chunked:!1,chunkSize:5242880,chunkRetry:2,threads:3,formData:null}),b.register({"start-upload":"start","stop-upload":"stop","skip-file":"skipFile","is-in-progress":"isInProgress"},{init:function(){var b=this.owner;this.runing=!1,this.pool=[],this.pending=[],this.remaning=0,this.__tick=a.bindFn(this._tick,this),b.on("uploadComplete",function(a){a.blocks&&f.each(a.blocks,function(a,b){b.transport&&(b.transport.abort(),b.transport.destroy()),delete b.transport}),delete a.blocks,delete a.remaning})},start:function(){var b=this;f.each(b.request("get-files",h.INVALID),function(){b.request("remove-file",this)}),b.runing||(b.runing=!0,f.each(b.pool,function(a,c){var d=c.file;d.getStatus()===h.INTERRUPT&&(d.setStatus(h.PROGRESS),b._trigged=!1,c.transport&&c.transport.send())}),b._trigged=!1,b.owner.trigger("startUpload"),a.nextTick(b.__tick))},stop:function(a){var b=this;b.runing!==!1&&(b.runing=!1,a&&f.each(b.pool,function(a,b){b.transport&&b.transport.abort(),b.file.setStatus(h.INTERRUPT)}),b.owner.trigger("stopUpload"))},isInProgress:function(){return!!this.runing},getStats:function(){return this.request("get-stats")},skipFile:function(a,b){a=this.request("get-file",a),a.setStatus(b||h.COMPLETE),a.skipped=!0,a.blocks&&f.each(a.blocks,function(a,b){var c=b.transport;c&&(c.abort(),c.destroy(),delete b.transport)}),this.owner.trigger("uploadSkip",a)},_tick:function(){var b,c,d=this,e=d.options;return d._promise?d._promise.always(d.__tick):void(d.pool.length<e.threads&&(c=d._nextBlock())?(d._trigged=!1,b=function(b){d._promise=null,b&&b.file&&d._startSend(b),a.nextTick(d.__tick)},d._promise=g(c)?c.always(b):b(c)):d.remaning||d.getStats().numOfQueue||(d.runing=!1,d._trigged||a.nextTick(function(){d.owner.trigger("uploadFinished")}),d._trigged=!0))},_nextBlock:function(){var a,b,c=this,d=c._act,f=c.options;return d&&d.has()&&d.file.getStatus()===h.PROGRESS?(f.prepareNextFile&&!c.pending.length&&c._prepareNextFile(),d.fetch()):c.runing?(!c.pending.length&&c.getStats().numOfQueue&&c._prepareNextFile(),a=c.pending.shift(),b=function(a){return a?(d=e(a,f.chunked?f.chunkSize:0),c._act=d,d.fetch()):null},g(a)?a[a.pipe?"pipe":"then"](b):b(a)):void 0},_prepareNextFile:function(){var a,b=this,c=b.request("fetch-file"),d=b.pending;c&&(a=b.request("before-send-file",c,function(){return c.getStatus()===h.QUEUED?(b.owner.trigger("uploadStart",c),c.setStatus(h.PROGRESS),c):b._finishFile(c)}),a.done(function(){var b=f.inArray(a,d);~b&&d.splice(b,1,c)}),a.fail(function(a){c.setStatus(h.ERROR,a),b.owner.trigger("uploadError",c,a),b.owner.trigger("uploadComplete",c)}),d.push(a))},_popBlock:function(a){var b=f.inArray(a,this.pool);this.pool.splice(b,1),a.file.remaning--,this.remaning--},_startSend:function(b){var c,d=this,e=b.file;d.pool.push(b),d.remaning++,b.blob=1===b.chunks?e.source:e.source.slice(b.start,b.end),c=d.request("before-send",b,function(){e.getStatus()===h.PROGRESS?d._doSend(b):(d._popBlock(b),a.nextTick(d.__tick))}),c.fail(function(){1===e.remaning?d._finishFile(e).always(function(){b.percentage=1,d._popBlock(b),d.owner.trigger("uploadComplete",e),a.nextTick(d.__tick)}):(b.percentage=1,d._popBlock(b),a.nextTick(d.__tick))})},_doSend:function(b){var c,e,g=this,i=g.owner,j=g.options,k=b.file,l=new d(j),m=f.extend({},j.formData),n=f.extend({},j.headers);b.transport=l,l.on("destroy",function(){delete b.transport,g._popBlock(b),a.nextTick(g.__tick)}),l.on("progress",function(a){var c=0,d=0;c=b.percentage=a,b.chunks>1&&(f.each(k.blocks,function(a,b){d+=(b.percentage||0)*(b.end-b.start)}),c=d/k.size),i.trigger("uploadProgress",k,c||0)}),c=function(a){var c;return e=l.getResponseAsJson()||{},e._raw=l.getResponse(),c=function(b){a=b},i.trigger("uploadAccept",b,e,c)||(a=a||"server"),a},l.on("error",function(a,d){b.retried=b.retried||0,b.chunks>1&&~"http,abort".indexOf(a)&&b.retried<j.chunkRetry?(b.retried++,l.send()):(d||"server"!==a||(a=c(a)),k.setStatus(h.ERROR,a),i.trigger("uploadError",k,a),i.trigger("uploadComplete",k))}),l.on("load",function(){var a;return(a=c())?void l.trigger("error",a,!0):void(1===k.remaning?g._finishFile(k,e):l.destroy())}),m=f.extend(m,{id:k.id,name:k.name,type:k.type,lastModifiedDate:k.lastModifiedDate,size:k.size}),b.chunks>1&&f.extend(m,{chunks:b.chunks,chunk:b.chunk}),i.trigger("uploadBeforeSend",b,m,n),l.appendBlob(j.fileVal,b.blob,k.name),l.append(m),l.setRequestHeader(n),l.send()},_finishFile:function(a,b,c){var d=this.owner;return d.request("after-send-file",arguments,function(){a.setStatus(h.COMPLETE),d.trigger("uploadSuccess",a,b,c)}).fail(function(b){a.getStatus()===h.PROGRESS&&a.setStatus(h.ERROR,b),d.trigger("uploadError",a,b)}).always(function(){d.trigger("uploadComplete",a)})}})}),b("widgets/validator",["base","uploader","file","widgets/widget"],function(a,b,c){var d,e=a.$,f={};return d={addValidator:function(a,b){f[a]=b},removeValidator:function(a){delete f[a]}},b.register({init:function(){var a=this;e.each(f,function(){this.call(a.owner)})}}),d.addValidator("fileNumLimit",function(){var a=this,b=a.options,c=0,d=b.fileNumLimit>>0,e=!0;d&&(a.on("beforeFileQueued",function(a){return c>=d&&e&&(e=!1,this.trigger("error","Q_EXCEED_NUM_LIMIT",d,a),setTimeout(function(){e=!0},1)),c>=d?!1:!0}),a.on("fileQueued",function(){c++}),a.on("fileDequeued",function(){c--}),a.on("uploadFinished",function(){c=0}))}),d.addValidator("fileSizeLimit",function(){var a=this,b=a.options,c=0,d=b.fileSizeLimit>>0,e=!0;d&&(a.on("beforeFileQueued",function(a){var b=c+a.size>d;return b&&e&&(e=!1,this.trigger("error","Q_EXCEED_SIZE_LIMIT",d,a),setTimeout(function(){e=!0},1)),b?!1:!0}),a.on("fileQueued",function(a){c+=a.size}),a.on("fileDequeued",function(a){c-=a.size}),a.on("uploadFinished",function(){c=0}))}),d.addValidator("fileSingleSizeLimit",function(){var a=this,b=a.options,d=b.fileSingleSizeLimit;d&&a.on("beforeFileQueued",function(a){return a.size>d?(a.setStatus(c.Status.INVALID,"exceed_size"),this.trigger("error","F_EXCEED_SIZE",a),!1):void 0})}),d.addValidator("duplicate",function(){function a(a){for(var b,c=0,d=0,e=a.length;e>d;d++)b=a.charCodeAt(d),c=b+(c<<6)+(c<<16)-c;return c}var b=this,c=b.options,d={};c.duplicate||(b.on("beforeFileQueued",function(b){var c=b.__hash||(b.__hash=a(b.name+b.size+b.lastModifiedDate));return d[c]?(this.trigger("error","F_DUPLICATE",b),!1):void 0}),b.on("fileQueued",function(a){var b=a.__hash;b&&(d[b]=!0)}),b.on("fileDequeued",function(a){var b=a.__hash;b&&delete d[b]}))}),d}),b("runtime/compbase",[],function(){function a(a,b){this.owner=a,this.options=a.options,this.getRuntime=function(){return b},this.getRuid=function(){return b.uid},this.trigger=function(){return a.trigger.apply(a,arguments)}}return a}),b("runtime/html5/runtime",["base","runtime/runtime","runtime/compbase"],function(b,c,d){function e(){var a={},d=this,e=this.destory;c.apply(d,arguments),d.type=f,d.exec=function(c,e){var f,h=this,i=h.uid,j=b.slice(arguments,2);return g[c]&&(f=a[i]=a[i]||new g[c](h,d),f[e])?f[e].apply(f,j):void 0},d.destory=function(){return e&&e.apply(this,arguments)}}var f="html5",g={};return b.inherits(c,{constructor:e,init:function(){var a=this;setTimeout(function(){a.trigger("ready")},1)}}),e.register=function(a,c){var e=g[a]=b.inherits(d,c);return e},a.Blob&&a.FileReader&&a.DataView&&c.addRuntime(f,e),e}),b("runtime/html5/blob",["runtime/html5/runtime","lib/blob"],function(a,b){return a.register("Blob",{slice:function(a,c){var d=this.owner.source,e=d.slice||d.webkitSlice||d.mozSlice;return d=e.call(d,a,c),new b(this.getRuid(),d)}})}),b("runtime/html5/dnd",["base","runtime/html5/runtime","lib/file"],function(a,b,c){var d=a.$,e="webuploader-dnd-";return b.register("DragAndDrop",{init:function(){var b=this.elem=this.options.container;this.dragEnterHandler=a.bindFn(this._dragEnterHandler,this),this.dragOverHandler=a.bindFn(this._dragOverHandler,this),this.dragLeaveHandler=a.bindFn(this._dragLeaveHandler,this),this.dropHandler=a.bindFn(this._dropHandler,this),this.dndOver=!1,b.on("dragenter",this.dragEnterHandler),b.on("dragover",this.dragOverHandler),b.on("dragleave",this.dragLeaveHandler),b.on("drop",this.dropHandler),this.options.disableGlobalDnd&&(d(document).on("dragover",this.dragOverHandler),d(document).on("drop",this.dropHandler))},_dragEnterHandler:function(a){var b,c=this,d=c._denied||!1;return a=a.originalEvent||a,c.dndOver||(c.dndOver=!0,b=a.dataTransfer.items,b&&b.length&&(c._denied=d=!c.trigger("accept",b)),c.elem.addClass(e+"over"),c.elem[d?"addClass":"removeClass"](e+"denied")),a.dataTransfer.dropEffect=d?"none":"copy",!1},_dragOverHandler:function(a){var b=this.elem.parent().get(0);return b&&!d.contains(b,a.currentTarget)?!1:(clearTimeout(this._leaveTimer),this._dragEnterHandler.call(this,a),!1)},_dragLeaveHandler:function(){var a,b=this;return a=function(){b.dndOver=!1,b.elem.removeClass(e+"over "+e+"denied")},clearTimeout(b._leaveTimer),b._leaveTimer=setTimeout(a,100),!1},_dropHandler:function(a){var b=this,f=b.getRuid(),g=b.elem.parent().get(0);return g&&!d.contains(g,a.currentTarget)?!1:(b._getTansferFiles(a,function(a){b.trigger("drop",d.map(a,function(a){return new c(f,a)}))}),b.dndOver=!1,b.elem.removeClass(e+"over"),!1)},_getTansferFiles:function(b,c){var d,e,f,g,h,i,j,k,l=[],m=[];for(b=b.originalEvent||b,f=b.dataTransfer,d=f.items,e=f.files,k=!(!d||!d[0].webkitGetAsEntry),i=0,j=e.length;j>i;i++)g=e[i],h=d&&d[i],k&&h.webkitGetAsEntry().isDirectory?m.push(this._traverseDirectoryTree(h.webkitGetAsEntry(),l)):l.push(g);a.when.apply(a,m).done(function(){l.length&&c(l)})},_traverseDirectoryTree:function(b,c){var d=a.Deferred(),e=this;return b.isFile?b.file(function(a){c.push(a),d.resolve()}):b.isDirectory&&b.createReader().readEntries(function(b){var f,g=b.length,h=[],i=[];for(f=0;g>f;f++)h.push(e._traverseDirectoryTree(b[f],i));a.when.apply(a,h).then(function(){c.push.apply(c,i),d.resolve()},d.reject)}),d.promise()},destroy:function(){var a=this.elem;a.off("dragenter",this.dragEnterHandler),a.off("dragover",this.dragEnterHandler),a.off("dragleave",this.dragLeaveHandler),a.off("drop",this.dropHandler),this.options.disableGlobalDnd&&(d(document).off("dragover",this.dragOverHandler),d(document).off("drop",this.dropHandler))}})}),b("runtime/html5/filepaste",["base","runtime/html5/runtime","lib/file"],function(a,b,c){return b.register("FilePaste",{init:function(){var b,c,d,e,f=this.options,g=this.elem=f.container,h=".*";if(f.accept){for(b=[],c=0,d=f.accept.length;d>c;c++)e=f.accept[c].mimeTypes,e&&b.push(e);b.length&&(h=b.join(","),h=h.replace(/,/g,"|").replace(/\*/g,".*"))
2
+ }this.accept=h=new RegExp(h,"i"),this.hander=a.bindFn(this._pasteHander,this),g.on("paste",this.hander)},_pasteHander:function(a){var b,d,e,f,g,h=[],i=this.getRuid();for(a=a.originalEvent||a,b=a.clipboardData.items,f=0,g=b.length;g>f;f++)d=b[f],"file"===d.kind&&(e=d.getAsFile())&&h.push(new c(i,e));h.length&&(a.preventDefault(),a.stopPropagation(),this.trigger("paste",h))},destroy:function(){this.elem.off("paste",this.hander)}})}),b("runtime/html5/filepicker",["base","runtime/html5/runtime"],function(a,b){var c=a.$;return b.register("FilePicker",{init:function(){var a,b,d,e,f=this.getRuntime().getContainer(),g=this,h=g.owner,i=g.options,j=c(document.createElement("label")),k=c(document.createElement("input"));if(k.attr("type","file"),k.attr("name",i.name),k.addClass("webuploader-element-invisible"),j.on("click",function(){k.trigger("click")}),j.css({opacity:0,width:"100%",height:"100%",display:"block",cursor:"pointer",background:"#ffffff"}),i.multiple&&k.attr("multiple","multiple"),i.accept&&i.accept.length>0){for(a=[],b=0,d=i.accept.length;d>b;b++)a.push(i.accept[b].mimeTypes);k.attr("accept",a.join(","))}f.append(k),f.append(j),e=function(a){h.trigger(a.type)},k.on("change",function(a){var b,d=arguments.callee;g.files=a.target.files,b=this.cloneNode(!0),this.parentNode.replaceChild(b,this),k.off(),k=c(b).on("change",d).on("mouseenter mouseleave",e),h.trigger("change")}),j.on("mouseenter mouseleave",e)},getFiles:function(){return this.files},destroy:function(){}})}),b("runtime/html5/transport",["base","runtime/html5/runtime"],function(a,b){var c=a.noop,d=a.$;return b.register("Transport",{init:function(){this._status=0,this._response=null},send:function(){var b,c,e,f=this.owner,g=this.options,h=this._initAjax(),i=f._blob,j=g.server;g.sendAsBinary?(j+=(/\?/.test(j)?"&":"?")+d.param(f._formData),c=i.getSource()):(b=new FormData,d.each(f._formData,function(a,c){b.append(a,c)}),b.append(g.fileVal,i.getSource(),g.filename||f._formData.name||"")),g.withCredentials&&"withCredentials"in h?(h.open(g.method,j,!0),h.withCredentials=!0):h.open(g.method,j),this._setRequestHeader(h,g.headers),c?(h.overrideMimeType("application/octet-stream"),a.os.android?(e=new FileReader,e.onload=function(){h.send(this.result),e=e.onload=null},e.readAsArrayBuffer(c)):h.send(c)):h.send(b)},getResponse:function(){return this._response},getResponseAsJson:function(){return this._parseJson(this._response)},getStatus:function(){return this._status},abort:function(){var a=this._xhr;a&&(a.upload.onprogress=c,a.onreadystatechange=c,a.abort(),this._xhr=a=null)},destroy:function(){this.abort()},_initAjax:function(){var a=this,b=new XMLHttpRequest,d=this.options;return!d.withCredentials||"withCredentials"in b||"undefined"==typeof XDomainRequest||(b=new XDomainRequest),b.upload.onprogress=function(b){var c=0;return b.lengthComputable&&(c=b.loaded/b.total),a.trigger("progress",c)},b.onreadystatechange=function(){return 4===b.readyState?(b.upload.onprogress=c,b.onreadystatechange=c,a._xhr=null,a._status=b.status,b.status>=200&&b.status<300?(a._response=b.responseText,a.trigger("load")):b.status>=500&&b.status<600?(a._response=b.responseText,a.trigger("error","server")):a.trigger("error",a._status?"http":"abort")):void 0},a._xhr=b,b},_setRequestHeader:function(a,b){d.each(b,function(b,c){a.setRequestHeader(b,c)})},_parseJson:function(a){var b;try{b=JSON.parse(a)}catch(c){b={}}return b}})}),b("runtime/flash/runtime",["base","runtime/runtime","runtime/compbase"],function(b,c,d){function e(){var a;try{a=navigator.plugins["Shockwave Flash"],a=a.description}catch(b){try{a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version")}catch(c){a="0.0"}}return a=a.match(/\d+/g),parseFloat(a[0]+"."+a[1],10)}function f(){function d(a,b){var c,d,e=a.type||a;c=e.split("::"),d=c[0],e=c[1],"Ready"===e&&d===j.uid?j.trigger("ready"):f[d]&&f[d].trigger(e.toLowerCase(),a,b)}var e={},f={},g=this.destory,j=this,k=b.guid("webuploader_");c.apply(j,arguments),j.type=h,j.exec=function(a,c){var d,g=this,h=g.uid,k=b.slice(arguments,2);return f[h]=g,i[a]&&(e[h]||(e[h]=new i[a](g,j)),d=e[h],d[c])?d[c].apply(d,k):j.flashExec.apply(g,arguments)},a[k]=function(){var a=arguments;setTimeout(function(){d.apply(null,a)},1)},this.jsreciver=k,this.destory=function(){return g&&g.apply(this,arguments)},this.flashExec=function(a,c){var d=j.getFlash(),e=b.slice(arguments,2);return d.exec(this.uid,a,c,e)}}var g=b.$,h="flash",i={};return b.inherits(c,{constructor:f,init:function(){var a,c=this.getContainer(),d=this.options;c.css({position:"absolute",top:"-8px",left:"-8px",width:"9px",height:"9px",overflow:"hidden"}),a='<object id="'+this.uid+'" type="application/x-shockwave-flash" data="'+d.swf+'" ',b.browser.ie&&(a+='classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '),a+='width="100%" height="100%" style="outline:0"><param name="movie" value="'+d.swf+'" /><param name="flashvars" value="uid='+this.uid+"&jsreciver="+this.jsreciver+'" /><param name="wmode" value="transparent" /><param name="allowscriptaccess" value="always" /></object>',c.html(a)},getFlash:function(){return this._flash?this._flash:(this._flash=g("#"+this.uid).get(0),this._flash)}}),f.register=function(a,c){return c=i[a]=b.inherits(d,g.extend({flashExec:function(){var a=this.owner,b=this.getRuntime();return b.flashExec.apply(a,arguments)}},c))},e()>=11.4&&c.addRuntime(h,f),f}),b("runtime/flash/filepicker",["base","runtime/flash/runtime"],function(a,b){var c=a.$;return b.register("FilePicker",{init:function(a){var b,d,e=c.extend({},a);for(b=e.accept&&e.accept.length,d=0;b>d;d++)e.accept[d].title||(e.accept[d].title="Files");delete e.button,delete e.container,this.flashExec("FilePicker","init",e)},destroy:function(){}})}),b("runtime/flash/transport",["base","runtime/flash/runtime","runtime/client"],function(a,b,c){var d=a.$;return b.register("Transport",{init:function(){this._status=0,this._response=null,this._responseJson=null},send:function(){var a,b=this.owner,c=this.options,e=this._initAjax(),f=b._blob,g=c.server;e.connectRuntime(f.ruid),c.sendAsBinary?(g+=(/\?/.test(g)?"&":"?")+d.param(b._formData),a=f.uid):(d.each(b._formData,function(a,b){e.exec("append",a,b)}),e.exec("appendBlob",c.fileVal,f.uid,c.filename||b._formData.name||"")),this._setRequestHeader(e,c.headers),e.exec("send",{method:c.method,url:g},a)},getStatus:function(){return this._status},getResponse:function(){return this._response},getResponseAsJson:function(){return this._responseJson},abort:function(){var a=this._xhr;a&&(a.exec("abort"),a.destroy(),this._xhr=a=null)},destroy:function(){this.abort()},_initAjax:function(){var a=this,b=new c("XMLHttpRequest");return b.on("uploadprogress progress",function(b){return a.trigger("progress",b.loaded/b.total)}),b.on("load",function(){var c=b.exec("getStatus"),d="";return b.off(),a._xhr=null,c>=200&&300>c?(a._response=b.exec("getResponse"),a._responseJson=b.exec("getResponseAsJson")):c>=500&&600>c?(a._response=b.exec("getResponse"),a._responseJson=b.exec("getResponseAsJson"),d="server"):d="http",b.destroy(),b=null,d?a.trigger("error",d):a.trigger("load")}),b.on("error",function(){b.off(),a._xhr=null,a.trigger("error","http")}),a._xhr=b,b},_setRequestHeader:function(a,b){d.each(b,function(b,c){a.exec("setRequestHeader",b,c)})}})}),b("preset/withoutimage",["base","widgets/filednd","widgets/filepaste","widgets/filepicker","widgets/queue","widgets/runtime","widgets/upload","widgets/validator","runtime/html5/blob","runtime/html5/dnd","runtime/html5/filepaste","runtime/html5/filepicker","runtime/html5/transport","runtime/flash/filepicker","runtime/flash/transport"],function(a){return a}),b("webuploader",["preset/withoutimage"],function(a){return a}),c("webuploader")});
@@ -0,0 +1 @@
1
+ (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){var FilterCSS=require("cssfilter").FilterCSS;var _=require("./util");function getDefaultWhiteList(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}}var defaultCSSFilter=new FilterCSS;function onTag(tag,html,options){}function onIgnoreTag(tag,html,options){}function onTagAttr(tag,name,value){}function onIgnoreTagAttr(tag,name,value){}function escapeHtml(html){return html.replace(REGEXP_LT,"&lt;").replace(REGEXP_GT,"&gt;")}function safeAttrValue(tag,name,value,cssFilter){cssFilter=cssFilter||defaultCSSFilter;value=friendlyAttrValue(value);if(name==="href"||name==="src"){value=_.trim(value);if(value==="#")return"#";if(!(value.substr(0,7)==="http://"||value.substr(0,8)==="https://"||value.substr(0,7)==="mailto:"||value[0]==="#"||value[0]==="/")){return""}}else if(name==="background"){REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex=0;if(REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)){return""}}else if(name==="style"){REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex=0;if(REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)){return""}REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex=0;if(REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)){REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex=0;if(REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)){return""}}value=cssFilter.process(value)}value=escapeAttrValue(value);return value}var REGEXP_LT=/</g;var REGEXP_GT=/>/g;var REGEXP_QUOTE=/"/g;var REGEXP_QUOTE_2=/&quot;/g;var REGEXP_ATTR_VALUE_1=/&#([a-zA-Z0-9]*);?/gim;var REGEXP_ATTR_VALUE_COLON=/&colon;?/gim;var REGEXP_ATTR_VALUE_NEWLINE=/&newline;?/gim;var REGEXP_DEFAULT_ON_TAG_ATTR_3=/\/\*|\*\//gm;var REGEXP_DEFAULT_ON_TAG_ATTR_4=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi;var REGEXP_DEFAULT_ON_TAG_ATTR_5=/^[\s"'`]*(d\s*a\s*t\s*a\s*)\:/gi;var REGEXP_DEFAULT_ON_TAG_ATTR_6=/^[\s"'`]*(d\s*a\s*t\s*a\s*)\:\s*image\//gi;var REGEXP_DEFAULT_ON_TAG_ATTR_7=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi;var REGEXP_DEFAULT_ON_TAG_ATTR_8=/u\s*r\s*l\s*\(.*/gi;function escapeQuote(str){return str.replace(REGEXP_QUOTE,"&quot;")}function unescapeQuote(str){return str.replace(REGEXP_QUOTE_2,'"')}function escapeHtmlEntities(str){return str.replace(REGEXP_ATTR_VALUE_1,function replaceUnicode(str,code){return code[0]==="x"||code[0]==="X"?String.fromCharCode(parseInt(code.substr(1),16)):String.fromCharCode(parseInt(code,10))})}function escapeDangerHtml5Entities(str){return str.replace(REGEXP_ATTR_VALUE_COLON,":").replace(REGEXP_ATTR_VALUE_NEWLINE," ")}function clearNonPrintableCharacter(str){var str2="";for(var i=0,len=str.length;i<len;i++){str2+=str.charCodeAt(i)<32?" ":str.charAt(i)}return _.trim(str2)}function friendlyAttrValue(str){str=unescapeQuote(str);str=escapeHtmlEntities(str);str=escapeDangerHtml5Entities(str);str=clearNonPrintableCharacter(str);return str}function escapeAttrValue(str){str=escapeQuote(str);str=escapeHtml(str);return str}function onIgnoreTagStripAll(){return""}function StripTagBody(tags,next){if(typeof next!=="function"){next=function(){}}var isRemoveAllTag=!Array.isArray(tags);function isRemoveTag(tag){if(isRemoveAllTag)return true;return _.indexOf(tags,tag)!==-1}var removeList=[];var posStart=false;return{onIgnoreTag:function(tag,html,options){if(isRemoveTag(tag)){if(options.isClosing){var ret="[/removed]";var end=options.position+ret.length;removeList.push([posStart!==false?posStart:options.position,end]);posStart=false;return ret}else{if(!posStart){posStart=options.position}return"[removed]"}}else{return next(tag,html,options)}},remove:function(html){var rethtml="";var lastPos=0;_.forEach(removeList,function(pos){rethtml+=html.slice(lastPos,pos[0]);lastPos=pos[1]});rethtml+=html.slice(lastPos);return rethtml}}}function stripCommentTag(html){return html.replace(STRIP_COMMENT_TAG_REGEXP,"")}var STRIP_COMMENT_TAG_REGEXP=/<!--[\s\S]*?-->/g;function stripBlankChar(html){var chars=html.split("");chars=chars.filter(function(char){var c=char.charCodeAt(0);if(c===127)return false;if(c<=31){if(c===10||c===13)return true;return false}return true});return chars.join("")}exports.whiteList=getDefaultWhiteList();exports.getDefaultWhiteList=getDefaultWhiteList;exports.onTag=onTag;exports.onIgnoreTag=onIgnoreTag;exports.onTagAttr=onTagAttr;exports.onIgnoreTagAttr=onIgnoreTagAttr;exports.safeAttrValue=safeAttrValue;exports.escapeHtml=escapeHtml;exports.escapeQuote=escapeQuote;exports.unescapeQuote=unescapeQuote;exports.escapeHtmlEntities=escapeHtmlEntities;exports.escapeDangerHtml5Entities=escapeDangerHtml5Entities;exports.clearNonPrintableCharacter=clearNonPrintableCharacter;exports.friendlyAttrValue=friendlyAttrValue;exports.escapeAttrValue=escapeAttrValue;exports.onIgnoreTagStripAll=onIgnoreTagStripAll;exports.StripTagBody=StripTagBody;exports.stripCommentTag=stripCommentTag;exports.stripBlankChar=stripBlankChar;exports.cssFilter=defaultCSSFilter},{"./util":4,cssfilter:8}],2:[function(require,module,exports){var DEFAULT=require("./default");var parser=require("./parser");var FilterXSS=require("./xss");function filterXSS(html,options){var xss=new FilterXSS(options);return xss.process(html)}exports=module.exports=filterXSS;exports.FilterXSS=FilterXSS;for(var i in DEFAULT)exports[i]=DEFAULT[i];for(var i in parser)exports[i]=parser[i];if(typeof window!=="undefined"){window.filterXSS=module.exports}},{"./default":1,"./parser":3,"./xss":5}],3:[function(require,module,exports){var _=require("./util");function getTagName(html){var i=html.indexOf(" ");if(i===-1){var tagName=html.slice(1,-1)}else{var tagName=html.slice(1,i+1)}tagName=_.trim(tagName).toLowerCase();if(tagName.slice(0,1)==="/")tagName=tagName.slice(1);if(tagName.slice(-1)==="/")tagName=tagName.slice(0,-1);return tagName}function isClosing(html){return html.slice(0,2)==="</"}function parseTag(html,onTag,escapeHtml){"user strict";var rethtml="";var lastPos=0;var tagStart=false;var quoteStart=false;var currentPos=0;var len=html.length;var currentHtml="";var currentTagName="";for(currentPos=0;currentPos<len;currentPos++){var c=html.charAt(currentPos);if(tagStart===false){if(c==="<"){tagStart=currentPos;continue}}else{if(quoteStart===false){if(c==="<"){rethtml+=escapeHtml(html.slice(lastPos,currentPos));tagStart=currentPos;lastPos=currentPos;continue}if(c===">"){rethtml+=escapeHtml(html.slice(lastPos,tagStart));currentHtml=html.slice(tagStart,currentPos+1);currentTagName=getTagName(currentHtml);rethtml+=onTag(tagStart,rethtml.length,currentTagName,currentHtml,isClosing(currentHtml));lastPos=currentPos+1;tagStart=false;continue}if((c==='"'||c==="'")&&html.charAt(currentPos-1)==="="){quoteStart=c;continue}}else{if(c===quoteStart){quoteStart=false;continue}}}}if(lastPos<html.length){rethtml+=escapeHtml(html.substr(lastPos))}return rethtml}var REGEXP_ATTR_NAME=/[^a-zA-Z0-9_:\.\-]/gim;function parseAttr(html,onAttr){"user strict";var lastPos=0;var retAttrs=[];var tmpName=false;var len=html.length;function addAttr(name,value){name=_.trim(name);name=name.replace(REGEXP_ATTR_NAME,"").toLowerCase();if(name.length<1)return;var ret=onAttr(name,value||"");if(ret)retAttrs.push(ret)}for(var i=0;i<len;i++){var c=html.charAt(i);var v,j;if(tmpName===false&&c==="="){tmpName=html.slice(lastPos,i);lastPos=i+1;continue}if(tmpName!==false){if(i===lastPos&&(c==='"'||c==="'")&&html.charAt(i-1)==="="){j=html.indexOf(c,i+1);if(j===-1){break}else{v=_.trim(html.slice(lastPos+1,j));addAttr(tmpName,v);tmpName=false;i=j;lastPos=i+1;continue}}}if(c===" "){if(tmpName===false){j=findNextEqual(html,i);if(j===-1){v=_.trim(html.slice(lastPos,i));addAttr(v);tmpName=false;lastPos=i+1;continue}else{i=j-1;continue}}else{j=findBeforeEqual(html,i-1);if(j===-1){v=_.trim(html.slice(lastPos,i));v=stripQuoteWrap(v);addAttr(tmpName,v);tmpName=false;lastPos=i+1;continue}else{continue}}}}if(lastPos<html.length){if(tmpName===false){addAttr(html.slice(lastPos))}else{addAttr(tmpName,stripQuoteWrap(_.trim(html.slice(lastPos))))}}return _.trim(retAttrs.join(" "))}function findNextEqual(str,i){for(;i<str.length;i++){var c=str[i];if(c===" ")continue;if(c==="=")return i;return-1}}function findBeforeEqual(str,i){for(;i>0;i--){var c=str[i];if(c===" ")continue;if(c==="=")return i;return-1}}function isQuoteWrapString(text){if(text[0]==='"'&&text[text.length-1]==='"'||text[0]==="'"&&text[text.length-1]==="'"){return true}else{return false}}function stripQuoteWrap(text){if(isQuoteWrapString(text)){return text.substr(1,text.length-2)}else{return text}}exports.parseTag=parseTag;exports.parseAttr=parseAttr},{"./util":4}],4:[function(require,module,exports){module.exports={indexOf:function(arr,item){var i,j;if(Array.prototype.indexOf){return arr.indexOf(item)}for(i=0,j=arr.length;i<j;i++){if(arr[i]===item){return i}}return-1},forEach:function(arr,fn,scope){var i,j;if(Array.prototype.forEach){return arr.forEach(fn,scope)}for(i=0,j=arr.length;i<j;i++){fn.call(scope,arr[i],i,arr)}},trim:function(str){if(String.prototype.trim){return str.trim()}return str.replace(/(^\s*)|(\s*$)/g,"")}}},{}],5:[function(require,module,exports){var FilterCSS=require("cssfilter").FilterCSS;var DEFAULT=require("./default");var parser=require("./parser");var parseTag=parser.parseTag;var parseAttr=parser.parseAttr;var _=require("./util");function isNull(obj){return obj===undefined||obj===null}function getAttrs(html){var i=html.indexOf(" ");if(i===-1){return{html:"",closing:html[html.length-2]==="/"}}html=_.trim(html.slice(i+1,-1));var isClosing=html[html.length-1]==="/";if(isClosing)html=_.trim(html.slice(0,-1));return{html:html,closing:isClosing}}function FilterXSS(options){options=options||{};if(options.stripIgnoreTag){if(options.onIgnoreTag){console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time')}options.onIgnoreTag=DEFAULT.onIgnoreTagStripAll}options.whiteList=options.whiteList||DEFAULT.whiteList;options.onTag=options.onTag||DEFAULT.onTag;options.onTagAttr=options.onTagAttr||DEFAULT.onTagAttr;options.onIgnoreTag=options.onIgnoreTag||DEFAULT.onIgnoreTag;options.onIgnoreTagAttr=options.onIgnoreTagAttr||DEFAULT.onIgnoreTagAttr;options.safeAttrValue=options.safeAttrValue||DEFAULT.safeAttrValue;options.escapeHtml=options.escapeHtml||DEFAULT.escapeHtml;options.css=options.css||{};this.options=options;this.cssFilter=new FilterCSS(options.css)}FilterXSS.prototype.process=function(html){html=html||"";html=html.toString();if(!html)return"";var me=this;var options=me.options;var whiteList=options.whiteList;var onTag=options.onTag;var onIgnoreTag=options.onIgnoreTag;var onTagAttr=options.onTagAttr;var onIgnoreTagAttr=options.onIgnoreTagAttr;var safeAttrValue=options.safeAttrValue;var escapeHtml=options.escapeHtml;var cssFilter=me.cssFilter;if(options.stripBlankChar){html=DEFAULT.stripBlankChar(html)}if(!options.allowCommentTag){html=DEFAULT.stripCommentTag(html)}var stripIgnoreTagBody=false;if(options.stripIgnoreTagBody){var stripIgnoreTagBody=DEFAULT.StripTagBody(options.stripIgnoreTagBody,onIgnoreTag);onIgnoreTag=stripIgnoreTagBody.onIgnoreTag}var retHtml=parseTag(html,function(sourcePosition,position,tag,html,isClosing){var info={sourcePosition:sourcePosition,position:position,isClosing:isClosing,isWhite:tag in whiteList};var ret=onTag(tag,html,info);if(!isNull(ret))return ret;if(info.isWhite){if(info.isClosing){return"</"+tag+">"}var attrs=getAttrs(html);var whiteAttrList=whiteList[tag];var attrsHtml=parseAttr(attrs.html,function(name,value){var isWhiteAttr=_.indexOf(whiteAttrList,name)!==-1;var ret=onTagAttr(tag,name,value,isWhiteAttr);if(!isNull(ret))return ret;if(isWhiteAttr){value=safeAttrValue(tag,name,value,cssFilter);if(value){return name+'="'+value+'"'}else{return name}}else{var ret=onIgnoreTagAttr(tag,name,value,isWhiteAttr);if(!isNull(ret))return ret;return}});var html="<"+tag;if(attrsHtml)html+=" "+attrsHtml;if(attrs.closing)html+=" /";html+=">";return html}else{var ret=onIgnoreTag(tag,html,info);if(!isNull(ret))return ret;return escapeHtml(html)}},escapeHtml);if(stripIgnoreTagBody){retHtml=stripIgnoreTagBody.remove(retHtml)}return retHtml};module.exports=FilterXSS},{"./default":1,"./parser":3,"./util":4,cssfilter:8}],6:[function(require,module,exports){var DEFAULT=require("./default");var parseStyle=require("./parser");var _=require("./util");function isNull(obj){return obj===undefined||obj===null}function FilterCSS(options){options=options||{};options.whiteList=options.whiteList||DEFAULT.whiteList;options.onAttr=options.onAttr||DEFAULT.onAttr;options.onIgnoreAttr=options.onIgnoreAttr||DEFAULT.onIgnoreAttr;this.options=options}FilterCSS.prototype.process=function(css){css=css||"";css=css.toString();if(!css)return"";var me=this;var options=me.options;var whiteList=options.whiteList;var onAttr=options.onAttr;var onIgnoreAttr=options.onIgnoreAttr;var retCSS=parseStyle(css,function(sourcePosition,position,name,value,source){var check=whiteList[name];var isWhite=false;if(check===true)isWhite=check;else if(typeof check==="function")isWhite=check(value);else if(check instanceof RegExp)isWhite=check.test(value);if(isWhite!==true)isWhite=false;var opts={position:position,sourcePosition:sourcePosition,source:source,isWhite:isWhite};if(isWhite){var ret=onAttr(name,value,opts);if(isNull(ret)){return name+":"+value}else{return ret}}else{var ret=onIgnoreAttr(name,value,opts);if(!isNull(ret)){return ret}}});return retCSS};module.exports=FilterCSS},{"./default":7,"./parser":9,"./util":10}],7:[function(require,module,exports){function getDefaultWhiteList(){var whiteList={};whiteList["align-content"]=false;whiteList["align-items"]=false;whiteList["align-self"]=false;whiteList["alignment-adjust"]=false;whiteList["alignment-baseline"]=false;whiteList["all"]=false;whiteList["anchor-point"]=false;whiteList["animation"]=false;whiteList["animation-delay"]=false;whiteList["animation-direction"]=false;whiteList["animation-duration"]=false;whiteList["animation-fill-mode"]=false;whiteList["animation-iteration-count"]=false;whiteList["animation-name"]=false;whiteList["animation-play-state"]=false;whiteList["animation-timing-function"]=false;whiteList["azimuth"]=false;whiteList["backface-visibility"]=false;whiteList["background"]=true;whiteList["background-attachment"]=true;whiteList["background-clip"]=true;whiteList["background-color"]=true;whiteList["background-image"]=true;whiteList["background-origin"]=true;whiteList["background-position"]=true;whiteList["background-repeat"]=true;whiteList["background-size"]=true;whiteList["baseline-shift"]=false;whiteList["binding"]=false;whiteList["bleed"]=false;whiteList["bookmark-label"]=false;whiteList["bookmark-level"]=false;whiteList["bookmark-state"]=false;whiteList["border"]=true;whiteList["border-bottom"]=true;whiteList["border-bottom-color"]=true;whiteList["border-bottom-left-radius"]=true;whiteList["border-bottom-right-radius"]=true;whiteList["border-bottom-style"]=true;whiteList["border-bottom-width"]=true;whiteList["border-collapse"]=true;whiteList["border-color"]=true;whiteList["border-image"]=true;whiteList["border-image-outset"]=true;whiteList["border-image-repeat"]=true;whiteList["border-image-slice"]=true;whiteList["border-image-source"]=true;whiteList["border-image-width"]=true;whiteList["border-left"]=true;whiteList["border-left-color"]=true;whiteList["border-left-style"]=true;whiteList["border-left-width"]=true;whiteList["border-radius"]=true;whiteList["border-right"]=true;whiteList["border-right-color"]=true;whiteList["border-right-style"]=true;whiteList["border-right-width"]=true;whiteList["border-spacing"]=true;whiteList["border-style"]=true;whiteList["border-top"]=true;whiteList["border-top-color"]=true;whiteList["border-top-left-radius"]=true;whiteList["border-top-right-radius"]=true;whiteList["border-top-style"]=true;whiteList["border-top-width"]=true;whiteList["border-width"]=true;whiteList["bottom"]=false;whiteList["box-decoration-break"]=true;whiteList["box-shadow"]=true;whiteList["box-sizing"]=true;whiteList["box-snap"]=true;whiteList["box-suppress"]=true;whiteList["break-after"]=true;whiteList["break-before"]=true;whiteList["break-inside"]=true;whiteList["caption-side"]=false;whiteList["chains"]=false;whiteList["clear"]=true;whiteList["clip"]=false;whiteList["clip-path"]=false;whiteList["clip-rule"]=false;whiteList["color"]=true;whiteList["color-interpolation-filters"]=true;whiteList["column-count"]=false;whiteList["column-fill"]=false;whiteList["column-gap"]=false;whiteList["column-rule"]=false;whiteList["column-rule-color"]=false;whiteList["column-rule-style"]=false;whiteList["column-rule-width"]=false;whiteList["column-span"]=false;whiteList["column-width"]=false;whiteList["columns"]=false;whiteList["contain"]=false;whiteList["content"]=false;whiteList["counter-increment"]=false;whiteList["counter-reset"]=false;whiteList["counter-set"]=false;whiteList["crop"]=false;whiteList["cue"]=false;whiteList["cue-after"]=false;whiteList["cue-before"]=false;whiteList["cursor"]=false;whiteList["direction"]=false;whiteList["display"]=true;whiteList["display-inside"]=true;whiteList["display-list"]=true;whiteList["display-outside"]=true;whiteList["dominant-baseline"]=false;whiteList["elevation"]=false;whiteList["empty-cells"]=false;whiteList["filter"]=false;whiteList["flex"]=false;whiteList["flex-basis"]=false;whiteList["flex-direction"]=false;whiteList["flex-flow"]=false;whiteList["flex-grow"]=false;whiteList["flex-shrink"]=false;whiteList["flex-wrap"]=false;whiteList["float"]=false;whiteList["float-offset"]=false;whiteList["flood-color"]=false;whiteList["flood-opacity"]=false;whiteList["flow-from"]=false;whiteList["flow-into"]=false;whiteList["font"]=true;whiteList["font-family"]=true;whiteList["font-feature-settings"]=true;whiteList["font-kerning"]=true;whiteList["font-language-override"]=true;whiteList["font-size"]=true;whiteList["font-size-adjust"]=true;whiteList["font-stretch"]=true;whiteList["font-style"]=true;whiteList["font-synthesis"]=true;whiteList["font-variant"]=true;whiteList["font-variant-alternates"]=true;whiteList["font-variant-caps"]=true;whiteList["font-variant-east-asian"]=true;whiteList["font-variant-ligatures"]=true;whiteList["font-variant-numeric"]=true;whiteList["font-variant-position"]=true;whiteList["font-weight"]=true;whiteList["grid"]=false;whiteList["grid-area"]=false;whiteList["grid-auto-columns"]=false;whiteList["grid-auto-flow"]=false;whiteList["grid-auto-rows"]=false;whiteList["grid-column"]=false;whiteList["grid-column-end"]=false;whiteList["grid-column-start"]=false;whiteList["grid-row"]=false;whiteList["grid-row-end"]=false;whiteList["grid-row-start"]=false;whiteList["grid-template"]=false;whiteList["grid-template-areas"]=false;whiteList["grid-template-columns"]=false;whiteList["grid-template-rows"]=false;whiteList["hanging-punctuation"]=false;whiteList["height"]=true;whiteList["hyphens"]=false;whiteList["icon"]=false;whiteList["image-orientation"]=false;whiteList["image-resolution"]=false;whiteList["ime-mode"]=false;whiteList["initial-letters"]=false;whiteList["inline-box-align"]=false;whiteList["justify-content"]=false;whiteList["justify-items"]=false;whiteList["justify-self"]=false;whiteList["left"]=false;whiteList["letter-spacing"]=true;whiteList["lighting-color"]=true;whiteList["line-box-contain"]=false;whiteList["line-break"]=false;whiteList["line-grid"]=false;whiteList["line-height"]=false;whiteList["line-snap"]=false;whiteList["line-stacking"]=false;whiteList["line-stacking-ruby"]=false;whiteList["line-stacking-shift"]=false;whiteList["line-stacking-strategy"]=false;whiteList["list-style"]=true;whiteList["list-style-image"]=true;whiteList["list-style-position"]=true;whiteList["list-style-type"]=true;whiteList["margin"]=true;whiteList["margin-bottom"]=true;whiteList["margin-left"]=true;whiteList["margin-right"]=true;whiteList["margin-top"]=true;whiteList["marker-offset"]=false;whiteList["marker-side"]=false;whiteList["marks"]=false;whiteList["mask"]=false;whiteList["mask-box"]=false;whiteList["mask-box-outset"]=false;whiteList["mask-box-repeat"]=false;whiteList["mask-box-slice"]=false;whiteList["mask-box-source"]=false;whiteList["mask-box-width"]=false;whiteList["mask-clip"]=false;whiteList["mask-image"]=false;whiteList["mask-origin"]=false;whiteList["mask-position"]=false;whiteList["mask-repeat"]=false;whiteList["mask-size"]=false;whiteList["mask-source-type"]=false;whiteList["mask-type"]=false;whiteList["max-height"]=true;whiteList["max-lines"]=false;whiteList["max-width"]=true;whiteList["min-height"]=true;whiteList["min-width"]=true;whiteList["move-to"]=false;whiteList["nav-down"]=false;whiteList["nav-index"]=false;whiteList["nav-left"]=false;whiteList["nav-right"]=false;whiteList["nav-up"]=false;whiteList["object-fit"]=false;whiteList["object-position"]=false;whiteList["opacity"]=false;whiteList["order"]=false;whiteList["orphans"]=false;whiteList["outline"]=false;whiteList["outline-color"]=false;whiteList["outline-offset"]=false;whiteList["outline-style"]=false;whiteList["outline-width"]=false;whiteList["overflow"]=false;whiteList["overflow-wrap"]=false;whiteList["overflow-x"]=false;whiteList["overflow-y"]=false;whiteList["padding"]=true;whiteList["padding-bottom"]=true;whiteList["padding-left"]=true;whiteList["padding-right"]=true;whiteList["padding-top"]=true;whiteList["page"]=false;whiteList["page-break-after"]=false;whiteList["page-break-before"]=false;whiteList["page-break-inside"]=false;whiteList["page-policy"]=false;whiteList["pause"]=false;whiteList["pause-after"]=false;whiteList["pause-before"]=false;whiteList["perspective"]=false;whiteList["perspective-origin"]=false;whiteList["pitch"]=false;whiteList["pitch-range"]=false;whiteList["play-during"]=false;whiteList["position"]=false;whiteList["presentation-level"]=false;whiteList["quotes"]=false;whiteList["region-fragment"]=false;whiteList["resize"]=false;whiteList["rest"]=false;whiteList["rest-after"]=false;whiteList["rest-before"]=false;whiteList["richness"]=false;whiteList["right"]=false;whiteList["rotation"]=false;whiteList["rotation-point"]=false;whiteList["ruby-align"]=false;whiteList["ruby-merge"]=false;whiteList["ruby-position"]=false;whiteList["shape-image-threshold"]=false;whiteList["shape-outside"]=false;whiteList["shape-margin"]=false;whiteList["size"]=false;whiteList["speak"]=false;whiteList["speak-as"]=false;whiteList["speak-header"]=false;whiteList["speak-numeral"]=false;whiteList["speak-punctuation"]=false;whiteList["speech-rate"]=false;whiteList["stress"]=false;whiteList["string-set"]=false;whiteList["tab-size"]=false;whiteList["table-layout"]=false;whiteList["text-align"]=true;whiteList["text-align-last"]=true;whiteList["text-combine-upright"]=true;whiteList["text-decoration"]=true;whiteList["text-decoration-color"]=true;whiteList["text-decoration-line"]=true;whiteList["text-decoration-skip"]=true;whiteList["text-decoration-style"]=true;whiteList["text-emphasis"]=true;whiteList["text-emphasis-color"]=true;whiteList["text-emphasis-position"]=true;whiteList["text-emphasis-style"]=true;whiteList["text-height"]=true;whiteList["text-indent"]=true;whiteList["text-justify"]=true;whiteList["text-orientation"]=true;whiteList["text-overflow"]=true;whiteList["text-shadow"]=true;whiteList["text-space-collapse"]=true;whiteList["text-transform"]=true;whiteList["text-underline-position"]=true;whiteList["text-wrap"]=true;whiteList["top"]=false;whiteList["transform"]=false;whiteList["transform-origin"]=false;whiteList["transform-style"]=false;whiteList["transition"]=false;whiteList["transition-delay"]=false;whiteList["transition-duration"]=false;whiteList["transition-property"]=false;whiteList["transition-timing-function"]=false;whiteList["unicode-bidi"]=false;whiteList["vertical-align"]=false;whiteList["visibility"]=false;whiteList["voice-balance"]=false;whiteList["voice-duration"]=false;whiteList["voice-family"]=false;whiteList["voice-pitch"]=false;whiteList["voice-range"]=false;whiteList["voice-rate"]=false;whiteList["voice-stress"]=false;whiteList["voice-volume"]=false;whiteList["volume"]=false;whiteList["white-space"]=false;whiteList["widows"]=false;whiteList["width"]=true;whiteList["will-change"]=false;whiteList["word-break"]=true;whiteList["word-spacing"]=true;whiteList["word-wrap"]=true;whiteList["wrap-flow"]=false;whiteList["wrap-through"]=false;whiteList["writing-mode"]=false;whiteList["z-index"]=false;return whiteList}function onAttr(name,value,options){}function onIgnoreAttr(name,value,options){}exports.whiteList=getDefaultWhiteList();exports.getDefaultWhiteList=getDefaultWhiteList;exports.onAttr=onAttr;exports.onIgnoreAttr=onIgnoreAttr},{}],8:[function(require,module,exports){var DEFAULT=require("./default");var FilterCSS=require("./css");function filterCSS(html,options){var xss=new FilterCSS(options);return xss.process(html)}exports=module.exports=filterCSS;exports.FilterCSS=FilterCSS;for(var i in DEFAULT)exports[i]=DEFAULT[i];if(typeof window!=="undefined"){window.filterCSS=module.exports}},{"./css":6,"./default":7}],9:[function(require,module,exports){var _=require("./util");function parseStyle(css,onAttr){css=_.trimRight(css);if(css[css.length-1]!==";")css+=";";var cssLength=css.length;var isParenthesisOpen=false;var lastPos=0;var i=0;var retCSS="";function addNewAttr(){if(!isParenthesisOpen){var source=_.trim(css.slice(lastPos,i));var j=source.indexOf(":");if(j!==-1){var name=_.trim(source.slice(0,j));var value=_.trim(source.slice(j+1));if(name){var ret=onAttr(lastPos,retCSS.length,name,value,source);if(ret)retCSS+=ret+"; "}}}lastPos=i+1}for(;i<cssLength;i++){var c=css[i];if(c==="/"&&css[i+1]==="*"){var j=css.indexOf("*/",i+2);if(j===-1)break;i=j+1;lastPos=i+1;isParenthesisOpen=false}else if(c==="("){isParenthesisOpen=true}else if(c===")"){isParenthesisOpen=false}else if(c===";"){if(isParenthesisOpen){}else{addNewAttr()}}else if(c==="\n"){addNewAttr()}}return _.trim(retCSS)}module.exports=parseStyle},{"./util":10}],10:[function(require,module,exports){module.exports={indexOf:function(arr,item){var i,j;if(Array.prototype.indexOf){return arr.indexOf(item)}for(i=0,j=arr.length;i<j;i++){if(arr[i]===item){return i}}return-1},forEach:function(arr,fn,scope){var i,j;if(Array.prototype.forEach){return arr.forEach(fn,scope)}for(i=0,j=arr.length;i<j;i++){fn.call(scope,arr[i],i,arr)}},trim:function(str){if(String.prototype.trim){return str.trim()}return str.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(str){if(String.prototype.trimRight){return str.trimRight()}return str.replace(/(\s*$)/g,"")}}},{}]},{},[2]);
@@ -0,0 +1,1256 @@
1
+ /*!
2
+ * ZeroClipboard
3
+ * The ZeroClipboard library provides an easy way to copy text to the clipboard using an invisible Adobe Flash movie and a JavaScript interface.
4
+ * Copyright (c) 2014 Jon Rohan, James M. Greene
5
+ * Licensed MIT
6
+ * http://zeroclipboard.org/
7
+ * v2.0.0-beta.5
8
+ */
9
+ (function(window) {
10
+ "use strict";
11
+ var _currentElement;
12
+ var _flashState = {
13
+ bridge: null,
14
+ version: "0.0.0",
15
+ pluginType: "unknown",
16
+ disabled: null,
17
+ outdated: null,
18
+ unavailable: null,
19
+ deactivated: null,
20
+ overdue: null,
21
+ ready: null
22
+ };
23
+ var _clipData = {};
24
+ var _clipDataFormatMap = null;
25
+ var _clientIdCounter = 0;
26
+ var _clientMeta = {};
27
+ var _elementIdCounter = 0;
28
+ var _elementMeta = {};
29
+ var _swfPath = function() {
30
+ var i, jsDir, tmpJsPath, jsPath, swfPath = "ZeroClipboard.swf";
31
+ if (!(document.currentScript && (jsPath = document.currentScript.src))) {
32
+ var scripts = document.getElementsByTagName("script");
33
+ if ("readyState" in scripts[0]) {
34
+ for (i = scripts.length; i--; ) {
35
+ if (scripts[i].readyState === "interactive" && (jsPath = scripts[i].src)) {
36
+ break;
37
+ }
38
+ }
39
+ } else if (document.readyState === "loading") {
40
+ jsPath = scripts[scripts.length - 1].src;
41
+ } else {
42
+ for (i = scripts.length; i--; ) {
43
+ tmpJsPath = scripts[i].src;
44
+ if (!tmpJsPath) {
45
+ jsDir = null;
46
+ break;
47
+ }
48
+ tmpJsPath = tmpJsPath.split("#")[0].split("?")[0];
49
+ tmpJsPath = tmpJsPath.slice(0, tmpJsPath.lastIndexOf("/") + 1);
50
+ if (jsDir == null) {
51
+ jsDir = tmpJsPath;
52
+ } else if (jsDir !== tmpJsPath) {
53
+ jsDir = null;
54
+ break;
55
+ }
56
+ }
57
+ if (jsDir !== null) {
58
+ jsPath = jsDir;
59
+ }
60
+ }
61
+ }
62
+ if (jsPath) {
63
+ jsPath = jsPath.split("#")[0].split("?")[0];
64
+ swfPath = jsPath.slice(0, jsPath.lastIndexOf("/") + 1) + swfPath;
65
+ }
66
+ return swfPath;
67
+ }();
68
+ var _camelizeCssPropName = function() {
69
+ var matcherRegex = /\-([a-z])/g, replacerFn = function(match, group) {
70
+ return group.toUpperCase();
71
+ };
72
+ return function(prop) {
73
+ return prop.replace(matcherRegex, replacerFn);
74
+ };
75
+ }();
76
+ var _getStyle = function(el, prop) {
77
+ var value, camelProp, tagName;
78
+ if (window.getComputedStyle) {
79
+ value = window.getComputedStyle(el, null).getPropertyValue(prop);
80
+ } else {
81
+ camelProp = _camelizeCssPropName(prop);
82
+ if (el.currentStyle) {
83
+ value = el.currentStyle[camelProp];
84
+ } else {
85
+ value = el.style[camelProp];
86
+ }
87
+ }
88
+ if (prop === "cursor") {
89
+ if (!value || value === "auto") {
90
+ tagName = el.tagName.toLowerCase();
91
+ if (tagName === "a") {
92
+ return "pointer";
93
+ }
94
+ }
95
+ }
96
+ return value;
97
+ };
98
+ var _elementMouseOver = function(event) {
99
+ if (!event) {
100
+ event = window.event;
101
+ }
102
+ var target;
103
+ if (this !== window) {
104
+ target = this;
105
+ } else if (event.target) {
106
+ target = event.target;
107
+ } else if (event.srcElement) {
108
+ target = event.srcElement;
109
+ }
110
+ ZeroClipboard.activate(target);
111
+ };
112
+ var _addEventHandler = function(element, method, func) {
113
+ if (!element || element.nodeType !== 1) {
114
+ return;
115
+ }
116
+ if (element.addEventListener) {
117
+ element.addEventListener(method, func, false);
118
+ } else if (element.attachEvent) {
119
+ element.attachEvent("on" + method, func);
120
+ }
121
+ };
122
+ var _removeEventHandler = function(element, method, func) {
123
+ if (!element || element.nodeType !== 1) {
124
+ return;
125
+ }
126
+ if (element.removeEventListener) {
127
+ element.removeEventListener(method, func, false);
128
+ } else if (element.detachEvent) {
129
+ element.detachEvent("on" + method, func);
130
+ }
131
+ };
132
+ var _addClass = function(element, value) {
133
+ if (!element || element.nodeType !== 1) {
134
+ return element;
135
+ }
136
+ if (element.classList) {
137
+ if (!element.classList.contains(value)) {
138
+ element.classList.add(value);
139
+ }
140
+ return element;
141
+ }
142
+ if (value && typeof value === "string") {
143
+ var classNames = (value || "").split(/\s+/);
144
+ if (element.nodeType === 1) {
145
+ if (!element.className) {
146
+ element.className = value;
147
+ } else {
148
+ var className = " " + element.className + " ", setClass = element.className;
149
+ for (var c = 0, cl = classNames.length; c < cl; c++) {
150
+ if (className.indexOf(" " + classNames[c] + " ") < 0) {
151
+ setClass += " " + classNames[c];
152
+ }
153
+ }
154
+ element.className = setClass.replace(/^\s+|\s+$/g, "");
155
+ }
156
+ }
157
+ }
158
+ return element;
159
+ };
160
+ var _removeClass = function(element, value) {
161
+ if (!element || element.nodeType !== 1) {
162
+ return element;
163
+ }
164
+ if (element.classList) {
165
+ if (element.classList.contains(value)) {
166
+ element.classList.remove(value);
167
+ }
168
+ return element;
169
+ }
170
+ if (value && typeof value === "string" || value === undefined) {
171
+ var classNames = (value || "").split(/\s+/);
172
+ if (element.nodeType === 1 && element.className) {
173
+ if (value) {
174
+ var className = (" " + element.className + " ").replace(/[\n\t]/g, " ");
175
+ for (var c = 0, cl = classNames.length; c < cl; c++) {
176
+ className = className.replace(" " + classNames[c] + " ", " ");
177
+ }
178
+ element.className = className.replace(/^\s+|\s+$/g, "");
179
+ } else {
180
+ element.className = "";
181
+ }
182
+ }
183
+ }
184
+ return element;
185
+ };
186
+ var _getZoomFactor = function() {
187
+ var rect, physicalWidth, logicalWidth, zoomFactor = 1;
188
+ if (typeof document.body.getBoundingClientRect === "function") {
189
+ rect = document.body.getBoundingClientRect();
190
+ physicalWidth = rect.right - rect.left;
191
+ logicalWidth = document.body.offsetWidth;
192
+ zoomFactor = Math.round(physicalWidth / logicalWidth * 100) / 100;
193
+ }
194
+ return zoomFactor;
195
+ };
196
+ var _getDOMObjectPosition = function(obj, defaultZIndex) {
197
+ var info = {
198
+ left: 0,
199
+ top: 0,
200
+ width: 0,
201
+ height: 0,
202
+ zIndex: _getSafeZIndex(defaultZIndex) - 1
203
+ };
204
+ if (obj.getBoundingClientRect) {
205
+ var rect = obj.getBoundingClientRect();
206
+ var pageXOffset, pageYOffset, zoomFactor;
207
+ if ("pageXOffset" in window && "pageYOffset" in window) {
208
+ pageXOffset = window.pageXOffset;
209
+ pageYOffset = window.pageYOffset;
210
+ } else {
211
+ zoomFactor = _getZoomFactor();
212
+ pageXOffset = Math.round(document.documentElement.scrollLeft / zoomFactor);
213
+ pageYOffset = Math.round(document.documentElement.scrollTop / zoomFactor);
214
+ }
215
+ var leftBorderWidth = document.documentElement.clientLeft || 0;
216
+ var topBorderWidth = document.documentElement.clientTop || 0;
217
+ info.left = rect.left + pageXOffset - leftBorderWidth;
218
+ info.top = rect.top + pageYOffset - topBorderWidth;
219
+ info.width = "width" in rect ? rect.width : rect.right - rect.left;
220
+ info.height = "height" in rect ? rect.height : rect.bottom - rect.top;
221
+ }
222
+ return info;
223
+ };
224
+ var _cacheBust = function(path, options) {
225
+ var cacheBust = options == null || options && options.cacheBust === true;
226
+ if (cacheBust) {
227
+ return (path.indexOf("?") === -1 ? "?" : "&") + "noCache=" + new Date().getTime();
228
+ } else {
229
+ return "";
230
+ }
231
+ };
232
+ var _vars = function(options) {
233
+ var i, len, domain, domains, str = "", trustedOriginsExpanded = [];
234
+ if (options.trustedDomains) {
235
+ if (typeof options.trustedDomains === "string") {
236
+ domains = [ options.trustedDomains ];
237
+ } else if (typeof options.trustedDomains === "object" && "length" in options.trustedDomains) {
238
+ domains = options.trustedDomains;
239
+ }
240
+ }
241
+ if (domains && domains.length) {
242
+ for (i = 0, len = domains.length; i < len; i++) {
243
+ if (domains.hasOwnProperty(i) && domains[i] && typeof domains[i] === "string") {
244
+ domain = _extractDomain(domains[i]);
245
+ if (!domain) {
246
+ continue;
247
+ }
248
+ if (domain === "*") {
249
+ trustedOriginsExpanded = [ domain ];
250
+ break;
251
+ }
252
+ trustedOriginsExpanded.push.apply(trustedOriginsExpanded, [ domain, "//" + domain, window.location.protocol + "//" + domain ]);
253
+ }
254
+ }
255
+ }
256
+ if (trustedOriginsExpanded.length) {
257
+ str += "trustedOrigins=" + encodeURIComponent(trustedOriginsExpanded.join(","));
258
+ }
259
+ if (options.forceEnhancedClipboard === true) {
260
+ str += (str ? "&" : "") + "forceEnhancedClipboard=true";
261
+ }
262
+ return str;
263
+ };
264
+ var _inArray = function(elem, array, fromIndex) {
265
+ if (typeof array.indexOf === "function") {
266
+ return array.indexOf(elem, fromIndex);
267
+ }
268
+ var i, len = array.length;
269
+ if (typeof fromIndex === "undefined") {
270
+ fromIndex = 0;
271
+ } else if (fromIndex < 0) {
272
+ fromIndex = len + fromIndex;
273
+ }
274
+ for (i = fromIndex; i < len; i++) {
275
+ if (array.hasOwnProperty(i) && array[i] === elem) {
276
+ return i;
277
+ }
278
+ }
279
+ return -1;
280
+ };
281
+ var _prepClip = function(elements) {
282
+ if (typeof elements === "string") {
283
+ throw new TypeError("ZeroClipboard doesn't accept query strings.");
284
+ }
285
+ return typeof elements.length !== "number" ? [ elements ] : elements;
286
+ };
287
+ var _dispatchCallback = function(func, context, args, async) {
288
+ if (async) {
289
+ window.setTimeout(function() {
290
+ func.apply(context, args);
291
+ }, 0);
292
+ } else {
293
+ func.apply(context, args);
294
+ }
295
+ };
296
+ var _getSafeZIndex = function(val) {
297
+ var zIndex, tmp;
298
+ if (val) {
299
+ if (typeof val === "number" && val > 0) {
300
+ zIndex = val;
301
+ } else if (typeof val === "string" && (tmp = parseInt(val, 10)) && !isNaN(tmp) && tmp > 0) {
302
+ zIndex = tmp;
303
+ }
304
+ }
305
+ if (!zIndex) {
306
+ if (typeof _globalConfig.zIndex === "number" && _globalConfig.zIndex > 0) {
307
+ zIndex = _globalConfig.zIndex;
308
+ } else if (typeof _globalConfig.zIndex === "string" && (tmp = parseInt(_globalConfig.zIndex, 10)) && !isNaN(tmp) && tmp > 0) {
309
+ zIndex = tmp;
310
+ }
311
+ }
312
+ return zIndex || 0;
313
+ };
314
+ var _extend = function() {
315
+ var i, len, arg, prop, src, copy, target = arguments[0] || {};
316
+ for (i = 1, len = arguments.length; i < len; i++) {
317
+ if ((arg = arguments[i]) != null) {
318
+ for (prop in arg) {
319
+ if (arg.hasOwnProperty(prop)) {
320
+ src = target[prop];
321
+ copy = arg[prop];
322
+ if (target === copy) {
323
+ continue;
324
+ }
325
+ if (copy !== undefined) {
326
+ target[prop] = copy;
327
+ }
328
+ }
329
+ }
330
+ }
331
+ }
332
+ return target;
333
+ };
334
+ var _extractDomain = function(originOrUrl) {
335
+ if (originOrUrl == null || originOrUrl === "") {
336
+ return null;
337
+ }
338
+ originOrUrl = originOrUrl.replace(/^\s+|\s+$/g, "");
339
+ if (originOrUrl === "") {
340
+ return null;
341
+ }
342
+ var protocolIndex = originOrUrl.indexOf("//");
343
+ originOrUrl = protocolIndex === -1 ? originOrUrl : originOrUrl.slice(protocolIndex + 2);
344
+ var pathIndex = originOrUrl.indexOf("/");
345
+ originOrUrl = pathIndex === -1 ? originOrUrl : protocolIndex === -1 || pathIndex === 0 ? null : originOrUrl.slice(0, pathIndex);
346
+ if (originOrUrl && originOrUrl.slice(-4).toLowerCase() === ".swf") {
347
+ return null;
348
+ }
349
+ return originOrUrl || null;
350
+ };
351
+ var _determineScriptAccess = function() {
352
+ var _extractAllDomains = function(origins, resultsArray) {
353
+ var i, len, tmp;
354
+ if (origins == null || resultsArray[0] === "*") {
355
+ return;
356
+ }
357
+ if (typeof origins === "string") {
358
+ origins = [ origins ];
359
+ }
360
+ if (!(typeof origins === "object" && typeof origins.length === "number")) {
361
+ return;
362
+ }
363
+ for (i = 0, len = origins.length; i < len; i++) {
364
+ if (origins.hasOwnProperty(i) && (tmp = _extractDomain(origins[i]))) {
365
+ if (tmp === "*") {
366
+ resultsArray.length = 0;
367
+ resultsArray.push("*");
368
+ break;
369
+ }
370
+ if (_inArray(tmp, resultsArray) === -1) {
371
+ resultsArray.push(tmp);
372
+ }
373
+ }
374
+ }
375
+ };
376
+ return function(currentDomain, configOptions) {
377
+ var swfDomain = _extractDomain(configOptions.swfPath);
378
+ if (swfDomain === null) {
379
+ swfDomain = currentDomain;
380
+ }
381
+ var trustedDomains = [];
382
+ _extractAllDomains(configOptions.trustedOrigins, trustedDomains);
383
+ _extractAllDomains(configOptions.trustedDomains, trustedDomains);
384
+ var len = trustedDomains.length;
385
+ if (len > 0) {
386
+ if (len === 1 && trustedDomains[0] === "*") {
387
+ return "always";
388
+ }
389
+ if (_inArray(currentDomain, trustedDomains) !== -1) {
390
+ if (len === 1 && currentDomain === swfDomain) {
391
+ return "sameDomain";
392
+ }
393
+ return "always";
394
+ }
395
+ }
396
+ return "never";
397
+ };
398
+ }();
399
+ var _objectKeys = function(obj) {
400
+ if (obj == null) {
401
+ return [];
402
+ }
403
+ if (Object.keys) {
404
+ return Object.keys(obj);
405
+ }
406
+ var keys = [];
407
+ for (var prop in obj) {
408
+ if (obj.hasOwnProperty(prop)) {
409
+ keys.push(prop);
410
+ }
411
+ }
412
+ return keys;
413
+ };
414
+ var _deleteOwnProperties = function(obj) {
415
+ if (obj) {
416
+ for (var prop in obj) {
417
+ if (obj.hasOwnProperty(prop)) {
418
+ delete obj[prop];
419
+ }
420
+ }
421
+ }
422
+ return obj;
423
+ };
424
+ var _safeActiveElement = function() {
425
+ try {
426
+ return document.activeElement;
427
+ } catch (err) {}
428
+ return null;
429
+ };
430
+ var _pick = function(obj, keys) {
431
+ var newObj = {};
432
+ for (var i = 0, len = keys.length; i < len; i++) {
433
+ if (keys[i] in obj) {
434
+ newObj[keys[i]] = obj[keys[i]];
435
+ }
436
+ }
437
+ return newObj;
438
+ };
439
+ var _omit = function(obj, keys) {
440
+ var newObj = {};
441
+ for (var prop in obj) {
442
+ if (_inArray(prop, keys) === -1) {
443
+ newObj[prop] = obj[prop];
444
+ }
445
+ }
446
+ return newObj;
447
+ };
448
+ var _mapClipDataToFlash = function(clipData) {
449
+ var newClipData = {}, formatMap = {};
450
+ if (!(typeof clipData === "object" && clipData)) {
451
+ return;
452
+ }
453
+ for (var dataFormat in clipData) {
454
+ if (dataFormat && clipData.hasOwnProperty(dataFormat) && typeof clipData[dataFormat] === "string" && clipData[dataFormat]) {
455
+ switch (dataFormat.toLowerCase()) {
456
+ case "text/plain":
457
+ case "text":
458
+ case "air:text":
459
+ case "flash:text":
460
+ newClipData.text = clipData[dataFormat];
461
+ formatMap.text = dataFormat;
462
+ break;
463
+
464
+ case "text/html":
465
+ case "html":
466
+ case "air:html":
467
+ case "flash:html":
468
+ newClipData.html = clipData[dataFormat];
469
+ formatMap.html = dataFormat;
470
+ break;
471
+
472
+ case "application/rtf":
473
+ case "text/rtf":
474
+ case "rtf":
475
+ case "richtext":
476
+ case "air:rtf":
477
+ case "flash:rtf":
478
+ newClipData.rtf = clipData[dataFormat];
479
+ formatMap.rtf = dataFormat;
480
+ break;
481
+
482
+ default:
483
+ break;
484
+ }
485
+ }
486
+ }
487
+ return {
488
+ data: newClipData,
489
+ formatMap: formatMap
490
+ };
491
+ };
492
+ var _mapClipResultsFromFlash = function(clipResults, formatMap) {
493
+ if (!(typeof clipResults === "object" && clipResults && typeof formatMap === "object" && formatMap)) {
494
+ return clipResults;
495
+ }
496
+ var newResults = {};
497
+ for (var prop in clipResults) {
498
+ if (clipResults.hasOwnProperty(prop)) {
499
+ if (prop !== "success" && prop !== "data") {
500
+ newResults[prop] = clipResults[prop];
501
+ continue;
502
+ }
503
+ newResults[prop] = {};
504
+ var tmpHash = clipResults[prop];
505
+ for (var dataFormat in tmpHash) {
506
+ if (dataFormat && tmpHash.hasOwnProperty(dataFormat) && formatMap.hasOwnProperty(dataFormat)) {
507
+ newResults[prop][formatMap[dataFormat]] = tmpHash[dataFormat];
508
+ }
509
+ }
510
+ }
511
+ }
512
+ return newResults;
513
+ };
514
+ var _args = function(arraySlice) {
515
+ return function(args) {
516
+ return arraySlice.call(args, 0);
517
+ };
518
+ }(window.Array.prototype.slice);
519
+ var _detectFlashSupport = function() {
520
+ var plugin, ax, mimeType, hasFlash = false, isActiveX = false, isPPAPI = false, flashVersion = "";
521
+ function parseFlashVersion(desc) {
522
+ var matches = desc.match(/[\d]+/g);
523
+ matches.length = 3;
524
+ return matches.join(".");
525
+ }
526
+ function isPepperFlash(flashPlayerFileName) {
527
+ return !!flashPlayerFileName && (flashPlayerFileName = flashPlayerFileName.toLowerCase()) && (/^(pepflashplayer\.dll|libpepflashplayer\.so|pepperflashplayer\.plugin)$/.test(flashPlayerFileName) || flashPlayerFileName.slice(-13) === "chrome.plugin");
528
+ }
529
+ function inspectPlugin(plugin) {
530
+ if (plugin) {
531
+ hasFlash = true;
532
+ if (plugin.version) {
533
+ flashVersion = parseFlashVersion(plugin.version);
534
+ }
535
+ if (!flashVersion && plugin.description) {
536
+ flashVersion = parseFlashVersion(plugin.description);
537
+ }
538
+ if (plugin.filename) {
539
+ isPPAPI = isPepperFlash(plugin.filename);
540
+ }
541
+ }
542
+ }
543
+ if (navigator.plugins && navigator.plugins.length) {
544
+ plugin = navigator.plugins["Shockwave Flash"];
545
+ inspectPlugin(plugin);
546
+ if (navigator.plugins["Shockwave Flash 2.0"]) {
547
+ hasFlash = true;
548
+ flashVersion = "2.0.0.11";
549
+ }
550
+ } else if (navigator.mimeTypes && navigator.mimeTypes.length) {
551
+ mimeType = navigator.mimeTypes["application/x-shockwave-flash"];
552
+ plugin = mimeType && mimeType.enabledPlugin;
553
+ inspectPlugin(plugin);
554
+ } else if (typeof ActiveXObject !== "undefined") {
555
+ isActiveX = true;
556
+ try {
557
+ ax = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
558
+ hasFlash = true;
559
+ flashVersion = parseFlashVersion(ax.GetVariable("$version"));
560
+ } catch (e1) {
561
+ try {
562
+ ax = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
563
+ hasFlash = true;
564
+ flashVersion = "6.0.21";
565
+ } catch (e2) {
566
+ try {
567
+ ax = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
568
+ hasFlash = true;
569
+ flashVersion = parseFlashVersion(ax.GetVariable("$version"));
570
+ } catch (e3) {
571
+ isActiveX = false;
572
+ }
573
+ }
574
+ }
575
+ }
576
+ _flashState.disabled = hasFlash !== true;
577
+ _flashState.outdated = flashVersion && parseFloat(flashVersion) < 11;
578
+ _flashState.version = flashVersion || "0.0.0";
579
+ _flashState.pluginType = isPPAPI ? "pepper" : isActiveX ? "activex" : hasFlash ? "netscape" : "unknown";
580
+ };
581
+ _detectFlashSupport();
582
+ var ZeroClipboard = function(elements) {
583
+ if (!(this instanceof ZeroClipboard)) {
584
+ return new ZeroClipboard(elements);
585
+ }
586
+ this.id = "" + _clientIdCounter++;
587
+ _clientMeta[this.id] = {
588
+ instance: this,
589
+ elements: [],
590
+ handlers: {}
591
+ };
592
+ if (elements) {
593
+ this.clip(elements);
594
+ }
595
+ if (typeof _flashState.ready !== "boolean") {
596
+ _flashState.ready = false;
597
+ }
598
+ if (!ZeroClipboard.isFlashUnusable() && _flashState.bridge === null) {
599
+ var _client = this;
600
+ var maxWait = _globalConfig.flashLoadTimeout;
601
+ if (typeof maxWait === "number" && maxWait >= 0) {
602
+ setTimeout(function() {
603
+ if (typeof _flashState.deactivated !== "boolean") {
604
+ _flashState.deactivated = true;
605
+ }
606
+ if (_flashState.deactivated === true) {
607
+ ZeroClipboard.emit({
608
+ type: "error",
609
+ name: "flash-deactivated",
610
+ client: _client
611
+ });
612
+ }
613
+ }, maxWait);
614
+ }
615
+ _flashState.overdue = false;
616
+ _bridge();
617
+ }
618
+ };
619
+ ZeroClipboard.prototype.setText = function(text) {
620
+ ZeroClipboard.setData("text/plain", text);
621
+ return this;
622
+ };
623
+ ZeroClipboard.prototype.setHtml = function(html) {
624
+ ZeroClipboard.setData("text/html", html);
625
+ return this;
626
+ };
627
+ ZeroClipboard.prototype.setRichText = function(richText) {
628
+ ZeroClipboard.setData("application/rtf", richText);
629
+ return this;
630
+ };
631
+ ZeroClipboard.prototype.setData = function() {
632
+ ZeroClipboard.setData.apply(ZeroClipboard, _args(arguments));
633
+ return this;
634
+ };
635
+ ZeroClipboard.prototype.clearData = function() {
636
+ ZeroClipboard.clearData.apply(ZeroClipboard, _args(arguments));
637
+ return this;
638
+ };
639
+ ZeroClipboard.prototype.setSize = function(width, height) {
640
+ _setSize(width, height);
641
+ return this;
642
+ };
643
+ var _setHandCursor = function(enabled) {
644
+ if (_flashState.ready === true && _flashState.bridge && typeof _flashState.bridge.setHandCursor === "function") {
645
+ _flashState.bridge.setHandCursor(enabled);
646
+ } else {
647
+ _flashState.ready = false;
648
+ }
649
+ };
650
+ ZeroClipboard.prototype.destroy = function() {
651
+ this.unclip();
652
+ this.off();
653
+ delete _clientMeta[this.id];
654
+ };
655
+ var _getAllClients = function() {
656
+ var i, len, client, clients = [], clientIds = _objectKeys(_clientMeta);
657
+ for (i = 0, len = clientIds.length; i < len; i++) {
658
+ client = _clientMeta[clientIds[i]].instance;
659
+ if (client && client instanceof ZeroClipboard) {
660
+ clients.push(client);
661
+ }
662
+ }
663
+ return clients;
664
+ };
665
+ ZeroClipboard.version = "2.0.0-beta.5";
666
+ var _globalConfig = {
667
+ swfPath: _swfPath,
668
+ trustedDomains: window.location.host ? [ window.location.host ] : [],
669
+ cacheBust: true,
670
+ forceHandCursor: false,
671
+ forceEnhancedClipboard: false,
672
+ zIndex: 999999999,
673
+ debug: false,
674
+ title: null,
675
+ autoActivate: true,
676
+ flashLoadTimeout: 3e4
677
+ };
678
+ ZeroClipboard.isFlashUnusable = function() {
679
+ return !!(_flashState.disabled || _flashState.outdated || _flashState.unavailable || _flashState.deactivated);
680
+ };
681
+ ZeroClipboard.config = function(options) {
682
+ if (typeof options === "object" && options !== null) {
683
+ _extend(_globalConfig, options);
684
+ }
685
+ if (typeof options === "string" && options) {
686
+ if (_globalConfig.hasOwnProperty(options)) {
687
+ return _globalConfig[options];
688
+ }
689
+ return;
690
+ }
691
+ var copy = {};
692
+ for (var prop in _globalConfig) {
693
+ if (_globalConfig.hasOwnProperty(prop)) {
694
+ if (typeof _globalConfig[prop] === "object" && _globalConfig[prop] !== null) {
695
+ if ("length" in _globalConfig[prop]) {
696
+ copy[prop] = _globalConfig[prop].slice(0);
697
+ } else {
698
+ copy[prop] = _extend({}, _globalConfig[prop]);
699
+ }
700
+ } else {
701
+ copy[prop] = _globalConfig[prop];
702
+ }
703
+ }
704
+ }
705
+ return copy;
706
+ };
707
+ ZeroClipboard.destroy = function() {
708
+ ZeroClipboard.deactivate();
709
+ for (var clientId in _clientMeta) {
710
+ if (_clientMeta.hasOwnProperty(clientId) && _clientMeta[clientId]) {
711
+ var client = _clientMeta[clientId].instance;
712
+ if (client && typeof client.destroy === "function") {
713
+ client.destroy();
714
+ }
715
+ }
716
+ }
717
+ var flashBridge = _flashState.bridge;
718
+ if (flashBridge) {
719
+ var htmlBridge = _getHtmlBridge(flashBridge);
720
+ if (htmlBridge) {
721
+ if (_flashState.pluginType === "activex" && "readyState" in flashBridge) {
722
+ flashBridge.style.display = "none";
723
+ (function removeSwfFromIE() {
724
+ if (flashBridge.readyState === 4) {
725
+ for (var prop in flashBridge) {
726
+ if (typeof flashBridge[prop] === "function") {
727
+ flashBridge[prop] = null;
728
+ }
729
+ }
730
+ flashBridge.parentNode.removeChild(flashBridge);
731
+ if (htmlBridge.parentNode) {
732
+ htmlBridge.parentNode.removeChild(htmlBridge);
733
+ }
734
+ } else {
735
+ setTimeout(removeSwfFromIE, 10);
736
+ }
737
+ })();
738
+ } else {
739
+ flashBridge.parentNode.removeChild(flashBridge);
740
+ if (htmlBridge.parentNode) {
741
+ htmlBridge.parentNode.removeChild(htmlBridge);
742
+ }
743
+ }
744
+ }
745
+ _flashState.ready = null;
746
+ _flashState.bridge = null;
747
+ _flashState.deactivated = null;
748
+ }
749
+ ZeroClipboard.clearData();
750
+ };
751
+ ZeroClipboard.activate = function(element) {
752
+ if (_currentElement) {
753
+ _removeClass(_currentElement, _globalConfig.hoverClass);
754
+ _removeClass(_currentElement, _globalConfig.activeClass);
755
+ }
756
+ _currentElement = element;
757
+ _addClass(element, _globalConfig.hoverClass);
758
+ _reposition();
759
+ var newTitle = _globalConfig.title || element.getAttribute("title");
760
+ if (newTitle) {
761
+ var htmlBridge = _getHtmlBridge(_flashState.bridge);
762
+ if (htmlBridge) {
763
+ htmlBridge.setAttribute("title", newTitle);
764
+ }
765
+ }
766
+ var useHandCursor = _globalConfig.forceHandCursor === true || _getStyle(element, "cursor") === "pointer";
767
+ _setHandCursor(useHandCursor);
768
+ };
769
+ ZeroClipboard.deactivate = function() {
770
+ var htmlBridge = _getHtmlBridge(_flashState.bridge);
771
+ if (htmlBridge) {
772
+ htmlBridge.removeAttribute("title");
773
+ htmlBridge.style.left = "0px";
774
+ htmlBridge.style.top = "-9999px";
775
+ _setSize(1, 1);
776
+ }
777
+ if (_currentElement) {
778
+ _removeClass(_currentElement, _globalConfig.hoverClass);
779
+ _removeClass(_currentElement, _globalConfig.activeClass);
780
+ _currentElement = null;
781
+ }
782
+ };
783
+ ZeroClipboard.state = function() {
784
+ return {
785
+ browser: _pick(window.navigator, [ "userAgent", "platform", "appName" ]),
786
+ flash: _omit(_flashState, [ "bridge" ]),
787
+ zeroclipboard: {
788
+ version: ZeroClipboard.version,
789
+ config: ZeroClipboard.config()
790
+ }
791
+ };
792
+ };
793
+ ZeroClipboard.setData = function(format, data) {
794
+ var dataObj;
795
+ if (typeof format === "object" && format && typeof data === "undefined") {
796
+ dataObj = format;
797
+ ZeroClipboard.clearData();
798
+ } else if (typeof format === "string" && format) {
799
+ dataObj = {};
800
+ dataObj[format] = data;
801
+ } else {
802
+ return;
803
+ }
804
+ for (var dataFormat in dataObj) {
805
+ if (dataFormat && dataObj.hasOwnProperty(dataFormat) && typeof dataObj[dataFormat] === "string" && dataObj[dataFormat]) {
806
+ _clipData[dataFormat] = dataObj[dataFormat];
807
+ }
808
+ }
809
+ };
810
+ ZeroClipboard.clearData = function(format) {
811
+ if (typeof format === "undefined") {
812
+ _deleteOwnProperties(_clipData);
813
+ _clipDataFormatMap = null;
814
+ } else if (typeof format === "string" && _clipData.hasOwnProperty(format)) {
815
+ delete _clipData[format];
816
+ }
817
+ };
818
+ var _bridge = function() {
819
+ var flashBridge, len;
820
+ var container = document.getElementById("global-zeroclipboard-html-bridge");
821
+ if (!container) {
822
+ var allowScriptAccess = _determineScriptAccess(window.location.host, _globalConfig);
823
+ var allowNetworking = allowScriptAccess === "never" ? "none" : "all";
824
+ var flashvars = _vars(_globalConfig);
825
+ var swfUrl = _globalConfig.swfPath + _cacheBust(_globalConfig.swfPath, _globalConfig);
826
+ container = _createHtmlBridge();
827
+ var divToBeReplaced = document.createElement("div");
828
+ container.appendChild(divToBeReplaced);
829
+ document.body.appendChild(container);
830
+ var tmpDiv = document.createElement("div");
831
+ var oldIE = _flashState.pluginType === "activex";
832
+ tmpDiv.innerHTML = '<object id="global-zeroclipboard-flash-bridge" name="global-zeroclipboard-flash-bridge" ' + 'width="100%" height="100%" ' + (oldIE ? 'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"' : 'type="application/x-shockwave-flash" data="' + swfUrl + '"') + ">" + (oldIE ? '<param name="movie" value="' + swfUrl + '"/>' : "") + '<param name="allowScriptAccess" value="' + allowScriptAccess + '"/>' + '<param name="allowNetworking" value="' + allowNetworking + '"/>' + '<param name="menu" value="false"/>' + '<param name="wmode" value="transparent"/>' + '<param name="flashvars" value="' + flashvars + '"/>' + "</object>";
833
+ flashBridge = tmpDiv.firstChild;
834
+ tmpDiv = null;
835
+ flashBridge.ZeroClipboard = ZeroClipboard;
836
+ container.replaceChild(flashBridge, divToBeReplaced);
837
+ }
838
+ if (!flashBridge) {
839
+ flashBridge = document["global-zeroclipboard-flash-bridge"];
840
+ if (flashBridge && (len = flashBridge.length)) {
841
+ flashBridge = flashBridge[len - 1];
842
+ }
843
+ if (!flashBridge) {
844
+ flashBridge = container.firstChild;
845
+ }
846
+ }
847
+ _flashState.bridge = flashBridge || null;
848
+ };
849
+ var _createHtmlBridge = function() {
850
+ var container = document.createElement("div");
851
+ container.id = "global-zeroclipboard-html-bridge";
852
+ container.className = "global-zeroclipboard-container";
853
+ container.style.position = "absolute";
854
+ container.style.left = "0px";
855
+ container.style.top = "-9999px";
856
+ container.style.width = "1px";
857
+ container.style.height = "1px";
858
+ container.style.zIndex = "" + _getSafeZIndex(_globalConfig.zIndex);
859
+ return container;
860
+ };
861
+ var _getHtmlBridge = function(flashBridge) {
862
+ var htmlBridge = flashBridge && flashBridge.parentNode;
863
+ while (htmlBridge && htmlBridge.nodeName === "OBJECT" && htmlBridge.parentNode) {
864
+ htmlBridge = htmlBridge.parentNode;
865
+ }
866
+ return htmlBridge || null;
867
+ };
868
+ var _reposition = function() {
869
+ if (_currentElement) {
870
+ var pos = _getDOMObjectPosition(_currentElement, _globalConfig.zIndex);
871
+ var htmlBridge = _getHtmlBridge(_flashState.bridge);
872
+ if (htmlBridge) {
873
+ htmlBridge.style.top = pos.top + "px";
874
+ htmlBridge.style.left = pos.left + "px";
875
+ htmlBridge.style.width = pos.width + "px";
876
+ htmlBridge.style.height = pos.height + "px";
877
+ htmlBridge.style.zIndex = pos.zIndex + 1;
878
+ }
879
+ _setSize(pos.width, pos.height);
880
+ }
881
+ };
882
+ var _setSize = function(width, height) {
883
+ var htmlBridge = _getHtmlBridge(_flashState.bridge);
884
+ if (htmlBridge) {
885
+ htmlBridge.style.width = width + "px";
886
+ htmlBridge.style.height = height + "px";
887
+ }
888
+ };
889
+ ZeroClipboard.emit = function(event) {
890
+ var eventType, eventObj, performCallbackAsync, clients, i, len, eventCopy, returnVal, tmp;
891
+ if (typeof event === "string" && event) {
892
+ eventType = event;
893
+ }
894
+ if (typeof event === "object" && event && typeof event.type === "string" && event.type) {
895
+ eventType = event.type;
896
+ eventObj = event;
897
+ }
898
+ if (!eventType) {
899
+ return;
900
+ }
901
+ event = _createEvent(eventType, eventObj);
902
+ _preprocessEvent(event);
903
+ if (event.type === "ready" && _flashState.overdue === true) {
904
+ return ZeroClipboard.emit({
905
+ type: "error",
906
+ name: "flash-overdue"
907
+ });
908
+ }
909
+ performCallbackAsync = !/^(before)?copy$/.test(event.type);
910
+ if (event.client) {
911
+ _dispatchClientCallbacks.call(event.client, event, performCallbackAsync);
912
+ } else {
913
+ clients = event.target && event.target !== window && _globalConfig.autoActivate === true ? _getAllClientsClippedToElement(event.target) : _getAllClients();
914
+ for (i = 0, len = clients.length; i < len; i++) {
915
+ eventCopy = _extend({}, event, {
916
+ client: clients[i]
917
+ });
918
+ _dispatchClientCallbacks.call(clients[i], eventCopy, performCallbackAsync);
919
+ }
920
+ }
921
+ if (event.type === "copy") {
922
+ tmp = _mapClipDataToFlash(_clipData);
923
+ returnVal = tmp.data;
924
+ _clipDataFormatMap = tmp.formatMap;
925
+ }
926
+ return returnVal;
927
+ };
928
+ var _dispatchClientCallbacks = function(event, async) {
929
+ var handlers = _clientMeta[this.id] && _clientMeta[this.id].handlers[event.type];
930
+ if (handlers && handlers.length) {
931
+ var i, len, func, context, originalContext = this;
932
+ for (i = 0, len = handlers.length; i < len; i++) {
933
+ func = handlers[i];
934
+ context = originalContext;
935
+ if (typeof func === "string" && typeof window[func] === "function") {
936
+ func = window[func];
937
+ }
938
+ if (typeof func === "object" && func && typeof func.handleEvent === "function") {
939
+ context = func;
940
+ func = func.handleEvent;
941
+ }
942
+ if (typeof func === "function") {
943
+ _dispatchCallback(func, context, [ event ], async);
944
+ }
945
+ }
946
+ }
947
+ return this;
948
+ };
949
+ var _eventMessages = {
950
+ ready: "Flash communication is established",
951
+ error: {
952
+ "flash-disabled": "Flash is disabled or not installed",
953
+ "flash-outdated": "Flash is too outdated to support ZeroClipboard",
954
+ "flash-unavailable": "Flash is unable to communicate bidirectionally with JavaScript",
955
+ "flash-deactivated": "Flash is too outdated for your browser and/or is configured as click-to-activate",
956
+ "flash-overdue": "Flash communication was established but NOT within the acceptable time limit"
957
+ }
958
+ };
959
+ var _createEvent = function(eventType, event) {
960
+ if (!(eventType || event && event.type)) {
961
+ return;
962
+ }
963
+ event = event || {};
964
+ eventType = (eventType || event.type).toLowerCase();
965
+ _extend(event, {
966
+ type: eventType,
967
+ target: event.target || _currentElement || null,
968
+ relatedTarget: event.relatedTarget || null,
969
+ currentTarget: _flashState && _flashState.bridge || null
970
+ });
971
+ var msg = _eventMessages[event.type];
972
+ if (event.type === "error" && event.name && msg) {
973
+ msg = msg[event.name];
974
+ }
975
+ if (msg) {
976
+ event.message = msg;
977
+ }
978
+ if (event.type === "ready") {
979
+ _extend(event, {
980
+ target: null,
981
+ version: _flashState.version
982
+ });
983
+ }
984
+ if (event.type === "error") {
985
+ event.target = null;
986
+ if (/^flash-(outdated|unavailable|deactivated|overdue)$/.test(event.name)) {
987
+ _extend(event, {
988
+ version: _flashState.version,
989
+ minimumVersion: "11.0.0"
990
+ });
991
+ }
992
+ }
993
+ if (event.type === "copy") {
994
+ event.clipboardData = {
995
+ setData: ZeroClipboard.setData,
996
+ clearData: ZeroClipboard.clearData
997
+ };
998
+ }
999
+ if (event.type === "aftercopy") {
1000
+ event = _mapClipResultsFromFlash(event, _clipDataFormatMap);
1001
+ }
1002
+ if (event.target && !event.relatedTarget) {
1003
+ event.relatedTarget = _getRelatedTarget(event.target);
1004
+ }
1005
+ return event;
1006
+ };
1007
+ var _getRelatedTarget = function(targetEl) {
1008
+ var relatedTargetId = targetEl && targetEl.getAttribute && targetEl.getAttribute("data-clipboard-target");
1009
+ return relatedTargetId ? document.getElementById(relatedTargetId) : null;
1010
+ };
1011
+ var _preprocessEvent = function(event) {
1012
+ var element = event.target || _currentElement;
1013
+ switch (event.type) {
1014
+ case "error":
1015
+ if (_inArray(event.name, [ "flash-disabled", "flash-outdated", "flash-deactivated", "flash-overdue" ])) {
1016
+ _extend(_flashState, {
1017
+ disabled: event.name === "flash-disabled",
1018
+ outdated: event.name === "flash-outdated",
1019
+ unavailable: event.name === "flash-unavailable",
1020
+ deactivated: event.name === "flash-deactivated",
1021
+ overdue: event.name === "flash-overdue",
1022
+ ready: false
1023
+ });
1024
+ }
1025
+ break;
1026
+
1027
+ case "ready":
1028
+ var wasDeactivated = _flashState.deactivated === true;
1029
+ _extend(_flashState, {
1030
+ disabled: false,
1031
+ outdated: false,
1032
+ unavailable: false,
1033
+ deactivated: false,
1034
+ overdue: wasDeactivated,
1035
+ ready: !wasDeactivated
1036
+ });
1037
+ break;
1038
+
1039
+ case "copy":
1040
+ var textContent, htmlContent, targetEl = event.relatedTarget;
1041
+ if (!(_clipData["text/html"] || _clipData["text/plain"]) && targetEl && (htmlContent = targetEl.value || targetEl.outerHTML || targetEl.innerHTML) && (textContent = targetEl.value || targetEl.textContent || targetEl.innerText)) {
1042
+ event.clipboardData.clearData();
1043
+ event.clipboardData.setData("text/plain", textContent);
1044
+ if (htmlContent !== textContent) {
1045
+ event.clipboardData.setData("text/html", htmlContent);
1046
+ }
1047
+ } else if (!_clipData["text/plain"] && event.target && (textContent = event.target.getAttribute("data-clipboard-text"))) {
1048
+ event.clipboardData.clearData();
1049
+ event.clipboardData.setData("text/plain", textContent);
1050
+ }
1051
+ break;
1052
+
1053
+ case "aftercopy":
1054
+ ZeroClipboard.clearData();
1055
+ if (element && element !== _safeActiveElement() && element.focus) {
1056
+ element.focus();
1057
+ }
1058
+ break;
1059
+
1060
+ case "mouseover":
1061
+ _addClass(element, _globalConfig.hoverClass);
1062
+ break;
1063
+
1064
+ case "mouseout":
1065
+ if (_globalConfig.autoActivate === true) {
1066
+ ZeroClipboard.deactivate();
1067
+ }
1068
+ break;
1069
+
1070
+ case "mousedown":
1071
+ _addClass(element, _globalConfig.activeClass);
1072
+ break;
1073
+
1074
+ case "mouseup":
1075
+ _removeClass(element, _globalConfig.activeClass);
1076
+ break;
1077
+ }
1078
+ };
1079
+ ZeroClipboard.prototype.on = function(eventName, func) {
1080
+ var i, len, events, added = {}, handlers = _clientMeta[this.id] && _clientMeta[this.id].handlers;
1081
+ if (typeof eventName === "string" && eventName) {
1082
+ events = eventName.toLowerCase().split(/\s+/);
1083
+ } else if (typeof eventName === "object" && eventName && typeof func === "undefined") {
1084
+ for (i in eventName) {
1085
+ if (eventName.hasOwnProperty(i) && typeof i === "string" && i && typeof eventName[i] === "function") {
1086
+ this.on(i, eventName[i]);
1087
+ }
1088
+ }
1089
+ }
1090
+ if (events && events.length) {
1091
+ for (i = 0, len = events.length; i < len; i++) {
1092
+ eventName = events[i].replace(/^on/, "");
1093
+ added[eventName] = true;
1094
+ if (!handlers[eventName]) {
1095
+ handlers[eventName] = [];
1096
+ }
1097
+ handlers[eventName].push(func);
1098
+ }
1099
+ if (added.ready && _flashState.ready) {
1100
+ ZeroClipboard.emit({
1101
+ type: "ready",
1102
+ client: this
1103
+ });
1104
+ }
1105
+ if (added.error) {
1106
+ var errorTypes = [ "disabled", "outdated", "unavailable", "deactivated", "overdue" ];
1107
+ for (i = 0, len = errorTypes.length; i < len; i++) {
1108
+ if (_flashState[errorTypes[i]]) {
1109
+ ZeroClipboard.emit({
1110
+ type: "error",
1111
+ name: "flash-" + errorTypes[i],
1112
+ client: this
1113
+ });
1114
+ break;
1115
+ }
1116
+ }
1117
+ }
1118
+ }
1119
+ return this;
1120
+ };
1121
+ ZeroClipboard.prototype.off = function(eventName, func) {
1122
+ var i, len, foundIndex, events, perEventHandlers, handlers = _clientMeta[this.id] && _clientMeta[this.id].handlers;
1123
+ if (arguments.length === 0) {
1124
+ events = _objectKeys(handlers);
1125
+ } else if (typeof eventName === "string" && eventName) {
1126
+ events = eventName.split(/\s+/);
1127
+ } else if (typeof eventName === "object" && eventName && typeof func === "undefined") {
1128
+ for (i in eventName) {
1129
+ if (eventName.hasOwnProperty(i) && typeof i === "string" && i && typeof eventName[i] === "function") {
1130
+ this.off(i, eventName[i]);
1131
+ }
1132
+ }
1133
+ }
1134
+ if (events && events.length) {
1135
+ for (i = 0, len = events.length; i < len; i++) {
1136
+ eventName = events[i].toLowerCase().replace(/^on/, "");
1137
+ perEventHandlers = handlers[eventName];
1138
+ if (perEventHandlers && perEventHandlers.length) {
1139
+ if (func) {
1140
+ foundIndex = _inArray(func, perEventHandlers);
1141
+ while (foundIndex !== -1) {
1142
+ perEventHandlers.splice(foundIndex, 1);
1143
+ foundIndex = _inArray(func, perEventHandlers, foundIndex);
1144
+ }
1145
+ } else {
1146
+ handlers[eventName].length = 0;
1147
+ }
1148
+ }
1149
+ }
1150
+ }
1151
+ return this;
1152
+ };
1153
+ ZeroClipboard.prototype.handlers = function(eventName) {
1154
+ var prop, copy = null, handlers = _clientMeta[this.id] && _clientMeta[this.id].handlers;
1155
+ if (handlers) {
1156
+ if (typeof eventName === "string" && eventName) {
1157
+ return handlers[eventName] ? handlers[eventName].slice(0) : null;
1158
+ }
1159
+ copy = {};
1160
+ for (prop in handlers) {
1161
+ if (handlers.hasOwnProperty(prop) && handlers[prop]) {
1162
+ copy[prop] = handlers[prop].slice(0);
1163
+ }
1164
+ }
1165
+ }
1166
+ return copy;
1167
+ };
1168
+ ZeroClipboard.prototype.clip = function(elements) {
1169
+ elements = _prepClip(elements);
1170
+ for (var i = 0; i < elements.length; i++) {
1171
+ if (elements.hasOwnProperty(i) && elements[i] && elements[i].nodeType === 1) {
1172
+ if (!elements[i].zcClippingId) {
1173
+ elements[i].zcClippingId = "zcClippingId_" + _elementIdCounter++;
1174
+ _elementMeta[elements[i].zcClippingId] = [ this.id ];
1175
+ if (_globalConfig.autoActivate === true) {
1176
+ _addEventHandler(elements[i], "mouseover", _elementMouseOver);
1177
+ }
1178
+ } else if (_inArray(this.id, _elementMeta[elements[i].zcClippingId]) === -1) {
1179
+ _elementMeta[elements[i].zcClippingId].push(this.id);
1180
+ }
1181
+ var clippedElements = _clientMeta[this.id].elements;
1182
+ if (_inArray(elements[i], clippedElements) === -1) {
1183
+ clippedElements.push(elements[i]);
1184
+ }
1185
+ }
1186
+ }
1187
+ return this;
1188
+ };
1189
+ ZeroClipboard.prototype.unclip = function(elements) {
1190
+ var meta = _clientMeta[this.id];
1191
+ if (!meta) {
1192
+ return this;
1193
+ }
1194
+ var clippedElements = meta.elements;
1195
+ var arrayIndex;
1196
+ if (typeof elements === "undefined") {
1197
+ elements = clippedElements.slice(0);
1198
+ } else {
1199
+ elements = _prepClip(elements);
1200
+ }
1201
+ for (var i = elements.length; i--; ) {
1202
+ if (elements.hasOwnProperty(i) && elements[i] && elements[i].nodeType === 1) {
1203
+ arrayIndex = 0;
1204
+ while ((arrayIndex = _inArray(elements[i], clippedElements, arrayIndex)) !== -1) {
1205
+ clippedElements.splice(arrayIndex, 1);
1206
+ }
1207
+ var clientIds = _elementMeta[elements[i].zcClippingId];
1208
+ if (clientIds) {
1209
+ arrayIndex = 0;
1210
+ while ((arrayIndex = _inArray(this.id, clientIds, arrayIndex)) !== -1) {
1211
+ clientIds.splice(arrayIndex, 1);
1212
+ }
1213
+ if (clientIds.length === 0) {
1214
+ if (_globalConfig.autoActivate === true) {
1215
+ _removeEventHandler(elements[i], "mouseover", _elementMouseOver);
1216
+ }
1217
+ delete elements[i].zcClippingId;
1218
+ }
1219
+ }
1220
+ }
1221
+ }
1222
+ return this;
1223
+ };
1224
+ ZeroClipboard.prototype.elements = function() {
1225
+ var meta = _clientMeta[this.id];
1226
+ return meta && meta.elements ? meta.elements.slice(0) : [];
1227
+ };
1228
+ var _getAllClientsClippedToElement = function(element) {
1229
+ var elementMetaId, clientIds, i, len, client, clients = [];
1230
+ if (element && element.nodeType === 1 && (elementMetaId = element.zcClippingId) && _elementMeta.hasOwnProperty(elementMetaId)) {
1231
+ clientIds = _elementMeta[elementMetaId];
1232
+ if (clientIds && clientIds.length) {
1233
+ for (i = 0, len = clientIds.length; i < len; i++) {
1234
+ client = _clientMeta[clientIds[i]].instance;
1235
+ if (client && client instanceof ZeroClipboard) {
1236
+ clients.push(client);
1237
+ }
1238
+ }
1239
+ }
1240
+ }
1241
+ return clients;
1242
+ };
1243
+ _globalConfig.hoverClass = "zeroclipboard-is-hover";
1244
+ _globalConfig.activeClass = "zeroclipboard-is-active";
1245
+ if (typeof define === "function" && define.amd) {
1246
+ define(function() {
1247
+ return ZeroClipboard;
1248
+ });
1249
+ } else if (typeof module === "object" && module && typeof module.exports === "object" && module.exports) {
1250
+ module.exports = ZeroClipboard;
1251
+ } else {
1252
+ window.ZeroClipboard = ZeroClipboard;
1253
+ }
1254
+ })(function() {
1255
+ return this;
1256
+ }());