tinymce-rails 3.5.11.1 → 4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (336) hide show
  1. data/LICENSE +1 -1
  2. data/README.md +40 -103
  3. data/Rakefile +10 -15
  4. data/app/assets/javascripts/tinymce-jquery.js +1 -1
  5. data/app/assets/javascripts/tinymce.js +1 -1
  6. data/app/assets/javascripts/tinymce/preinit.js.erb +1 -2
  7. data/lib/tasks/tinymce-assets.rake +3 -6
  8. data/lib/tinymce/rails.rb +1 -1
  9. data/lib/tinymce/rails/asset_installer.rb +36 -34
  10. data/lib/tinymce/rails/asset_manifest.rb +89 -108
  11. data/lib/tinymce/rails/configuration.rb +36 -29
  12. data/lib/tinymce/rails/engine.rb +1 -40
  13. data/lib/tinymce/rails/helper.rb +5 -9
  14. data/lib/tinymce/rails/version.rb +2 -2
  15. data/vendor/assets/javascripts/tinymce/jquery.tinymce.js +1 -1
  16. data/vendor/assets/javascripts/tinymce/langs/readme.md +3 -0
  17. data/vendor/assets/javascripts/tinymce/license.txt +504 -504
  18. data/vendor/assets/javascripts/tinymce/plugins/advlist/plugin.js +1 -0
  19. data/vendor/assets/javascripts/tinymce/plugins/anchor/plugin.js +1 -0
  20. data/vendor/assets/javascripts/tinymce/plugins/autolink/plugin.js +1 -0
  21. data/vendor/assets/javascripts/tinymce/plugins/autoresize/plugin.js +1 -0
  22. data/vendor/assets/javascripts/tinymce/plugins/autosave/plugin.js +1 -0
  23. data/vendor/assets/javascripts/tinymce/plugins/bbcode/plugin.js +1 -0
  24. data/vendor/assets/javascripts/tinymce/plugins/charmap/plugin.js +1 -0
  25. data/vendor/assets/javascripts/tinymce/plugins/code/plugin.js +1 -0
  26. data/vendor/assets/javascripts/tinymce/{utils → plugins/compat3x}/editable_selects.js +70 -70
  27. data/vendor/assets/javascripts/tinymce/{utils → plugins/compat3x}/form_utils.js +210 -210
  28. data/vendor/assets/javascripts/tinymce/{utils → plugins/compat3x}/mctabs.js +161 -161
  29. data/vendor/assets/javascripts/tinymce/plugins/compat3x/tiny_mce_popup.js +435 -0
  30. data/vendor/assets/javascripts/tinymce/{utils → plugins/compat3x}/validate.js +252 -252
  31. data/vendor/assets/javascripts/tinymce/plugins/contextmenu/plugin.js +1 -0
  32. data/vendor/assets/javascripts/tinymce/plugins/directionality/plugin.js +1 -0
  33. data/vendor/assets/javascripts/tinymce/plugins/{emotions → emoticons}/img/smiley-cool.gif +0 -0
  34. data/vendor/assets/javascripts/tinymce/plugins/{emotions → emoticons}/img/smiley-cry.gif +0 -0
  35. data/vendor/assets/javascripts/tinymce/plugins/{emotions → emoticons}/img/smiley-embarassed.gif +0 -0
  36. data/vendor/assets/javascripts/tinymce/plugins/{emotions → emoticons}/img/smiley-foot-in-mouth.gif +0 -0
  37. data/vendor/assets/javascripts/tinymce/plugins/{emotions → emoticons}/img/smiley-frown.gif +0 -0
  38. data/vendor/assets/javascripts/tinymce/plugins/{emotions → emoticons}/img/smiley-innocent.gif +0 -0
  39. data/vendor/assets/javascripts/tinymce/plugins/{emotions → emoticons}/img/smiley-kiss.gif +0 -0
  40. data/vendor/assets/javascripts/tinymce/plugins/{emotions → emoticons}/img/smiley-laughing.gif +0 -0
  41. data/vendor/assets/javascripts/tinymce/plugins/{emotions → emoticons}/img/smiley-money-mouth.gif +0 -0
  42. data/vendor/assets/javascripts/tinymce/plugins/{emotions → emoticons}/img/smiley-sealed.gif +0 -0
  43. data/vendor/assets/javascripts/tinymce/plugins/{emotions → emoticons}/img/smiley-smile.gif +0 -0
  44. data/vendor/assets/javascripts/tinymce/plugins/{emotions → emoticons}/img/smiley-surprised.gif +0 -0
  45. data/vendor/assets/javascripts/tinymce/plugins/{emotions → emoticons}/img/smiley-tongue-out.gif +0 -0
  46. data/vendor/assets/javascripts/tinymce/plugins/{emotions → emoticons}/img/smiley-undecided.gif +0 -0
  47. data/vendor/assets/javascripts/tinymce/plugins/{emotions → emoticons}/img/smiley-wink.gif +0 -0
  48. data/vendor/assets/javascripts/tinymce/plugins/{emotions → emoticons}/img/smiley-yell.gif +0 -0
  49. data/vendor/assets/javascripts/tinymce/plugins/emoticons/plugin.js +1 -0
  50. data/vendor/assets/javascripts/tinymce/plugins/example/plugin.js +1 -0
  51. data/vendor/assets/javascripts/tinymce/plugins/example_dependency/plugin.js +1 -0
  52. data/vendor/assets/javascripts/tinymce/plugins/fullpage/plugin.js +1 -0
  53. data/vendor/assets/javascripts/tinymce/plugins/fullscreen/plugin.js +1 -0
  54. data/vendor/assets/javascripts/tinymce/plugins/hr/plugin.js +1 -0
  55. data/vendor/assets/javascripts/tinymce/plugins/image/plugin.js +1 -0
  56. data/vendor/assets/javascripts/tinymce/plugins/insertdatetime/plugin.js +1 -0
  57. data/vendor/assets/javascripts/tinymce/plugins/layer/plugin.js +1 -0
  58. data/vendor/assets/javascripts/tinymce/plugins/legacyoutput/plugin.js +1 -0
  59. data/vendor/assets/javascripts/tinymce/plugins/link/plugin.js +1 -0
  60. data/vendor/assets/javascripts/tinymce/plugins/lists/plugin.js +1 -0
  61. data/vendor/assets/javascripts/tinymce/plugins/media/plugin.js +1 -0
  62. data/vendor/assets/javascripts/tinymce/plugins/nonbreaking/plugin.js +1 -0
  63. data/vendor/assets/javascripts/tinymce/plugins/noneditable/plugin.js +1 -0
  64. data/vendor/assets/javascripts/tinymce/plugins/pagebreak/plugin.js +1 -0
  65. data/vendor/assets/javascripts/tinymce/plugins/paste/plugin.js +1 -0
  66. data/vendor/assets/javascripts/tinymce/plugins/preview/plugin.js +1 -0
  67. data/vendor/assets/javascripts/tinymce/plugins/print/plugin.js +1 -0
  68. data/vendor/assets/javascripts/tinymce/plugins/save/plugin.js +1 -0
  69. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/plugin.js +1 -0
  70. data/vendor/assets/javascripts/tinymce/plugins/spellchecker/plugin.js +1 -0
  71. data/vendor/assets/javascripts/tinymce/plugins/tabfocus/plugin.js +1 -0
  72. data/vendor/assets/javascripts/tinymce/plugins/table/plugin.js +1 -0
  73. data/vendor/assets/javascripts/tinymce/plugins/template/plugin.js +1 -0
  74. data/vendor/assets/javascripts/tinymce/plugins/textcolor/plugin.js +1 -0
  75. data/vendor/assets/javascripts/tinymce/plugins/visualblocks/css/visualblocks.css +114 -21
  76. data/vendor/assets/javascripts/tinymce/plugins/visualblocks/plugin.js +1 -0
  77. data/vendor/assets/javascripts/tinymce/plugins/visualchars/plugin.js +1 -0
  78. data/vendor/assets/javascripts/tinymce/plugins/wordcount/plugin.js +1 -0
  79. data/vendor/assets/javascripts/tinymce/skins/lightgray/content.inline.min.css +1 -0
  80. data/vendor/assets/javascripts/tinymce/skins/lightgray/content.min.css +1 -0
  81. data/vendor/assets/javascripts/tinymce/skins/lightgray/fonts/icomoon-small.eot +0 -0
  82. data/vendor/assets/javascripts/tinymce/skins/lightgray/fonts/icomoon-small.svg +166 -0
  83. data/vendor/assets/javascripts/tinymce/skins/lightgray/fonts/icomoon-small.ttf +0 -0
  84. data/vendor/assets/javascripts/tinymce/skins/lightgray/fonts/icomoon-small.woff +0 -0
  85. data/vendor/assets/javascripts/tinymce/skins/lightgray/fonts/icomoon.eot +0 -0
  86. data/vendor/assets/javascripts/tinymce/skins/lightgray/fonts/icomoon.svg +150 -0
  87. data/vendor/assets/javascripts/tinymce/skins/lightgray/fonts/icomoon.ttf +0 -0
  88. data/vendor/assets/javascripts/tinymce/skins/lightgray/fonts/icomoon.woff +0 -0
  89. data/vendor/assets/javascripts/tinymce/skins/lightgray/fonts/readme.md +1 -0
  90. data/vendor/assets/javascripts/tinymce/skins/lightgray/img/anchor.gif +0 -0
  91. data/vendor/assets/javascripts/tinymce/skins/lightgray/img/loader.gif +0 -0
  92. data/vendor/assets/javascripts/tinymce/skins/lightgray/img/object.gif +0 -0
  93. data/vendor/assets/javascripts/tinymce/{themes/advanced → skins/lightgray}/img/trans.gif +0 -0
  94. data/vendor/assets/javascripts/tinymce/{plugins/spellchecker → skins/lightgray}/img/wline.gif +0 -0
  95. data/vendor/assets/javascripts/tinymce/skins/lightgray/skin.ie7.min.css +1 -0
  96. data/vendor/assets/javascripts/tinymce/skins/lightgray/skin.min.css +1 -0
  97. data/vendor/assets/javascripts/tinymce/themes/modern/theme.js +1 -0
  98. data/vendor/assets/javascripts/tinymce/tinymce.js +10 -0
  99. data/vendor/assets/javascripts/tinymce/tinymce_jquery.js +9 -0
  100. metadata +100 -272
  101. checksums.yaml +0 -7
  102. data/lib/tinymce/rails/asset_installer/compile.rb +0 -44
  103. data/lib/tinymce/rails/asset_installer/copy.rb +0 -52
  104. data/vendor/assets/javascripts/tinymce/langs/en.js +0 -1
  105. data/vendor/assets/javascripts/tinymce/plugins/advhr/css/advhr.css +0 -5
  106. data/vendor/assets/javascripts/tinymce/plugins/advhr/editor_plugin.js +0 -1
  107. data/vendor/assets/javascripts/tinymce/plugins/advhr/editor_plugin_src.js +0 -57
  108. data/vendor/assets/javascripts/tinymce/plugins/advhr/js/rule.js +0 -43
  109. data/vendor/assets/javascripts/tinymce/plugins/advhr/langs/en_dlg.js +0 -1
  110. data/vendor/assets/javascripts/tinymce/plugins/advhr/rule.htm +0 -58
  111. data/vendor/assets/javascripts/tinymce/plugins/advimage/css/advimage.css +0 -13
  112. data/vendor/assets/javascripts/tinymce/plugins/advimage/editor_plugin.js +0 -1
  113. data/vendor/assets/javascripts/tinymce/plugins/advimage/editor_plugin_src.js +0 -50
  114. data/vendor/assets/javascripts/tinymce/plugins/advimage/image.htm +0 -235
  115. data/vendor/assets/javascripts/tinymce/plugins/advimage/img/sample.gif +0 -0
  116. data/vendor/assets/javascripts/tinymce/plugins/advimage/js/image.js +0 -464
  117. data/vendor/assets/javascripts/tinymce/plugins/advimage/langs/en_dlg.js +0 -1
  118. data/vendor/assets/javascripts/tinymce/plugins/advlink/css/advlink.css +0 -8
  119. data/vendor/assets/javascripts/tinymce/plugins/advlink/editor_plugin.js +0 -1
  120. data/vendor/assets/javascripts/tinymce/plugins/advlink/editor_plugin_src.js +0 -61
  121. data/vendor/assets/javascripts/tinymce/plugins/advlink/js/advlink.js +0 -543
  122. data/vendor/assets/javascripts/tinymce/plugins/advlink/langs/en_dlg.js +0 -1
  123. data/vendor/assets/javascripts/tinymce/plugins/advlink/link.htm +0 -338
  124. data/vendor/assets/javascripts/tinymce/plugins/advlist/editor_plugin.js +0 -1
  125. data/vendor/assets/javascripts/tinymce/plugins/advlist/editor_plugin_src.js +0 -176
  126. data/vendor/assets/javascripts/tinymce/plugins/autolink/editor_plugin.js +0 -1
  127. data/vendor/assets/javascripts/tinymce/plugins/autolink/editor_plugin_src.js +0 -184
  128. data/vendor/assets/javascripts/tinymce/plugins/autoresize/editor_plugin.js +0 -1
  129. data/vendor/assets/javascripts/tinymce/plugins/autoresize/editor_plugin_src.js +0 -119
  130. data/vendor/assets/javascripts/tinymce/plugins/autosave/editor_plugin.js +0 -1
  131. data/vendor/assets/javascripts/tinymce/plugins/autosave/editor_plugin_src.js +0 -433
  132. data/vendor/assets/javascripts/tinymce/plugins/bbcode/editor_plugin.js +0 -1
  133. data/vendor/assets/javascripts/tinymce/plugins/bbcode/editor_plugin_src.js +0 -120
  134. data/vendor/assets/javascripts/tinymce/plugins/contextmenu/editor_plugin.js +0 -1
  135. data/vendor/assets/javascripts/tinymce/plugins/contextmenu/editor_plugin_src.js +0 -163
  136. data/vendor/assets/javascripts/tinymce/plugins/directionality/editor_plugin.js +0 -1
  137. data/vendor/assets/javascripts/tinymce/plugins/directionality/editor_plugin_src.js +0 -85
  138. data/vendor/assets/javascripts/tinymce/plugins/emotions/editor_plugin.js +0 -1
  139. data/vendor/assets/javascripts/tinymce/plugins/emotions/editor_plugin_src.js +0 -43
  140. data/vendor/assets/javascripts/tinymce/plugins/emotions/emotions.htm +0 -42
  141. data/vendor/assets/javascripts/tinymce/plugins/emotions/js/emotions.js +0 -43
  142. data/vendor/assets/javascripts/tinymce/plugins/emotions/langs/en_dlg.js +0 -1
  143. data/vendor/assets/javascripts/tinymce/plugins/example/dialog.htm +0 -22
  144. data/vendor/assets/javascripts/tinymce/plugins/example/editor_plugin.js +0 -1
  145. data/vendor/assets/javascripts/tinymce/plugins/example/editor_plugin_src.js +0 -84
  146. data/vendor/assets/javascripts/tinymce/plugins/example/img/example.gif +0 -0
  147. data/vendor/assets/javascripts/tinymce/plugins/example/js/dialog.js +0 -19
  148. data/vendor/assets/javascripts/tinymce/plugins/example/langs/en.js +0 -3
  149. data/vendor/assets/javascripts/tinymce/plugins/example/langs/en_dlg.js +0 -3
  150. data/vendor/assets/javascripts/tinymce/plugins/example_dependency/editor_plugin.js +0 -1
  151. data/vendor/assets/javascripts/tinymce/plugins/example_dependency/editor_plugin_src.js +0 -50
  152. data/vendor/assets/javascripts/tinymce/plugins/fullpage/css/fullpage.css +0 -143
  153. data/vendor/assets/javascripts/tinymce/plugins/fullpage/editor_plugin.js +0 -1
  154. data/vendor/assets/javascripts/tinymce/plugins/fullpage/editor_plugin_src.js +0 -405
  155. data/vendor/assets/javascripts/tinymce/plugins/fullpage/fullpage.htm +0 -259
  156. data/vendor/assets/javascripts/tinymce/plugins/fullpage/js/fullpage.js +0 -232
  157. data/vendor/assets/javascripts/tinymce/plugins/fullpage/langs/en_dlg.js +0 -1
  158. data/vendor/assets/javascripts/tinymce/plugins/fullscreen/editor_plugin.js +0 -1
  159. data/vendor/assets/javascripts/tinymce/plugins/fullscreen/editor_plugin_src.js +0 -234
  160. data/vendor/assets/javascripts/tinymce/plugins/fullscreen/fullscreen.htm +0 -117
  161. data/vendor/assets/javascripts/tinymce/plugins/iespell/editor_plugin.js +0 -1
  162. data/vendor/assets/javascripts/tinymce/plugins/iespell/editor_plugin_src.js +0 -54
  163. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/editor_plugin.js +0 -1
  164. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/editor_plugin_src.js +0 -699
  165. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  166. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  167. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  168. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  169. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  170. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  171. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  172. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css +0 -90
  173. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/template.htm +0 -387
  174. data/vendor/assets/javascripts/tinymce/plugins/insertdatetime/editor_plugin.js +0 -1
  175. data/vendor/assets/javascripts/tinymce/plugins/insertdatetime/editor_plugin_src.js +0 -83
  176. data/vendor/assets/javascripts/tinymce/plugins/layer/editor_plugin.js +0 -1
  177. data/vendor/assets/javascripts/tinymce/plugins/layer/editor_plugin_src.js +0 -262
  178. data/vendor/assets/javascripts/tinymce/plugins/legacyoutput/editor_plugin.js +0 -1
  179. data/vendor/assets/javascripts/tinymce/plugins/legacyoutput/editor_plugin_src.js +0 -139
  180. data/vendor/assets/javascripts/tinymce/plugins/lists/editor_plugin.js +0 -1
  181. data/vendor/assets/javascripts/tinymce/plugins/lists/editor_plugin_src.js +0 -955
  182. data/vendor/assets/javascripts/tinymce/plugins/media/css/media.css +0 -17
  183. data/vendor/assets/javascripts/tinymce/plugins/media/editor_plugin.js +0 -1
  184. data/vendor/assets/javascripts/tinymce/plugins/media/editor_plugin_src.js +0 -898
  185. data/vendor/assets/javascripts/tinymce/plugins/media/js/embed.js +0 -73
  186. data/vendor/assets/javascripts/tinymce/plugins/media/js/media.js +0 -513
  187. data/vendor/assets/javascripts/tinymce/plugins/media/langs/en_dlg.js +0 -1
  188. data/vendor/assets/javascripts/tinymce/plugins/media/media.htm +0 -922
  189. data/vendor/assets/javascripts/tinymce/plugins/nonbreaking/editor_plugin.js +0 -1
  190. data/vendor/assets/javascripts/tinymce/plugins/nonbreaking/editor_plugin_src.js +0 -54
  191. data/vendor/assets/javascripts/tinymce/plugins/noneditable/editor_plugin.js +0 -1
  192. data/vendor/assets/javascripts/tinymce/plugins/noneditable/editor_plugin_src.js +0 -537
  193. data/vendor/assets/javascripts/tinymce/plugins/pagebreak/editor_plugin.js +0 -1
  194. data/vendor/assets/javascripts/tinymce/plugins/pagebreak/editor_plugin_src.js +0 -74
  195. data/vendor/assets/javascripts/tinymce/plugins/paste/editor_plugin.js +0 -1
  196. data/vendor/assets/javascripts/tinymce/plugins/paste/editor_plugin_src.js +0 -887
  197. data/vendor/assets/javascripts/tinymce/plugins/paste/js/pastetext.js +0 -36
  198. data/vendor/assets/javascripts/tinymce/plugins/paste/js/pasteword.js +0 -51
  199. data/vendor/assets/javascripts/tinymce/plugins/paste/langs/en_dlg.js +0 -1
  200. data/vendor/assets/javascripts/tinymce/plugins/paste/pastetext.htm +0 -27
  201. data/vendor/assets/javascripts/tinymce/plugins/paste/pasteword.htm +0 -21
  202. data/vendor/assets/javascripts/tinymce/plugins/preview/editor_plugin.js +0 -1
  203. data/vendor/assets/javascripts/tinymce/plugins/preview/editor_plugin_src.js +0 -53
  204. data/vendor/assets/javascripts/tinymce/plugins/preview/example.html +0 -28
  205. data/vendor/assets/javascripts/tinymce/plugins/preview/jscripts/embed.js +0 -73
  206. data/vendor/assets/javascripts/tinymce/plugins/preview/preview.html +0 -17
  207. data/vendor/assets/javascripts/tinymce/plugins/print/editor_plugin.js +0 -1
  208. data/vendor/assets/javascripts/tinymce/plugins/print/editor_plugin_src.js +0 -34
  209. data/vendor/assets/javascripts/tinymce/plugins/save/editor_plugin.js +0 -1
  210. data/vendor/assets/javascripts/tinymce/plugins/save/editor_plugin_src.js +0 -101
  211. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/css/searchreplace.css +0 -6
  212. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/editor_plugin.js +0 -1
  213. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/editor_plugin_src.js +0 -61
  214. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/js/searchreplace.js +0 -152
  215. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/langs/en_dlg.js +0 -1
  216. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/searchreplace.htm +0 -100
  217. data/vendor/assets/javascripts/tinymce/plugins/spellchecker/css/content.css +0 -1
  218. data/vendor/assets/javascripts/tinymce/plugins/spellchecker/editor_plugin.js +0 -1
  219. data/vendor/assets/javascripts/tinymce/plugins/spellchecker/editor_plugin_src.js +0 -471
  220. data/vendor/assets/javascripts/tinymce/plugins/style/css/props.css +0 -14
  221. data/vendor/assets/javascripts/tinymce/plugins/style/editor_plugin.js +0 -1
  222. data/vendor/assets/javascripts/tinymce/plugins/style/editor_plugin_src.js +0 -71
  223. data/vendor/assets/javascripts/tinymce/plugins/style/js/props.js +0 -709
  224. data/vendor/assets/javascripts/tinymce/plugins/style/langs/en_dlg.js +0 -1
  225. data/vendor/assets/javascripts/tinymce/plugins/style/props.htm +0 -845
  226. data/vendor/assets/javascripts/tinymce/plugins/style/readme.txt +0 -19
  227. data/vendor/assets/javascripts/tinymce/plugins/tabfocus/editor_plugin.js +0 -1
  228. data/vendor/assets/javascripts/tinymce/plugins/tabfocus/editor_plugin_src.js +0 -122
  229. data/vendor/assets/javascripts/tinymce/plugins/table/cell.htm +0 -180
  230. data/vendor/assets/javascripts/tinymce/plugins/table/css/cell.css +0 -17
  231. data/vendor/assets/javascripts/tinymce/plugins/table/css/row.css +0 -25
  232. data/vendor/assets/javascripts/tinymce/plugins/table/css/table.css +0 -13
  233. data/vendor/assets/javascripts/tinymce/plugins/table/editor_plugin.js +0 -1
  234. data/vendor/assets/javascripts/tinymce/plugins/table/editor_plugin_src.js +0 -1456
  235. data/vendor/assets/javascripts/tinymce/plugins/table/js/cell.js +0 -319
  236. data/vendor/assets/javascripts/tinymce/plugins/table/js/merge_cells.js +0 -27
  237. data/vendor/assets/javascripts/tinymce/plugins/table/js/row.js +0 -254
  238. data/vendor/assets/javascripts/tinymce/plugins/table/js/table.js +0 -501
  239. data/vendor/assets/javascripts/tinymce/plugins/table/langs/en_dlg.js +0 -1
  240. data/vendor/assets/javascripts/tinymce/plugins/table/merge_cells.htm +0 -32
  241. data/vendor/assets/javascripts/tinymce/plugins/table/row.htm +0 -158
  242. data/vendor/assets/javascripts/tinymce/plugins/table/table.htm +0 -188
  243. data/vendor/assets/javascripts/tinymce/plugins/template/blank.htm +0 -12
  244. data/vendor/assets/javascripts/tinymce/plugins/template/css/template.css +0 -23
  245. data/vendor/assets/javascripts/tinymce/plugins/template/editor_plugin.js +0 -1
  246. data/vendor/assets/javascripts/tinymce/plugins/template/editor_plugin_src.js +0 -159
  247. data/vendor/assets/javascripts/tinymce/plugins/template/js/template.js +0 -106
  248. data/vendor/assets/javascripts/tinymce/plugins/template/langs/en_dlg.js +0 -1
  249. data/vendor/assets/javascripts/tinymce/plugins/template/template.htm +0 -31
  250. data/vendor/assets/javascripts/tinymce/plugins/visualblocks/editor_plugin.js +0 -1
  251. data/vendor/assets/javascripts/tinymce/plugins/visualblocks/editor_plugin_src.js +0 -63
  252. data/vendor/assets/javascripts/tinymce/plugins/visualchars/editor_plugin.js +0 -1
  253. data/vendor/assets/javascripts/tinymce/plugins/visualchars/editor_plugin_src.js +0 -83
  254. data/vendor/assets/javascripts/tinymce/plugins/wordcount/editor_plugin.js +0 -1
  255. data/vendor/assets/javascripts/tinymce/plugins/wordcount/editor_plugin_src.js +0 -122
  256. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/abbr.htm +0 -142
  257. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/acronym.htm +0 -142
  258. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/attributes.htm +0 -149
  259. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/cite.htm +0 -142
  260. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/css/attributes.css +0 -11
  261. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/css/popup.css +0 -9
  262. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/del.htm +0 -162
  263. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/editor_plugin.js +0 -1
  264. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/editor_plugin_src.js +0 -132
  265. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/ins.htm +0 -162
  266. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/js/abbr.js +0 -28
  267. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/js/acronym.js +0 -28
  268. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/js/attributes.js +0 -111
  269. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/js/cite.js +0 -28
  270. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/js/del.js +0 -53
  271. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/js/element_common.js +0 -229
  272. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/js/ins.js +0 -53
  273. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/langs/en_dlg.js +0 -1
  274. data/vendor/assets/javascripts/tinymce/themes/advanced/about.htm +0 -52
  275. data/vendor/assets/javascripts/tinymce/themes/advanced/anchor.htm +0 -26
  276. data/vendor/assets/javascripts/tinymce/themes/advanced/charmap.htm +0 -55
  277. data/vendor/assets/javascripts/tinymce/themes/advanced/color_picker.htm +0 -70
  278. data/vendor/assets/javascripts/tinymce/themes/advanced/editor_template.js +0 -1
  279. data/vendor/assets/javascripts/tinymce/themes/advanced/editor_template_src.js +0 -1490
  280. data/vendor/assets/javascripts/tinymce/themes/advanced/image.htm +0 -80
  281. data/vendor/assets/javascripts/tinymce/themes/advanced/img/colorpicker.jpg +0 -0
  282. data/vendor/assets/javascripts/tinymce/themes/advanced/img/flash.gif +0 -0
  283. data/vendor/assets/javascripts/tinymce/themes/advanced/img/icons.gif +0 -0
  284. data/vendor/assets/javascripts/tinymce/themes/advanced/img/iframe.gif +0 -0
  285. data/vendor/assets/javascripts/tinymce/themes/advanced/img/pagebreak.gif +0 -0
  286. data/vendor/assets/javascripts/tinymce/themes/advanced/img/quicktime.gif +0 -0
  287. data/vendor/assets/javascripts/tinymce/themes/advanced/img/realmedia.gif +0 -0
  288. data/vendor/assets/javascripts/tinymce/themes/advanced/img/shockwave.gif +0 -0
  289. data/vendor/assets/javascripts/tinymce/themes/advanced/img/video.gif +0 -0
  290. data/vendor/assets/javascripts/tinymce/themes/advanced/img/windowsmedia.gif +0 -0
  291. data/vendor/assets/javascripts/tinymce/themes/advanced/js/about.js +0 -73
  292. data/vendor/assets/javascripts/tinymce/themes/advanced/js/anchor.js +0 -56
  293. data/vendor/assets/javascripts/tinymce/themes/advanced/js/charmap.js +0 -363
  294. data/vendor/assets/javascripts/tinymce/themes/advanced/js/color_picker.js +0 -345
  295. data/vendor/assets/javascripts/tinymce/themes/advanced/js/image.js +0 -253
  296. data/vendor/assets/javascripts/tinymce/themes/advanced/js/link.js +0 -159
  297. data/vendor/assets/javascripts/tinymce/themes/advanced/js/source_editor.js +0 -78
  298. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/en.js +0 -1
  299. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/en_dlg.js +0 -1
  300. data/vendor/assets/javascripts/tinymce/themes/advanced/link.htm +0 -57
  301. data/vendor/assets/javascripts/tinymce/themes/advanced/shortcuts.htm +0 -47
  302. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/content.css +0 -50
  303. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/dialog.css +0 -118
  304. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/img/buttons.png +0 -0
  305. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/img/items.gif +0 -0
  306. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  307. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  308. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/img/progress.gif +0 -0
  309. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/img/tabs.gif +0 -0
  310. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/ui.css +0 -219
  311. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/highcontrast/content.css +0 -24
  312. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/highcontrast/dialog.css +0 -106
  313. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/highcontrast/ui.css +0 -106
  314. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/o2k7/content.css +0 -48
  315. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/o2k7/dialog.css +0 -118
  316. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  317. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  318. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  319. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/o2k7/ui.css +0 -222
  320. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/o2k7/ui_black.css +0 -8
  321. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/o2k7/ui_silver.css +0 -5
  322. data/vendor/assets/javascripts/tinymce/themes/advanced/source_editor.htm +0 -25
  323. data/vendor/assets/javascripts/tinymce/themes/simple/editor_template.js +0 -1
  324. data/vendor/assets/javascripts/tinymce/themes/simple/editor_template_src.js +0 -84
  325. data/vendor/assets/javascripts/tinymce/themes/simple/img/icons.gif +0 -0
  326. data/vendor/assets/javascripts/tinymce/themes/simple/langs/en.js +0 -1
  327. data/vendor/assets/javascripts/tinymce/themes/simple/skins/default/content.css +0 -25
  328. data/vendor/assets/javascripts/tinymce/themes/simple/skins/default/ui.css +0 -32
  329. data/vendor/assets/javascripts/tinymce/themes/simple/skins/o2k7/content.css +0 -17
  330. data/vendor/assets/javascripts/tinymce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
  331. data/vendor/assets/javascripts/tinymce/themes/simple/skins/o2k7/ui.css +0 -35
  332. data/vendor/assets/javascripts/tinymce/tiny_mce.js +0 -1
  333. data/vendor/assets/javascripts/tinymce/tiny_mce_jquery.js +0 -1
  334. data/vendor/assets/javascripts/tinymce/tiny_mce_jquery_src.js +0 -17942
  335. data/vendor/assets/javascripts/tinymce/tiny_mce_popup.js +0 -5
  336. data/vendor/assets/javascripts/tinymce/tiny_mce_src.js +0 -19156
