baidu_ueditor_rails 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (242) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +14 -0
  3. data/Gemfile.lock +88 -0
  4. data/bin/rails +8 -0
  5. data/vendor/assets/javascripts/ueditor/dialogs/anchor/anchor.html +40 -0
  6. data/vendor/assets/javascripts/ueditor/dialogs/attachment/attachment.css +130 -0
  7. data/vendor/assets/javascripts/ueditor/dialogs/attachment/attachment.html +128 -0
  8. data/vendor/assets/javascripts/ueditor/dialogs/attachment/callbacks.js +166 -0
  9. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_chm.gif +0 -0
  10. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_default.png +0 -0
  11. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_doc.gif +0 -0
  12. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_exe.gif +0 -0
  13. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_mp3.gif +0 -0
  14. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_mv.gif +0 -0
  15. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_pdf.gif +0 -0
  16. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_ppt.gif +0 -0
  17. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_psd.gif +0 -0
  18. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_rar.gif +0 -0
  19. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_txt.gif +0 -0
  20. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeImages/icon_xls.gif +0 -0
  21. data/vendor/assets/javascripts/ueditor/dialogs/attachment/fileTypeMaps.js +29 -0
  22. data/vendor/assets/javascripts/ueditor/dialogs/background/background.css +25 -0
  23. data/vendor/assets/javascripts/ueditor/dialogs/background/background.html +56 -0
  24. data/vendor/assets/javascripts/ueditor/dialogs/background/background.js +251 -0
  25. data/vendor/assets/javascripts/ueditor/dialogs/charts/chart.config.js +65 -0
  26. data/vendor/assets/javascripts/ueditor/dialogs/charts/charts.css +165 -0
  27. data/vendor/assets/javascripts/ueditor/dialogs/charts/charts.html +89 -0
  28. data/vendor/assets/javascripts/ueditor/dialogs/charts/charts.js +519 -0
  29. data/vendor/assets/javascripts/ueditor/dialogs/charts/images/charts0.png +0 -0
  30. data/vendor/assets/javascripts/ueditor/dialogs/charts/images/charts1.png +0 -0
  31. data/vendor/assets/javascripts/ueditor/dialogs/charts/images/charts2.png +0 -0
  32. data/vendor/assets/javascripts/ueditor/dialogs/charts/images/charts3.png +0 -0
  33. data/vendor/assets/javascripts/ueditor/dialogs/charts/images/charts4.png +0 -0
  34. data/vendor/assets/javascripts/ueditor/dialogs/charts/images/charts5.png +0 -0
  35. data/vendor/assets/javascripts/ueditor/dialogs/emotion/emotion.css +43 -0
  36. data/vendor/assets/javascripts/ueditor/dialogs/emotion/emotion.html +54 -0
  37. data/vendor/assets/javascripts/ueditor/dialogs/emotion/emotion.js +186 -0
  38. data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/0.gif +0 -0
  39. data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/bface.gif +0 -0
  40. data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/cface.gif +0 -0
  41. data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/fface.gif +0 -0
  42. data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/jxface2.gif +0 -0
  43. data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/neweditor-tab-bg.png +0 -0
  44. data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/tface.gif +0 -0
  45. data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/wface.gif +0 -0
  46. data/vendor/assets/javascripts/ueditor/dialogs/emotion/images/yface.gif +0 -0
  47. data/vendor/assets/javascripts/ueditor/dialogs/gmap/gmap.html +89 -0
  48. data/vendor/assets/javascripts/ueditor/dialogs/help/help.css +7 -0
  49. data/vendor/assets/javascripts/ueditor/dialogs/help/help.html +82 -0
  50. data/vendor/assets/javascripts/ueditor/dialogs/help/help.js +56 -0
  51. data/vendor/assets/javascripts/ueditor/dialogs/image/image.css +69 -0
  52. data/vendor/assets/javascripts/ueditor/dialogs/image/image.html +257 -0
  53. data/vendor/assets/javascripts/ueditor/dialogs/image/image.js +713 -0
  54. data/vendor/assets/javascripts/ueditor/dialogs/image/imageUploader.swf +0 -0
  55. data/vendor/assets/javascripts/ueditor/dialogs/image/images/center_focus.jpg +0 -0
  56. data/vendor/assets/javascripts/ueditor/dialogs/image/images/left_focus.jpg +0 -0
  57. data/vendor/assets/javascripts/ueditor/dialogs/image/images/none_focus.jpg +0 -0
  58. data/vendor/assets/javascripts/ueditor/dialogs/image/images/right_focus.jpg +0 -0
  59. data/vendor/assets/javascripts/ueditor/dialogs/insertframe/insertframe.html +98 -0
  60. data/vendor/assets/javascripts/ueditor/dialogs/internal.js +81 -0
  61. data/vendor/assets/javascripts/ueditor/dialogs/link/link.html +126 -0
  62. data/vendor/assets/javascripts/ueditor/dialogs/map/map.html +135 -0
  63. data/vendor/assets/javascripts/ueditor/dialogs/map/show.html +118 -0
  64. data/vendor/assets/javascripts/ueditor/dialogs/music/music.css +30 -0
  65. data/vendor/assets/javascripts/ueditor/dialogs/music/music.html +32 -0
  66. data/vendor/assets/javascripts/ueditor/dialogs/music/music.js +192 -0
  67. data/vendor/assets/javascripts/ueditor/dialogs/preview/preview.html +40 -0
  68. data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/addimg.png +0 -0
  69. data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/brush.png +0 -0
  70. data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/delimg.png +0 -0
  71. data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/delimgH.png +0 -0
  72. data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/empty.png +0 -0
  73. data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/emptyH.png +0 -0
  74. data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/eraser.png +0 -0
  75. data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/redo.png +0 -0
  76. data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/redoH.png +0 -0
  77. data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/scale.png +0 -0
  78. data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/scaleH.png +0 -0
  79. data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/size.png +0 -0
  80. data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/undo.png +0 -0
  81. data/vendor/assets/javascripts/ueditor/dialogs/scrawl/images/undoH.png +0 -0
  82. data/vendor/assets/javascripts/ueditor/dialogs/scrawl/scrawl.css +72 -0
  83. data/vendor/assets/javascripts/ueditor/dialogs/scrawl/scrawl.html +95 -0
  84. data/vendor/assets/javascripts/ueditor/dialogs/scrawl/scrawl.js +655 -0
  85. data/vendor/assets/javascripts/ueditor/dialogs/searchreplace/searchreplace.html +102 -0
  86. data/vendor/assets/javascripts/ueditor/dialogs/searchreplace/searchreplace.js +164 -0
  87. data/vendor/assets/javascripts/ueditor/dialogs/snapscreen/snapscreen.html +58 -0
  88. data/vendor/assets/javascripts/ueditor/dialogs/spechars/spechars.html +21 -0
  89. data/vendor/assets/javascripts/ueditor/dialogs/spechars/spechars.js +57 -0
  90. data/vendor/assets/javascripts/ueditor/dialogs/table/dragicon.png +0 -0
  91. data/vendor/assets/javascripts/ueditor/dialogs/table/edittable.css +84 -0
  92. data/vendor/assets/javascripts/ueditor/dialogs/table/edittable.html +64 -0
  93. data/vendor/assets/javascripts/ueditor/dialogs/table/edittable.js +237 -0
  94. data/vendor/assets/javascripts/ueditor/dialogs/table/edittd.html +61 -0
  95. data/vendor/assets/javascripts/ueditor/dialogs/table/edittip.html +33 -0
  96. data/vendor/assets/javascripts/ueditor/dialogs/tangram.js +1495 -0
  97. data/vendor/assets/javascripts/ueditor/dialogs/template/config.js +42 -0
  98. data/vendor/assets/javascripts/ueditor/dialogs/template/images/bg.gif +0 -0
  99. data/vendor/assets/javascripts/ueditor/dialogs/template/images/pre0.png +0 -0
  100. data/vendor/assets/javascripts/ueditor/dialogs/template/images/pre1.png +0 -0
  101. data/vendor/assets/javascripts/ueditor/dialogs/template/images/pre2.png +0 -0
  102. data/vendor/assets/javascripts/ueditor/dialogs/template/images/pre3.png +0 -0
  103. data/vendor/assets/javascripts/ueditor/dialogs/template/images/pre4.png +0 -0
  104. data/vendor/assets/javascripts/ueditor/dialogs/template/template.css +18 -0
  105. data/vendor/assets/javascripts/ueditor/dialogs/template/template.html +26 -0
  106. data/vendor/assets/javascripts/ueditor/dialogs/template/template.js +53 -0
  107. data/vendor/assets/javascripts/ueditor/dialogs/video/callbacks.js +166 -0
  108. data/vendor/assets/javascripts/ueditor/dialogs/video/images/center_focus.jpg +0 -0
  109. data/vendor/assets/javascripts/ueditor/dialogs/video/images/left_focus.jpg +0 -0
  110. data/vendor/assets/javascripts/ueditor/dialogs/video/images/none_focus.jpg +0 -0
  111. data/vendor/assets/javascripts/ueditor/dialogs/video/images/right_focus.jpg +0 -0
  112. data/vendor/assets/javascripts/ueditor/dialogs/video/video.css +150 -0
  113. data/vendor/assets/javascripts/ueditor/dialogs/video/video.html +95 -0
  114. data/vendor/assets/javascripts/ueditor/dialogs/video/video.js +471 -0
  115. data/vendor/assets/javascripts/ueditor/dialogs/webapp/webapp.html +53 -0
  116. data/vendor/assets/javascripts/ueditor/dialogs/wordimage/fClipboard_ueditor.swf +0 -0
  117. data/vendor/assets/javascripts/ueditor/dialogs/wordimage/imageUploader.swf +0 -0
  118. data/vendor/assets/javascripts/ueditor/dialogs/wordimage/wordimage.html +104 -0
  119. data/vendor/assets/javascripts/ueditor/dialogs/wordimage/wordimage.js +158 -0
  120. data/vendor/assets/javascripts/ueditor/index.html +175 -0
  121. data/vendor/assets/javascripts/ueditor/lang/en/en.js +638 -0
  122. data/vendor/assets/javascripts/ueditor/lang/en/images/addimage.png +0 -0
  123. data/vendor/assets/javascripts/ueditor/lang/en/images/alldeletebtnhoverskin.png +0 -0
  124. data/vendor/assets/javascripts/ueditor/lang/en/images/alldeletebtnupskin.png +0 -0
  125. data/vendor/assets/javascripts/ueditor/lang/en/images/background.png +0 -0
  126. data/vendor/assets/javascripts/ueditor/lang/en/images/button.png +0 -0
  127. data/vendor/assets/javascripts/ueditor/lang/en/images/copy.png +0 -0
  128. data/vendor/assets/javascripts/ueditor/lang/en/images/deletedisable.png +0 -0
  129. data/vendor/assets/javascripts/ueditor/lang/en/images/deleteenable.png +0 -0
  130. data/vendor/assets/javascripts/ueditor/lang/en/images/imglabel.png +0 -0
  131. data/vendor/assets/javascripts/ueditor/lang/en/images/listbackground.png +0 -0
  132. data/vendor/assets/javascripts/ueditor/lang/en/images/localimage.png +0 -0
  133. data/vendor/assets/javascripts/ueditor/lang/en/images/music.png +0 -0
  134. data/vendor/assets/javascripts/ueditor/lang/en/images/rotateleftdisable.png +0 -0
  135. data/vendor/assets/javascripts/ueditor/lang/en/images/rotateleftenable.png +0 -0
  136. data/vendor/assets/javascripts/ueditor/lang/en/images/rotaterightdisable.png +0 -0
  137. data/vendor/assets/javascripts/ueditor/lang/en/images/rotaterightenable.png +0 -0
  138. data/vendor/assets/javascripts/ueditor/lang/en/images/upload.png +0 -0
  139. data/vendor/assets/javascripts/ueditor/lang/zh-cn/images/copy.png +0 -0
  140. data/vendor/assets/javascripts/ueditor/lang/zh-cn/images/imglabel.png +0 -0
  141. data/vendor/assets/javascripts/ueditor/lang/zh-cn/images/localimage.png +0 -0
  142. data/vendor/assets/javascripts/ueditor/lang/zh-cn/images/music.png +0 -0
  143. data/vendor/assets/javascripts/ueditor/lang/zh-cn/images/upload.png +0 -0
  144. data/vendor/assets/javascripts/ueditor/lang/zh-cn/zh-cn.js +605 -0
  145. data/vendor/assets/javascripts/ueditor/themes/default/css/ueditor.css +1823 -0
  146. data/vendor/assets/javascripts/ueditor/themes/default/css/ueditor.min.css +8 -0
  147. data/vendor/assets/javascripts/ueditor/themes/default/dialogbase.css +100 -0
  148. data/vendor/assets/javascripts/ueditor/themes/default/images/anchor.gif +0 -0
  149. data/vendor/assets/javascripts/ueditor/themes/default/images/arrow.png +0 -0
  150. data/vendor/assets/javascripts/ueditor/themes/default/images/arrow_down.png +0 -0
  151. data/vendor/assets/javascripts/ueditor/themes/default/images/arrow_up.png +0 -0
  152. data/vendor/assets/javascripts/ueditor/themes/default/images/button-bg.gif +0 -0
  153. data/vendor/assets/javascripts/ueditor/themes/default/images/cancelbutton.gif +0 -0
  154. data/vendor/assets/javascripts/ueditor/themes/default/images/charts.png +0 -0
  155. data/vendor/assets/javascripts/ueditor/themes/default/images/cursor_h.gif +0 -0
  156. data/vendor/assets/javascripts/ueditor/themes/default/images/cursor_h.png +0 -0
  157. data/vendor/assets/javascripts/ueditor/themes/default/images/cursor_v.gif +0 -0
  158. data/vendor/assets/javascripts/ueditor/themes/default/images/cursor_v.png +0 -0
  159. data/vendor/assets/javascripts/ueditor/themes/default/images/dialog-title-bg.png +0 -0
  160. data/vendor/assets/javascripts/ueditor/themes/default/images/filescan.png +0 -0
  161. data/vendor/assets/javascripts/ueditor/themes/default/images/highlighted.gif +0 -0
  162. data/vendor/assets/javascripts/ueditor/themes/default/images/icons-all.gif +0 -0
  163. data/vendor/assets/javascripts/ueditor/themes/default/images/icons.gif +0 -0
  164. data/vendor/assets/javascripts/ueditor/themes/default/images/icons.png +0 -0
  165. data/vendor/assets/javascripts/ueditor/themes/default/images/lock.gif +0 -0
  166. data/vendor/assets/javascripts/ueditor/themes/default/images/neweditor-tab-bg.png +0 -0
  167. data/vendor/assets/javascripts/ueditor/themes/default/images/pagebreak.gif +0 -0
  168. data/vendor/assets/javascripts/ueditor/themes/default/images/scale.png +0 -0
  169. data/vendor/assets/javascripts/ueditor/themes/default/images/sortable.png +0 -0
  170. data/vendor/assets/javascripts/ueditor/themes/default/images/spacer.gif +0 -0
  171. data/vendor/assets/javascripts/ueditor/themes/default/images/sparator_v.png +0 -0
  172. data/vendor/assets/javascripts/ueditor/themes/default/images/table-cell-align.png +0 -0
  173. data/vendor/assets/javascripts/ueditor/themes/default/images/tangram-colorpicker.png +0 -0
  174. data/vendor/assets/javascripts/ueditor/themes/default/images/toolbar_bg.png +0 -0
  175. data/vendor/assets/javascripts/ueditor/themes/default/images/unhighlighted.gif +0 -0
  176. data/vendor/assets/javascripts/ueditor/themes/default/images/upload.png +0 -0
  177. data/vendor/assets/javascripts/ueditor/themes/default/images/videologo.gif +0 -0
  178. data/vendor/assets/javascripts/ueditor/themes/default/images/word.gif +0 -0
  179. data/vendor/assets/javascripts/ueditor/themes/default/images/wordpaste.png +0 -0
  180. data/vendor/assets/javascripts/ueditor/themes/iframe.css +1 -0
  181. data/vendor/assets/javascripts/ueditor/third-party/SyntaxHighlighter/shCore.js +3655 -0
  182. data/vendor/assets/javascripts/ueditor/third-party/SyntaxHighlighter/shCoreDefault.css +1 -0
  183. data/vendor/assets/javascripts/ueditor/third-party/codemirror/codemirror.css +104 -0
  184. data/vendor/assets/javascripts/ueditor/third-party/codemirror/codemirror.js +3581 -0
  185. data/vendor/assets/javascripts/ueditor/third-party/highcharts/adapters/mootools-adapter.js +13 -0
  186. data/vendor/assets/javascripts/ueditor/third-party/highcharts/adapters/mootools-adapter.src.js +313 -0
  187. data/vendor/assets/javascripts/ueditor/third-party/highcharts/adapters/prototype-adapter.js +15 -0
  188. data/vendor/assets/javascripts/ueditor/third-party/highcharts/adapters/prototype-adapter.src.js +316 -0
  189. data/vendor/assets/javascripts/ueditor/third-party/highcharts/adapters/standalone-framework.js +17 -0
  190. data/vendor/assets/javascripts/ueditor/third-party/highcharts/adapters/standalone-framework.src.js +583 -0
  191. data/vendor/assets/javascripts/ueditor/third-party/highcharts/highcharts-more.js +50 -0
  192. data/vendor/assets/javascripts/ueditor/third-party/highcharts/highcharts-more.src.js +2430 -0
  193. data/vendor/assets/javascripts/ueditor/third-party/highcharts/highcharts.js +283 -0
  194. data/vendor/assets/javascripts/ueditor/third-party/highcharts/highcharts.src.js +16974 -0
  195. data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/annotations.js +7 -0
  196. data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/annotations.src.js +401 -0
  197. data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/canvas-tools.js +133 -0
  198. data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/canvas-tools.src.js +3113 -0
  199. data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/data.js +17 -0
  200. data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/data.src.js +582 -0
  201. data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/drilldown.js +11 -0
  202. data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/drilldown.src.js +447 -0
  203. data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/exporting.js +22 -0
  204. data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/exporting.src.js +709 -0
  205. data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/funnel.js +12 -0
  206. data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/funnel.src.js +289 -0
  207. data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/heatmap.js +1 -0
  208. data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/heatmap.src.js +53 -0
  209. data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/map.js +27 -0
  210. data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/map.src.js +1002 -0
  211. data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/no-data-to-display.js +12 -0
  212. data/vendor/assets/javascripts/ueditor/third-party/highcharts/modules/no-data-to-display.src.js +128 -0
  213. data/vendor/assets/javascripts/ueditor/third-party/highcharts/themes/dark-blue.js +254 -0
  214. data/vendor/assets/javascripts/ueditor/third-party/highcharts/themes/dark-green.js +255 -0
  215. data/vendor/assets/javascripts/ueditor/third-party/highcharts/themes/gray.js +257 -0
  216. data/vendor/assets/javascripts/ueditor/third-party/highcharts/themes/grid.js +103 -0
  217. data/vendor/assets/javascripts/ueditor/third-party/highcharts/themes/skies.js +89 -0
  218. data/vendor/assets/javascripts/ueditor/third-party/jquery-1.10.2.min.js +6 -0
  219. data/vendor/assets/javascripts/ueditor/third-party/snapscreen/UEditorSnapscreen.exe +0 -0
  220. data/vendor/assets/javascripts/ueditor/third-party/swfupload/fileprogress.js +215 -0
  221. data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload.cookies.js +53 -0
  222. data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload.js +1132 -0
  223. data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload.proxy.js +96 -0
  224. data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload.queue.js +98 -0
  225. data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload.speed.js +346 -0
  226. data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload.swf +0 -0
  227. data/vendor/assets/javascripts/ueditor/third-party/swfupload/swfupload_fp9.swf +0 -0
  228. data/vendor/assets/javascripts/ueditor/third-party/video-js/font/vjs.eot +0 -0
  229. data/vendor/assets/javascripts/ueditor/third-party/video-js/font/vjs.svg +65 -0
  230. data/vendor/assets/javascripts/ueditor/third-party/video-js/font/vjs.ttf +0 -0
  231. data/vendor/assets/javascripts/ueditor/third-party/video-js/font/vjs.woff +0 -0
  232. data/vendor/assets/javascripts/ueditor/third-party/video-js/video-js.css +766 -0
  233. data/vendor/assets/javascripts/ueditor/third-party/video-js/video-js.min.css +5 -0
  234. data/vendor/assets/javascripts/ueditor/third-party/video-js/video-js.swf +0 -0
  235. data/vendor/assets/javascripts/ueditor/third-party/video-js/video.dev.js +7108 -0
  236. data/vendor/assets/javascripts/ueditor/third-party/video-js/video.js +129 -0
  237. data/vendor/assets/javascripts/ueditor/ueditor.all.js +27535 -0
  238. data/vendor/assets/javascripts/ueditor/ueditor.all.min.js +664 -0
  239. data/vendor/assets/javascripts/ueditor/ueditor.config.js +452 -0
  240. data/vendor/assets/javascripts/ueditor/ueditor.parse.js +1015 -0
  241. data/vendor/assets/javascripts/ueditor/ueditor.parse.min.js +28 -0
  242. metadata +241 -1