@@ -1,162 +1,162 @@
1
- /**
2
- * mctabs.js
3
- *
4
- * Copyright 2009, Moxiecode Systems AB
5
- * Released under LGPL License.
6
- *
7
- * License: http://tinymce.moxiecode.com/license
8
- * Contributing: http://tinymce.moxiecode.com/contributing
9
- */
10
-
11
- function MCTabs() {
12
- this.settings = [];
13
- this.onChange = tinyMCEPopup.editor.windowManager.createInstance('tinymce.util.Dispatcher');
14
- };
15
-
16
- MCTabs.prototype.init = function(settings) {
17
- this.settings = settings;
18
- };
19
-
20
- MCTabs.prototype.getParam = function(name, default_value) {
21
- var value = null;
22
-
23
- value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
24
-
25
- // Fix bool values
26
- if (value == "true" || value == "false")
27
- return (value == "true");
28
-
29
- return value;
30
- };
31
-
32
- MCTabs.prototype.showTab =function(tab){
33
- tab.className = 'current';
34
- tab.setAttribute("aria-selected", true);
35
- tab.setAttribute("aria-expanded", true);
36
- tab.tabIndex = 0;
37
- };
38
-
39
- MCTabs.prototype.hideTab =function(tab){
40
- var t=this;
41
-
42
- tab.className = '';
43
- tab.setAttribute("aria-selected", false);
44
- tab.setAttribute("aria-expanded", false);
45
- tab.tabIndex = -1;
46
- };
47
-
48
- MCTabs.prototype.showPanel = function(panel) {
49
- panel.className = 'current';
50
- panel.setAttribute("aria-hidden", false);
51
- };
52
-
53
- MCTabs.prototype.hidePanel = function(panel) {
54
- panel.className = 'panel';
55
- panel.setAttribute("aria-hidden", true);
56
- };
57
-
58
- MCTabs.prototype.getPanelForTab = function(tabElm) {
59
- return tinyMCEPopup.dom.getAttrib(tabElm, "aria-controls");
60
- };
61
-
62
- MCTabs.prototype.displayTab = function(tab_id, panel_id, avoid_focus) {
63
- var panelElm, panelContainerElm, tabElm, tabContainerElm, selectionClass, nodes, i, t = this;
64
-
65
- tabElm = document.getElementById(tab_id);
66
-
67
- if (panel_id === undefined) {
68
- panel_id = t.getPanelForTab(tabElm);
69
- }
70
-
71
- panelElm= document.getElementById(panel_id);
72
- panelContainerElm = panelElm ? panelElm.parentNode : null;
73
- tabContainerElm = tabElm ? tabElm.parentNode : null;
74
- selectionClass = t.getParam('selection_class', 'current');
75
-
76
- if (tabElm && tabContainerElm) {
77
- nodes = tabContainerElm.childNodes;
78
-
79
- // Hide all other tabs
80
- for (i = 0; i < nodes.length; i++) {
81
- if (nodes[i].nodeName == "LI") {
82
- t.hideTab(nodes[i]);
83
- }
84
- }
85
-
86
- // Show selected tab
87
- t.showTab(tabElm);
88
- }
89
-
90
- if (panelElm && panelContainerElm) {
91
- nodes = panelContainerElm.childNodes;
92
-
93
- // Hide all other panels
94
- for (i = 0; i < nodes.length; i++) {
95
- if (nodes[i].nodeName == "DIV")
96
- t.hidePanel(nodes[i]);
97
- }
98
-
99
- if (!avoid_focus) {
100
- tabElm.focus();
101
- }
102
-
103
- // Show selected panel
104
- t.showPanel(panelElm);
105
- }
106
- };
107
-
108
- MCTabs.prototype.getAnchor = function() {
109
- var pos, url = document.location.href;
110
-
111
- if ((pos = url.lastIndexOf('#')) != -1)
112
- return url.substring(pos + 1);
113
-
114
- return "";
115
- };
116
-
117
-
118
- //Global instance
119
- var mcTabs = new MCTabs();
120
-
121
- tinyMCEPopup.onInit.add(function() {
122
- var tinymce = tinyMCEPopup.getWin().tinymce, dom = tinyMCEPopup.dom, each = tinymce.each;
123
-
124
- each(dom.select('div.tabs'), function(tabContainerElm) {
125
- var keyNav;
126
-
127
- dom.setAttrib(tabContainerElm, "role", "tablist");
128
-
129
- var items = tinyMCEPopup.dom.select('li', tabContainerElm);
130
- var action = function(id) {
131
- mcTabs.displayTab(id, mcTabs.getPanelForTab(id));
132
- mcTabs.onChange.dispatch(id);
133
- };
134
-
135
- each(items, function(item) {
136
- dom.setAttrib(item, 'role', 'tab');
137
- dom.bind(item, 'click', function(evt) {
138
- action(item.id);
139
- });
140
- });
141
-
142
- dom.bind(dom.getRoot(), 'keydown', function(evt) {
143
- if (evt.keyCode === 9 && evt.ctrlKey && !evt.altKey) { // Tab
144
- keyNav.moveFocus(evt.shiftKey ? -1 : 1);
145
- tinymce.dom.Event.cancel(evt);
146
- }
147
- });
148
-
149
- each(dom.select('a', tabContainerElm), function(a) {
150
- dom.setAttrib(a, 'tabindex', '-1');
151
- });
152
-
153
- keyNav = tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', {
154
- root: tabContainerElm,
155
- items: items,
156
- onAction: action,
157
- actOnFocus: true,
158
- enableLeftRight: true,
159
- enableUpDown: true
160
- }, tinyMCEPopup.dom);
161
- });
1
+ /**
2
+ * mctabs.js
3
+ *
4
+ * Copyright, Moxiecode Systems AB
5
+ * Released under LGPL License.
6
+ *
7
+ * License: http://www.tinymce.com/license
8
+ * Contributing: http://www.tinymce.com/contributing
9
+ */
10
+
11
+ function MCTabs() {
12
+ this.settings = [];
13
+ this.onChange = tinyMCEPopup.editor.windowManager.createInstance('tinymce.util.Dispatcher');
14
+ };
15
+
16
+ MCTabs.prototype.init = function(settings) {
17
+ this.settings = settings;
18
+ };
19
+
20
+ MCTabs.prototype.getParam = function(name, default_value) {
21
+ var value = null;
22
+
23
+ value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
24
+
25
+ // Fix bool values
26
+ if (value == "true" || value == "false")
27
+ return (value == "true");
28
+
29
+ return value;
30
+ };
31
+
32
+ MCTabs.prototype.showTab =function(tab){
33
+ tab.className = 'current';
34
+ tab.setAttribute("aria-selected", true);
35
+ tab.setAttribute("aria-expanded", true);
36
+ tab.tabIndex = 0;
37
+ };
38
+
39
+ MCTabs.prototype.hideTab =function(tab){
40
+ var t=this;
41
+
42
+ tab.className = '';
43
+ tab.setAttribute("aria-selected", false);
44
+ tab.setAttribute("aria-expanded", false);
45
+ tab.tabIndex = -1;
46
+ };
47
+
48
+ MCTabs.prototype.showPanel = function(panel) {
49
+ panel.className = 'current';
50
+ panel.setAttribute("aria-hidden", false);
51
+ };
52
+
53
+ MCTabs.prototype.hidePanel = function(panel) {
54
+ panel.className = 'panel';
55
+ panel.setAttribute("aria-hidden", true);
56
+ };
57
+
58
+ MCTabs.prototype.getPanelForTab = function(tabElm) {
59
+ return tinyMCEPopup.dom.getAttrib(tabElm, "aria-controls");
60
+ };
61
+
62
+ MCTabs.prototype.displayTab = function(tab_id, panel_id, avoid_focus) {
63
+ var panelElm, panelContainerElm, tabElm, tabContainerElm, selectionClass, nodes, i, t = this;
64
+
65
+ tabElm = document.getElementById(tab_id);
66
+
67
+ if (panel_id === undefined) {
68
+ panel_id = t.getPanelForTab(tabElm);
69
+ }
70
+
71
+ panelElm= document.getElementById(panel_id);
72
+ panelContainerElm = panelElm ? panelElm.parentNode : null;
73
+ tabContainerElm = tabElm ? tabElm.parentNode : null;
74
+ selectionClass = t.getParam('selection_class', 'current');
75
+
76
+ if (tabElm && tabContainerElm) {
77
+ nodes = tabContainerElm.childNodes;
78
+
79
+ // Hide all other tabs
80
+ for (i = 0; i < nodes.length; i++) {
81
+ if (nodes[i].nodeName == "LI") {
82
+ t.hideTab(nodes[i]);
83
+ }
84
+ }
85
+
86
+ // Show selected tab
87
+ t.showTab(tabElm);
88
+ }
89
+
90
+ if (panelElm && panelContainerElm) {
91
+ nodes = panelContainerElm.childNodes;
92
+
93
+ // Hide all other panels
94
+ for (i = 0; i < nodes.length; i++) {
95
+ if (nodes[i].nodeName == "DIV")
96
+ t.hidePanel(nodes[i]);
97
+ }
98
+
99
+ if (!avoid_focus) {
100
+ tabElm.focus();
101
+ }
102
+
103
+ // Show selected panel
104
+ t.showPanel(panelElm);
105
+ }
106
+ };
107
+
108
+ MCTabs.prototype.getAnchor = function() {
109
+ var pos, url = document.location.href;
110
+
111
+ if ((pos = url.lastIndexOf('#')) != -1)
112
+ return url.substring(pos + 1);
113
+
114
+ return "";
115
+ };
116
+
117
+
118
+ //Global instance
119
+ var mcTabs = new MCTabs();
120
+
121
+ tinyMCEPopup.onInit.add(function() {
122
+ var tinymce = tinyMCEPopup.getWin().tinymce, dom = tinyMCEPopup.dom, each = tinymce.each;
123
+
124
+ each(dom.select('div.tabs'), function(tabContainerElm) {
125
+ var keyNav;
126
+
127
+ dom.setAttrib(tabContainerElm, "role", "tablist");
128
+
129
+ var items = tinyMCEPopup.dom.select('li', tabContainerElm);
130
+ var action = function(id) {
131
+ mcTabs.displayTab(id, mcTabs.getPanelForTab(id));
132
+ mcTabs.onChange.dispatch(id);
133
+ };
134
+
135
+ each(items, function(item) {
136
+ dom.setAttrib(item, 'role', 'tab');
137
+ dom.bind(item, 'click', function(evt) {
138
+ action(item.id);
139
+ });
140
+ });
141
+
142
+ dom.bind(dom.getRoot(), 'keydown', function(evt) {
143
+ if (evt.keyCode === 9 && evt.ctrlKey && !evt.altKey) { // Tab
144
+ keyNav.moveFocus(evt.shiftKey ? -1 : 1);
145
+ tinymce.dom.Event.cancel(evt);
146
+ }
147
+ });
148
+
149
+ each(dom.select('a', tabContainerElm), function(a) {
150
+ dom.setAttrib(a, 'tabindex', '-1');
151
+ });
152
+
153
+ keyNav = tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', {
154
+ root: tabContainerElm,
155
+ items: items,
156
+ onAction: action,
157
+ actOnFocus: true,
158
+ enableLeftRight: true,
159
+ enableUpDown: true
160
+ }, tinyMCEPopup.dom);
161
+ });
162
162
  });
@@ -0,0 +1,435 @@
1
+ /**
2
+ * Popup.js
3
+ *
4
+ * Copyright, Moxiecode Systems AB
5
+ * Released under LGPL License.
6
+ *
7
+ * License: http://www.tinymce.com/license
8
+ * Contributing: http://www.tinymce.com/contributing
9
+ */
10
+
11
+ // Some global instances
12
+ var tinymce = null, tinyMCEPopup, tinyMCE;
13
+
14
+ /**
15
+ * TinyMCE popup/dialog helper class. This gives you easy access to the
16
+ * parent editor instance and a bunch of other things. It's higly recommended
17
+ * that you load this script into your dialogs.
18
+ *
19
+ * @static
20
+ * @class tinyMCEPopup
21
+ */
22
+ tinyMCEPopup = {
23
+ /**
24
+ * Initializes the popup this will be called automatically.
25
+ *
26
+ * @method init
27
+ */
28
+ init : function() {
29
+ var t = this, w, ti, settings;
30
+
31
+ // Find window & API
32
+ w = t.getWin();
33
+ tinymce = w.tinymce;
34
+ tinyMCE = w.tinyMCE;
35
+ t.editor = tinymce.EditorManager.activeEditor;
36
+ t.params = t.editor.windowManager.params;
37
+ t.features = t.editor.windowManager.features;
38
+ settings = t.editor.settings;
39
+
40
+ // Setup popup CSS path(s)
41
+ if (settings.popup_css !== false) {
42
+ if (settings.popup_css) {
43
+ settings.popup_css = t.documentBaseURI.toAbsolute(settings.popup_css);
44
+ } else {
45
+ settings.popup_css = t.baseURI.toAbsolute("themes/" + settings.theme + "/skins/" + settings.skin + "/dialog.css");
46
+ }
47
+ }
48
+
49
+ if (settings.popup_css_add) {
50
+ settings.popup_css += ',' + t.documentBaseURI.toAbsolute(settings.popup_css_add);
51
+ }
52
+
53
+ // Setup local DOM
54
+ t.dom = t.editor.windowManager.createInstance('tinymce.dom.DOMUtils', document, {ownEvents: true, proxy: tinyMCEPopup._eventProxy});
55
+ t.dom.bind(window, 'ready', t._onDOMLoaded, t);
56
+
57
+ // Enables you to skip loading the default css
58
+ if (t.features.popup_css !== false)
59
+ t.dom.loadCSS(t.features.popup_css || t.editor.settings.popup_css);
60
+
61
+ // Setup on init listeners
62
+ t.listeners = [];
63
+
64
+ /**
65
+ * Fires when the popup is initialized.
66
+ *
67
+ * @event onInit
68
+ * @param {tinymce.Editor} editor Editor instance.
69
+ * @example
70
+ * // Alerts the selected contents when the dialog is loaded
71
+ * tinyMCEPopup.onInit.add(function(ed) {
72
+ * alert(ed.selection.getContent());
73
+ * });
74
+ *
75
+ * // Executes the init method on page load in some object using the SomeObject scope
76
+ * tinyMCEPopup.onInit.add(SomeObject.init, SomeObject);
77
+ */
78
+ t.onInit = {
79
+ add : function(f, s) {
80
+ t.listeners.push({func : f, scope : s});
81
+ }
82
+ };
83
+
84
+ t.isWindow = !t.getWindowArg('mce_inline');
85
+ t.id = t.getWindowArg('mce_window_id');
86
+ },
87
+
88
+ /**
89
+ * Returns the reference to the parent window that opened the dialog.
90
+ *
91
+ * @method getWin
92
+ * @return {Window} Reference to the parent window that opened the dialog.
93
+ */
94
+ getWin : function() {
95
+ // Added frameElement check to fix bug: #2817583
96
+ return (!window.frameElement && window.dialogArguments) || opener || parent || top;
97
+ },
98
+
99
+ /**
100
+ * Returns a window argument/parameter by name.
101
+ *
102
+ * @method getWindowArg
103
+ * @param {String} n Name of the window argument to retrive.
104
+ * @param {String} dv Optional default value to return.
105
+ * @return {String} Argument value or default value if it wasn't found.
106
+ */
107
+ getWindowArg : function(n, dv) {
108
+ var v = this.params[n];
109
+
110
+ return tinymce.is(v) ? v : dv;
111
+ },
112
+
113
+ /**
114
+ * Returns a editor parameter/config option value.
115
+ *
116
+ * @method getParam
117
+ * @param {String} n Name of the editor config option to retrive.
118
+ * @param {String} dv Optional default value to return.
119
+ * @return {String} Parameter value or default value if it wasn't found.
120
+ */
121
+ getParam : function(n, dv) {
122
+ return this.editor.getParam(n, dv);
123
+ },
124
+
125
+ /**
126
+ * Returns a language item by key.
127
+ *
128
+ * @method getLang
129
+ * @param {String} n Language item like mydialog.something.
130
+ * @param {String} dv Optional default value to return.
131
+ * @return {String} Language value for the item like "my string" or the default value if it wasn't found.
132
+ */
133
+ getLang : function(n, dv) {
134
+ return this.editor.getLang(n, dv);
135
+ },
136
+
137
+ /**
138
+ * Executed a command on editor that opened the dialog/popup.
139
+ *
140
+ * @method execCommand
141
+ * @param {String} cmd Command to execute.
142
+ * @param {Boolean} ui Optional boolean value if the UI for the command should be presented or not.
143
+ * @param {Object} val Optional value to pass with the comman like an URL.
144
+ * @param {Object} a Optional arguments object.
145
+ */
146
+ execCommand : function(cmd, ui, val, a) {
147
+ a = a || {};
148
+ a.skip_focus = 1;
149
+
150
+ this.restoreSelection();
151
+ return this.editor.execCommand(cmd, ui, val, a);
152
+ },
153
+
154
+ /**
155
+ * Resizes the dialog to the inner size of the window. This is needed since various browsers
156
+ * have different border sizes on windows.
157
+ *
158
+ * @method resizeToInnerSize
159
+ */
160
+ resizeToInnerSize : function() {
161
+ var t = this;
162
+
163
+ // Detach it to workaround a Chrome specific bug
164
+ // https://sourceforge.net/tracker/?func=detail&atid=635682&aid=2926339&group_id=103281
165
+ setTimeout(function() {
166
+ var vp = t.dom.getViewPort(window);
167
+
168
+ t.editor.windowManager.resizeBy(
169
+ t.getWindowArg('mce_width') - vp.w,
170
+ t.getWindowArg('mce_height') - vp.h,
171
+ t.id || window
172
+ );
173
+ }, 10);
174
+ },
175
+
176
+ /**
177
+ * Will executed the specified string when the page has been loaded. This function
178
+ * was added for compatibility with the 2.x branch.
179
+ *
180
+ * @method executeOnLoad
181
+ * @param {String} s String to evalutate on init.
182
+ */
183
+ executeOnLoad : function(s) {
184
+ this.onInit.add(function() {
185
+ eval(s);
186
+ });
187
+ },
188
+
189
+ /**
190
+ * Stores the current editor selection for later restoration. This can be useful since some browsers
191
+ * looses it's selection if a control element is selected/focused inside the dialogs.
192
+ *
193
+ * @method storeSelection
194
+ */
195
+ storeSelection : function() {
196
+ this.editor.windowManager.bookmark = tinyMCEPopup.editor.selection.getBookmark(1);
197
+ },
198
+
199
+ /**
200
+ * Restores any stored selection. This can be useful since some browsers
201
+ * looses it's selection if a control element is selected/focused inside the dialogs.
202
+ *
203
+ * @method restoreSelection
204
+ */
205
+ restoreSelection : function() {
206
+ var t = tinyMCEPopup;
207
+
208
+ if (!t.isWindow && tinymce.isIE)
209
+ t.editor.selection.moveToBookmark(t.editor.windowManager.bookmark);
210
+ },
211
+
212
+ /**
213
+ * Loads a specific dialog language pack. If you pass in plugin_url as a arugment
214
+ * when you open the window it will load the <plugin url>/langs/<code>_dlg.js lang pack file.
215
+ *
216
+ * @method requireLangPack
217
+ */
218
+ requireLangPack : function() {
219
+ var t = this, u = t.getWindowArg('plugin_url') || t.getWindowArg('theme_url');
220
+
221
+ if (u && t.editor.settings.language && t.features.translate_i18n !== false && t.editor.settings.language_load !== false) {
222
+ u += '/langs/' + t.editor.settings.language + '_dlg.js';
223
+
224
+ if (!tinymce.ScriptLoader.isDone(u)) {
225
+ document.write('<script type="text/javascript" src="' + u + '"></script>');
226
+ tinymce.ScriptLoader.markDone(u);
227
+ }
228
+ }
229
+ },
230
+
231
+ /**
232
+ * Executes a color picker on the specified element id. When the user
233
+ * then selects a color it will be set as the value of the specified element.
234
+ *
235
+ * @method pickColor
236
+ * @param {DOMEvent} e DOM event object.
237
+ * @param {string} element_id Element id to be filled with the color value from the picker.
238
+ */
239
+ pickColor : function(e, element_id) {
240
+ this.execCommand('mceColorPicker', true, {
241
+ color : document.getElementById(element_id).value,
242
+ func : function(c) {
243
+ document.getElementById(element_id).value = c;
244
+
245
+ try {
246
+ document.getElementById(element_id).onchange();
247
+ } catch (ex) {
248
+ // Try fire event, ignore errors
249
+ }
250
+ }
251
+ });
252
+ },
253
+
254
+ /**
255
+ * Opens a filebrowser/imagebrowser this will set the output value from
256
+ * the browser as a value on the specified element.
257
+ *
258
+ * @method openBrowser
259
+ * @param {string} element_id Id of the element to set value in.
260
+ * @param {string} type Type of browser to open image/file/flash.
261
+ * @param {string} option Option name to get the file_broswer_callback function name from.
262
+ */
263
+ openBrowser : function(element_id, type, option) {
264
+ tinyMCEPopup.restoreSelection();
265
+ this.editor.execCallback('file_browser_callback', element_id, document.getElementById(element_id).value, type, window);
266
+ },
267
+
268
+ /**
269
+ * Creates a confirm dialog. Please don't use the blocking behavior of this
270
+ * native version use the callback method instead then it can be extended.
271
+ *
272
+ * @method confirm
273
+ * @param {String} t Title for the new confirm dialog.
274
+ * @param {function} cb Callback function to be executed after the user has selected ok or cancel.
275
+ * @param {Object} s Optional scope to execute the callback in.
276
+ */
277
+ confirm : function(t, cb, s) {
278
+ this.editor.windowManager.confirm(t, cb, s, window);
279
+ },
280
+
281
+ /**
282
+ * Creates a alert dialog. Please don't use the blocking behavior of this
283
+ * native version use the callback method instead then it can be extended.
284
+ *
285
+ * @method alert
286
+ * @param {String} t Title for the new alert dialog.
287
+ * @param {function} cb Callback function to be executed after the user has selected ok.
288
+ * @param {Object} s Optional scope to execute the callback in.
289
+ */
290
+ alert : function(tx, cb, s) {
291
+ this.editor.windowManager.alert(tx, cb, s, window);
292
+ },
293
+
294
+ /**
295
+ * Closes the current window.
296
+ *
297
+ * @method close
298
+ */
299
+ close : function() {
300
+ var t = this;
301
+
302
+ // To avoid domain relaxing issue in Opera
303
+ function close() {
304
+ t.editor.windowManager.close(window);
305
+ tinymce = tinyMCE = t.editor = t.params = t.dom = t.dom.doc = null; // Cleanup
306
+ };
307
+
308
+ if (tinymce.isOpera)
309
+ t.getWin().setTimeout(close, 0);
310
+ else
311
+ close();
312
+ },
313
+
314
+ // Internal functions
315
+
316
+ _restoreSelection : function() {
317
+ var e = window.event.srcElement;
318
+
319
+ if (e.nodeName == 'INPUT' && (e.type == 'submit' || e.type == 'button'))
320
+ tinyMCEPopup.restoreSelection();
321
+ },
322
+
323
+ /* _restoreSelection : function() {
324
+ var e = window.event.srcElement;
325
+
326
+ // If user focus a non text input or textarea
327
+ if ((e.nodeName != 'INPUT' && e.nodeName != 'TEXTAREA') || e.type != 'text')
328
+ tinyMCEPopup.restoreSelection();
329
+ },*/
330
+
331
+ _onDOMLoaded : function() {
332
+ var t = tinyMCEPopup, ti = document.title, bm, h, nv;
333
+
334
+ // Translate page
335
+ if (t.features.translate_i18n !== false) {
336
+ h = document.body.innerHTML;
337
+
338
+ // Replace a=x with a="x" in IE
339
+ if (tinymce.isIE)
340
+ h = h.replace(/ (value|title|alt)=([^"][^\s>]+)/gi, ' $1="$2"')
341
+
342
+ document.dir = t.editor.getParam('directionality','');
343
+
344
+ if ((nv = t.editor.translate(h)) && nv != h)
345
+ document.body.innerHTML = nv;
346
+
347
+ if ((nv = t.editor.translate(ti)) && nv != ti)
348
+ document.title = ti = nv;
349
+ }
350
+
351
+ if (!t.editor.getParam('browser_preferred_colors', false) || !t.isWindow)
352
+ t.dom.addClass(document.body, 'forceColors');
353
+
354
+ document.body.style.display = '';
355
+
356
+ // Restore selection in IE when focus is placed on a non textarea or input element of the type text
357
+ if (tinymce.isIE) {
358
+ document.attachEvent('onmouseup', tinyMCEPopup._restoreSelection);
359
+
360
+ // Add base target element for it since it would fail with modal dialogs
361
+ t.dom.add(t.dom.select('head')[0], 'base', {target : '_self'});
362
+ }
363
+
364
+ t.restoreSelection();
365
+ t.resizeToInnerSize();
366
+
367
+ // Set inline title
368
+ if (!t.isWindow)
369
+ t.editor.windowManager.setTitle(window, ti);
370
+ else
371
+ window.focus();
372
+
373
+ if (!tinymce.isIE && !t.isWindow) {
374
+ t.dom.bind(document, 'focus', function() {
375
+ t.editor.windowManager.focus(t.id);
376
+ });
377
+ }
378
+
379
+ // Patch for accessibility
380
+ tinymce.each(t.dom.select('select'), function(e) {
381
+ e.onkeydown = tinyMCEPopup._accessHandler;
382
+ });
383
+
384
+ // Call onInit
385
+ // Init must be called before focus so the selection won't get lost by the focus call
386
+ tinymce.each(t.listeners, function(o) {
387
+ o.func.call(o.scope, t.editor);
388
+ });
389
+
390
+ // Move focus to window
391
+ if (t.getWindowArg('mce_auto_focus', true)) {
392
+ window.focus();
393
+
394
+ // Focus element with mceFocus class
395
+ tinymce.each(document.forms, function(f) {
396
+ tinymce.each(f.elements, function(e) {
397
+ if (t.dom.hasClass(e, 'mceFocus') && !e.disabled) {
398
+ e.focus();
399
+ return false; // Break loop
400
+ }
401
+ });
402
+ });
403
+ }
404
+
405
+ document.onkeyup = tinyMCEPopup._closeWinKeyHandler;
406
+ },
407
+
408
+ _accessHandler : function(e) {
409
+ e = e || window.event;
410
+
411
+ if (e.keyCode == 13 || e.keyCode == 32) {
412
+ var elm = e.target || e.srcElement;
413
+
414
+ if (elm.onchange)
415
+ elm.onchange();
416
+
417
+ return tinymce.dom.Event.cancel(e);
418
+ }
419
+ },
420
+
421
+ _closeWinKeyHandler : function(e) {
422
+ e = e || window.event;
423
+
424
+ if (e.keyCode == 27)
425
+ tinyMCEPopup.close();
426
+ },
427
+
428
+ _eventProxy: function(id) {
429
+ return function(evt) {
430
+ tinyMCEPopup.dom.events.callNativeHandler(id, evt);
431
+ };
432
+ }
433
+ };
434
+
435
+ tinyMCEPopup.init();