@@ -0,0 +1,95 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2
+ "http://www.w3.org/TR/html4/loose.dtd">
3
+ <html>
4
+ <head>
5
+ <title></title>
6
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
7
+ <script type="text/javascript" src="../internal.js"></script>
8
+ <link rel="stylesheet" type="text/css" href="video.css" />
9
+ </head>
10
+ <body>
11
+ <div class="wrapper">
12
+ <div id="videoTab">
13
+ <div id="tabHeads" class="tabhead">
14
+ <span tabSrc="video" class="focus" data-content-id="video"><var id="lang_tab_insertV"></var></span>
15
+ <span tabSrc="upload" data-content-id="upload"><var id="lang_tab_uploadV"></var></span>
16
+ </div>
17
+ <!--<span tabSrc="video" data-content-id="videoSearch"><var id="lang_tab_searchV"></var></span>-->
18
+ <div id="tabBodys" class="tabbody">
19
+ <div id="video" class="panel">
20
+ <table><tr><td><label for="videoUrl" class="url"><var id="lang_video_url"></var></label></td><td><input id="videoUrl" type="text"></td></tr></table>
21
+ <div id="preview"></div>
22
+ <div id="videoInfo">
23
+ <fieldset>
24
+ <legend><var id="lang_video_size"></var></legend>
25
+ <table>
26
+ <tr><td><label for="videoWidth"><var id="lang_videoW"></var></label></td><td><input class="txt" id="videoWidth" type="text"/></td></tr>
27
+ <tr><td><label for="videoHeight"><var id="lang_videoH"></var></label></td><td><input class="txt" id="videoHeight" type="text"/></td></tr>
28
+ </table>
29
+ </fieldset>
30
+ <fieldset>
31
+ <legend><var id="lang_alignment"></var></legend>
32
+ <div id="videoFloat"></div>
33
+ </fieldset>
34
+ </div>
35
+ </div>
36
+ <!--
37
+ <div id="videoSearch" class="panel" style="display: none">
38
+ <table style="margin-top: 5px;">
39
+ <tr>
40
+ <td><input id="videoSearchTxt" type="text" /></td>
41
+ <td>
42
+ <select id="videoType">
43
+ <option value="0"></option>
44
+ <option value="29"></option>
45
+ <option value="1"></option>
46
+ <option value="5"></option>
47
+ <option value="15"></option>
48
+ <option value="21"></option>
49
+ <option value="31"></option>
50
+ </select>
51
+ </td>
52
+ <td><input id="videoSearchBtn" type="button"/></td>
53
+ <td><input id="videoSearchReset" type="button" /></td>
54
+ </tr>
55
+ </table>
56
+ <div id="searchList"></div>
57
+ </div>
58
+ -->
59
+ <div id="upload" class="panel" style="display: none">
60
+ <div id="upload_left">
61
+ <div class="fieldset flash" id="fsUploadProgress"></div>
62
+ <div class="controller">
63
+ <span id="spanButtonPlaceHolder"></span>
64
+ <!--<span id="video_format_advice"><var id="lang_format_advice"></var></span>-->
65
+ <span id="startUpload" style="display: none;"></span>
66
+ </div>
67
+ </div>
68
+ <div id="uploadVideoInfo">
69
+ <fieldset>
70
+ <legend><var id="lang_upload_size"></var></legend>
71
+ <table>
72
+ <tr><td><label><var id="lang_upload_width"></var></label></td><td><input class="txt" id="upload_width" type="text"/></td></tr>
73
+ <tr><td><label><var id="lang_upload_height"></var></label></td><td><input class="txt" id="upload_height" type="text"/></td></tr>
74
+ </table>
75
+ </fieldset>
76
+ <fieldset>
77
+ <legend><var id="lang_upload_alignment"></var></legend>
78
+ <div id="upload_alignment"></div>
79
+ </fieldset>
80
+ </div>
81
+ </div>
82
+ </div>
83
+ </div>
84
+ </div>
85
+ <script type="text/javascript" src="video.js"></script>
86
+
87
+ <script type="text/javascript" src="../../third-party/swfupload/swfupload.js"></script>
88
+ <script type="text/javascript" src="../../third-party/swfupload/swfupload.queue.js"></script>
89
+ <script type="text/javascript" src="../../third-party/swfupload/fileprogress.js"></script>
90
+ <script type="text/javascript" src="callbacks.js"></script>
91
+ <script type="text/javascript">
92
+
93
+ </script>
94
+ </body>
95
+ </html>
@@ -0,0 +1,471 @@
1
+ /**
2
+ * Created by JetBrains PhpStorm.
3
+ * User: taoqili
4
+ * Date: 12-2-20
5
+ * Time: 上午11:19
6
+ * To change this template use File | Settings | File Templates.
7
+ */
8
+
9
+ (function(){
10
+
11
+ editor.setOpt({
12
+ videoFieldName:"upfile"
13
+ });
14
+
15
+ var video = {},
16
+ uploadVideoList = [],
17
+ isModifyUploadVideo = false;
18
+
19
+ window.onload = function(){
20
+ $focus($G("videoUrl"));
21
+ initTabs();
22
+ initVideo();
23
+ initUpload();
24
+ };
25
+
26
+ /* 初始化tab标签 */
27
+ function initTabs(){
28
+ var tabs = $G('tabHeads').children;
29
+ for (var i = 0; i < tabs.length; i++) {
30
+ domUtils.on(tabs[i], "click", function (e) {
31
+ var target = e.target || e.srcElement;
32
+ for (var j = 0; j < tabs.length; j++) {
33
+ if(tabs[j] == target){
34
+ tabs[j].className = "focus";
35
+ $G(tabs[j].getAttribute('data-content-id')).style.display = "block";
36
+ }else {
37
+ tabs[j].className = "";
38
+ $G(tabs[j].getAttribute('data-content-id')).style.display = "none";
39
+ }
40
+ }
41
+ });
42
+ }
43
+ }
44
+
45
+ function initVideo(){
46
+ createAlignButton( ["videoFloat", "upload_alignment"] );
47
+ addUrlChangeListener($G("videoUrl"));
48
+ addOkListener();
49
+
50
+ //编辑视频时初始化相关信息
51
+ (function(){
52
+ var img = editor.selection.getRange().getClosedNode(),url;
53
+ if(img && img.className){
54
+ var hasFakedClass = (img.className == "edui-faked-video"),
55
+ hasUploadClass = img.className.indexOf("edui-upload-video")!=-1;
56
+ if(hasFakedClass || hasUploadClass) {
57
+ $G("videoUrl").value = url = img.getAttribute("_url");
58
+ $G("videoWidth").value = img.width;
59
+ $G("videoHeight").value = img.height;
60
+ var align = domUtils.getComputedStyle(img,"float"),
61
+ parentAlign = domUtils.getComputedStyle(img.parentNode,"text-align");
62
+ updateAlignButton(parentAlign==="center"?"center":align);
63
+ }
64
+ if(hasUploadClass) {
65
+ isModifyUploadVideo = true;
66
+ }
67
+ }
68
+ createPreviewVideo(url);
69
+ })();
70
+ };
71
+ /**
72
+ * 监听确认和取消两个按钮事件,用户执行插入或者清空正在播放的视频实例操作
73
+ */
74
+ function addOkListener(){
75
+ dialog.onok = function(){
76
+ $G("preview").innerHTML = "";
77
+ var currentTab = findFocus("tabHeads","tabSrc");
78
+ switch(currentTab){
79
+ case "video":
80
+ return insertSingle();
81
+ break;
82
+ case "videoSearch":
83
+ return insertSearch("searchList");
84
+ break;
85
+ case "upload":
86
+ return insertUpload();
87
+ break;
88
+ }
89
+ };
90
+ dialog.oncancel = function(){
91
+ $G("preview").innerHTML = "";
92
+ };
93
+ }
94
+
95
+ function selectTxt(node){
96
+ if(node.select){
97
+ node.select();
98
+ }else{
99
+ var r = node.createTextRange && node.createTextRange();
100
+ r.select();
101
+ }
102
+ }
103
+
104
+ /**
105
+ * 依据传入的align值更新按钮信息
106
+ * @param align
107
+ */
108
+ function updateAlignButton( align ) {
109
+ var aligns = $G( "videoFloat" ).children;
110
+ for ( var i = 0, ci; ci = aligns[i++]; ) {
111
+ if ( ci.getAttribute( "name" ) == align ) {
112
+ if ( ci.className !="focus" ) {
113
+ ci.className = "focus";
114
+ }
115
+ } else {
116
+ if ( ci.className =="focus" ) {
117
+ ci.className = "";
118
+ }
119
+ }
120
+ }
121
+ }
122
+
123
+ /**
124
+ * 将单个视频信息插入编辑器中
125
+ */
126
+ function insertSingle(){
127
+ var width = $G("videoWidth"),
128
+ height = $G("videoHeight"),
129
+ url=$G('videoUrl').value,
130
+ align = findFocus("videoFloat","name");
131
+ if(!url) return false;
132
+ if ( !checkNum( [width, height] ) ) return false;
133
+ editor.execCommand('insertvideo', {
134
+ url: convert_url(url),
135
+ width: width.value,
136
+ height: height.value,
137
+ align: align
138
+ }, isModifyUploadVideo ? 'upload':null);
139
+ }
140
+
141
+ /**
142
+ * 将元素id下的所有代表视频的图片插入编辑器中
143
+ * @param id
144
+ */
145
+ function insertSearch(id){
146
+ var imgs = domUtils.getElementsByTagName($G(id),"img"),
147
+ videoObjs=[];
148
+ for(var i=0,img; img=imgs[i++];){
149
+ if(img.getAttribute("selected")){
150
+ videoObjs.push({
151
+ url:img.getAttribute("ue_video_url"),
152
+ width:420,
153
+ height:280,
154
+ align:"none"
155
+ });
156
+ }
157
+ }
158
+ editor.execCommand('insertvideo',videoObjs);
159
+ }
160
+
161
+ /**
162
+ * 找到id下具有focus类的节点并返回该节点下的某个属性
163
+ * @param id
164
+ * @param returnProperty
165
+ */
166
+ function findFocus( id, returnProperty ) {
167
+ var tabs = $G( id ).children,
168
+ property;
169
+ for ( var i = 0, ci; ci = tabs[i++]; ) {
170
+ if ( ci.className=="focus" ) {
171
+ property = ci.getAttribute( returnProperty );
172
+ break;
173
+ }
174
+ }
175
+ return property;
176
+ }
177
+ function convert_url(s){
178
+ return s.replace(/http:\/\/www\.tudou\.com\/programs\/view\/([\w\-]+)\/?/i,"http://www.tudou.com/v/$1")
179
+ .replace(/http:\/\/www\.youtube\.com\/watch\?v=([\w\-]+)/i,"http://www.youtube.com/v/$1")
180
+ .replace(/http:\/\/v\.youku\.com\/v_show\/id_([\w\-=]+)\.html/i,"http://player.youku.com/player.php/sid/$1")
181
+ .replace(/http:\/\/www\.56\.com\/u\d+\/v_([\w\-]+)\.html/i, "http://player.56.com/v_$1.swf")
182
+ .replace(/http:\/\/www.56.com\/w\d+\/play_album\-aid\-\d+_vid\-([^.]+)\.html/i, "http://player.56.com/v_$1.swf")
183
+ .replace(/http:\/\/v\.ku6\.com\/.+\/([^.]+)\.html/i, "http://player.ku6.com/refer/$1/v.swf");
184
+ }
185
+
186
+ /**
187
+ * 检测传入的所有input框中输入的长宽是否是正数
188
+ * @param nodes input框集合,
189
+ */
190
+ function checkNum( nodes ) {
191
+ for ( var i = 0, ci; ci = nodes[i++]; ) {
192
+ var value = ci.value;
193
+ if ( !isNumber( value ) && value) {
194
+ alert( lang.numError );
195
+ ci.value = "";
196
+ ci.focus();
197
+ return false;
198
+ }
199
+ }
200
+ return true;
201
+ }
202
+
203
+ /**
204
+ * 数字判断
205
+ * @param value
206
+ */
207
+ function isNumber( value ) {
208
+ return /(0|^[1-9]\d*$)/.test( value );
209
+ }
210
+
211
+ /**
212
+ * 创建图片浮动选择按钮
213
+ * @param ids
214
+ */
215
+ function createAlignButton( ids ) {
216
+ for ( var i = 0, ci; ci = ids[i++]; ) {
217
+ var floatContainer = $G( ci ),
218
+ nameMaps = {"none":lang['default'], "left":lang.floatLeft, "right":lang.floatRight, "center":lang.block};
219
+ for ( var j in nameMaps ) {
220
+ var div = document.createElement( "div" );
221
+ div.setAttribute( "name", j );
222
+ if ( j == "none" ) div.className="focus";
223
+ div.style.cssText = "background:url(images/" + j + "_focus.jpg);";
224
+ div.setAttribute( "title", nameMaps[j] );
225
+ floatContainer.appendChild( div );
226
+ }
227
+ switchSelect( ci );
228
+ }
229
+ }
230
+
231
+ /**
232
+ * 选择切换
233
+ * @param selectParentId
234
+ */
235
+ function switchSelect( selectParentId ) {
236
+ var selects = $G( selectParentId ).children;
237
+ for ( var i = 0, ci; ci = selects[i++]; ) {
238
+ domUtils.on( ci, "click", function () {
239
+ for ( var j = 0, cj; cj = selects[j++]; ) {
240
+ cj.className = "";
241
+ cj.removeAttribute && cj.removeAttribute( "class" );
242
+ }
243
+ this.className = "focus";
244
+ } )
245
+ }
246
+ }
247
+
248
+ /**
249
+ * 监听url改变事件
250
+ * @param url
251
+ */
252
+ function addUrlChangeListener(url){
253
+ if (browser.ie) {
254
+ url.onpropertychange = function () {
255
+ createPreviewVideo( this.value );
256
+ }
257
+ } else {
258
+ url.addEventListener( "input", function () {
259
+ createPreviewVideo( this.value );
260
+ }, false );
261
+ }
262
+ }
263
+
264
+ /**
265
+ * 根据url生成视频预览
266
+ * @param url
267
+ */
268
+ function createPreviewVideo(url){
269
+
270
+ if ( !url )return;
271
+ var matches = url.match(/youtu.be\/(\w+)$/) || url.match(/youtube\.com\/watch\?v=(\w+)/) || url.match(/youtube.com\/v\/(\w+)/),
272
+ youku = url.match(/youku\.com\/v_show\/id_(\w+)/),
273
+ youkuPlay = /player\.youku\.com/ig.test(url);
274
+ if(!youkuPlay){
275
+ if (matches){
276
+ url = "https://www.youtube.com/v/" + matches[1] + "?version=3&feature=player_embedded";
277
+ }else if(youku){
278
+ url = "http://player.youku.com/player.php/sid/"+youku[1]+"/v.swf"
279
+ }else if(!endWith(url,[".swf",".flv",".wmv"])){
280
+ $G("preview").innerHTML = lang.urlError;
281
+ return;
282
+ }
283
+ }else{
284
+ url = url.replace(/\?f=.*/,"");
285
+ }
286
+ $G("preview").innerHTML = '<embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"' +
287
+ ' src="' + url + '"' +
288
+ ' width="' + 420 + '"' +
289
+ ' height="' + 280 + '"' +
290
+ ' wmode="transparent" play="true" loop="false" menu="false" allowscriptaccess="never" allowfullscreen="true" ></embed>';
291
+ }
292
+
293
+ /**
294
+ * 末尾字符检测
295
+ * @param str
296
+ * @param endStrArr
297
+ */
298
+ function endWith(str,endStrArr){
299
+ for(var i=0,len = endStrArr.length;i<len;i++){
300
+ var tmp = endStrArr[i];
301
+ if(str.length - tmp.length<0) return false;
302
+
303
+ if(str.substring(str.length-tmp.length)==tmp){
304
+ return true;
305
+ }
306
+ }
307
+ return false;
308
+ }
309
+
310
+ /**
311
+ * ajax获取视频信息
312
+ */
313
+ function getMovie(){
314
+ var keywordInput = $G("videoSearchTxt");
315
+ if(!keywordInput.getAttribute("hasClick") ||!keywordInput.value){
316
+ selectTxt(keywordInput);
317
+ return;
318
+ }
319
+ $G( "searchList" ).innerHTML = lang.loading;
320
+ var keyword = keywordInput.value,
321
+ type = $G("videoType").value,
322
+ str="";
323
+ ajax.request(editor.options.getMovieUrl,{
324
+ searchKey:keyword,
325
+ videoType:type,
326
+ onsuccess:function(xhr){
327
+ try{
328
+ var info = eval("("+xhr.responseText+")");
329
+ }catch(e){
330
+ return;
331
+ }
332
+
333
+ var videos = info.multiPageResult.results;
334
+ var html=["<table width='530'>"];
335
+ for(var i=0,ci;ci = videos[i++];){
336
+ html.push(
337
+ "<tr>" +
338
+ "<td><img title='"+lang.clickToSelect+"' ue_video_url='"+ci.outerPlayerUrl+"' alt='"+ci.tags+"' width='106' height='80' src='"+ci.picUrl+"' /> </td>" +
339
+ "<td>" +
340
+ "<p><a target='_blank' title='"+lang.goToSource+"' href='"+ci.itemUrl+"'>"+ci.title.substr(0,30)+"</a></p>" +
341
+ "<p style='height: 62px;line-height: 20px' title='"+ci.description+"'> "+ ci.description.substr(0,95) +" </p>" +
342
+ "</td>" +
343
+ "</tr>"
344
+ );
345
+ }
346
+ html.push("</table>");
347
+ $G("searchList").innerHTML = str = html.length ==2 ?lang.noVideo : html.join("");
348
+ var imgs = domUtils.getElementsByTagName($G("searchList"),"img");
349
+ if(!imgs)return;
350
+ for(var i=0,img;img = imgs[i++];){
351
+ domUtils.on(img,"click",function(){
352
+ changeSelected(this);
353
+ })
354
+ }
355
+ }
356
+ });
357
+ }
358
+
359
+ /**
360
+ * 改变对象o的选中状态
361
+ * @param o
362
+ */
363
+ function changeSelected(o){
364
+ if ( o.getAttribute( "selected" ) ) {
365
+ o.removeAttribute( "selected" );
366
+ o.style.cssText = "filter:alpha(Opacity=100);-moz-opacity:1;opacity: 1;border: 2px solid #fff";
367
+ } else {
368
+ o.setAttribute( "selected", "true" );
369
+ o.style.cssText = "filter:alpha(Opacity=50);-moz-opacity:0.5;opacity: 0.5;border:2px solid blue;";
370
+ }
371
+ }
372
+
373
+
374
+ /* 插入上传视频 */
375
+ function insertUpload(){
376
+ var videoObjs=[],
377
+ uploadDir = editor.options.videoPath,
378
+ width = $G('upload_width').value || 420,
379
+ height = $G('upload_height').value || 280,
380
+ align = findFocus("upload_alignment","name") || 'none';
381
+ for(var key in uploadVideoList) {
382
+ var file = uploadVideoList[key];
383
+ videoObjs.push({
384
+ url: uploadDir + file.url,
385
+ width:width,
386
+ height:height,
387
+ align:align
388
+ });
389
+ }
390
+ editor.execCommand('insertvideo', videoObjs, 'upload');
391
+ }
392
+
393
+ /*初始化上传标签*/
394
+ function initUpload(){
395
+ var settings = {
396
+ upload_url:editor.options.videoUrl, //附件上传服务器地址
397
+ file_post_name:editor.options.videoFieldName, //向后台提交的表单名
398
+ flash_url:"../../third-party/swfupload/swfupload.swf",
399
+ flash9_url:"../../third-party/swfupload/swfupload_fp9.swf",
400
+ post_params:{"PHPSESSID":"<?php echo session_id(); ?>","fileNameFormat":editor.options.fileNameFormat}, //解决session丢失问题
401
+ file_size_limit:"100 MB", //文件大小限制,此处仅是前端flash选择时候的限制,具体还需要和后端结合判断
402
+ file_types:"*.*", //允许的扩展名,多个扩展名之间用分号隔开,支持*通配符
403
+ file_types_description:"Video Files", //扩展名描述
404
+ file_upload_limit:100, //单次可同时上传的文件数目
405
+ file_queue_limit:10, //队列中可同时上传的文件数目
406
+ custom_settings:{ //自定义设置,用户可在此向服务器传递自定义变量
407
+ progressTarget:"fsUploadProgress",
408
+ startUploadId:"startUpload"
409
+ },
410
+ debug:false,
411
+
412
+ // 按钮设置
413
+ button_image_url:"../../themes/default/images/filescan.png",
414
+ button_width:"100",
415
+ button_height:"25",
416
+ button_placeholder_id:"spanButtonPlaceHolder",
417
+ button_text:'<span class="theFont">'+lang.browseFiles+'</span>',
418
+ button_text_style:".theFont { font-size:14px;}",
419
+ button_text_left_padding:10,
420
+ button_text_top_padding:4,
421
+ // 所有回调函数
422
+ swfupload_preload_handler:preLoad,
423
+ swfupload_load_failed_handler:loadFailed,
424
+ file_queued_handler:fileQueued,
425
+ file_queue_error_handler:fileQueueError,
426
+ //选择文件完成回调
427
+ file_dialog_complete_handler:function(numFilesSelected, numFilesQueued) {
428
+ var me = this; //此处的this是swfupload对象
429
+ if (numFilesQueued > 0) {
430
+ dialog.buttons[0].setDisabled(true);
431
+ var start = $G(this.customSettings.startUploadId);
432
+ start.style.display = "";
433
+ start.onclick = function(){
434
+ me.startUpload();
435
+ start.style.display = "none";
436
+ }
437
+ }
438
+ },
439
+ upload_start_handler:uploadStart,
440
+ upload_progress_handler:uploadProgress,
441
+ upload_error_handler:uploadError,
442
+ upload_success_handler:function (file, serverData) {
443
+ try{
444
+ var info = eval("("+serverData+")");
445
+ }catch(e){}
446
+ var progress = new FileProgress(file, this.customSettings.progressTarget);
447
+ if(info.state=="SUCCESS"){
448
+ progress.setComplete();
449
+ progress.setStatus("<span style='color: #0b0;font-weight: bold'>"+lang.uploadSuccess+"</span>");
450
+ uploadVideoList.push({url:info.url,type:info.fileType,original:info.original});
451
+ progress.toggleCancel(true,this,lang.delSuccessFile);
452
+ }else{
453
+ progress.setError();
454
+ progress.setStatus(info.state);
455
+ progress.toggleCancel(true,this,lang.delFailSaveFile);
456
+ }
457
+ },
458
+ //上传完成回调
459
+ upload_complete_handler:uploadComplete,
460
+ //队列完成回调
461
+ queue_complete_handler:function(numFilesUploaded){
462
+ dialog.buttons[0].setDisabled(false);
463
+ // var status = $G("divStatus");
464
+ // var num = status.innerHTML.match(/\d+/g);
465
+ // status.innerHTML = ((num && num[0] ?parseInt(num[0]):0) + numFilesUploaded) +lang.statusPrompt;
466
+ }
467
+ };
468
+ var swfupload = new SWFUpload( settings );
469
+ };
470
+
471
+ })();