esp-ckeditor 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +32 -0
  3. data/Rakefile +28 -0
  4. data/app/assets/javascripts/esp-ckeditor/_source/core/_bootstrap.js +87 -0
  5. data/app/assets/javascripts/esp-ckeditor/_source/core/ckeditor.js +141 -0
  6. data/app/assets/javascripts/esp-ckeditor/_source/core/ckeditor_base.js +227 -0
  7. data/app/assets/javascripts/esp-ckeditor/_source/core/ckeditor_basic.js +238 -0
  8. data/app/assets/javascripts/esp-ckeditor/_source/core/command.js +209 -0
  9. data/app/assets/javascripts/esp-ckeditor/_source/core/commanddefinition.js +129 -0
  10. data/app/assets/javascripts/esp-ckeditor/_source/core/config.js +423 -0
  11. data/app/assets/javascripts/esp-ckeditor/_source/core/dataprocessor.js +65 -0
  12. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/comment.js +32 -0
  13. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/document.js +251 -0
  14. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/documentfragment.js +49 -0
  15. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/domobject.js +258 -0
  16. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/element.js +1691 -0
  17. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/elementpath.js +119 -0
  18. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/event.js +145 -0
  19. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/node.js +696 -0
  20. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/nodelist.js +26 -0
  21. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/range.js +2054 -0
  22. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/rangelist.js +213 -0
  23. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/text.js +128 -0
  24. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/walker.js +462 -0
  25. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/window.js +96 -0
  26. data/app/assets/javascripts/esp-ckeditor/_source/core/dom.js +20 -0
  27. data/app/assets/javascripts/esp-ckeditor/_source/core/dtd.js +266 -0
  28. data/app/assets/javascripts/esp-ckeditor/_source/core/editor.js +1060 -0
  29. data/app/assets/javascripts/esp-ckeditor/_source/core/editor_basic.js +186 -0
  30. data/app/assets/javascripts/esp-ckeditor/_source/core/env.js +305 -0
  31. data/app/assets/javascripts/esp-ckeditor/_source/core/event.js +342 -0
  32. data/app/assets/javascripts/esp-ckeditor/_source/core/eventInfo.js +120 -0
  33. data/app/assets/javascripts/esp-ckeditor/_source/core/focusmanager.js +152 -0
  34. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/basicwriter.js +145 -0
  35. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/cdata.js +43 -0
  36. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/comment.js +60 -0
  37. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/element.js +308 -0
  38. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/filter.js +288 -0
  39. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/fragment.js +518 -0
  40. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/text.js +53 -0
  41. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser.js +224 -0
  42. data/app/assets/javascripts/esp-ckeditor/_source/core/lang.js +157 -0
  43. data/app/assets/javascripts/esp-ckeditor/_source/core/loader.js +240 -0
  44. data/app/assets/javascripts/esp-ckeditor/_source/core/plugindefinition.js +83 -0
  45. data/app/assets/javascripts/esp-ckeditor/_source/core/plugins.js +103 -0
  46. data/app/assets/javascripts/esp-ckeditor/_source/core/resourcemanager.js +238 -0
  47. data/app/assets/javascripts/esp-ckeditor/_source/core/scriptloader.js +180 -0
  48. data/app/assets/javascripts/esp-ckeditor/_source/core/skins.js +184 -0
  49. data/app/assets/javascripts/esp-ckeditor/_source/core/themes.js +19 -0
  50. data/app/assets/javascripts/esp-ckeditor/_source/core/tools.js +763 -0
  51. data/app/assets/javascripts/esp-ckeditor/_source/core/ui.js +128 -0
  52. data/app/assets/javascripts/esp-ckeditor/_source/lang/_languages.js +27 -0
  53. data/app/assets/javascripts/esp-ckeditor/_source/lang/en.js +815 -0
  54. data/app/assets/javascripts/esp-ckeditor/_source/lang/ru.js +815 -0
  55. data/app/assets/javascripts/esp-ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +222 -0
  56. data/app/assets/javascripts/esp-ckeditor/_source/plugins/a11yhelp/lang/en.js +108 -0
  57. data/app/assets/javascripts/esp-ckeditor/_source/plugins/a11yhelp/lang/he.js +216 -0
  58. data/app/assets/javascripts/esp-ckeditor/_source/plugins/a11yhelp/plugin.js +47 -0
  59. data/app/assets/javascripts/esp-ckeditor/_source/plugins/basicstyles/plugin.js +129 -0
  60. data/app/assets/javascripts/esp-ckeditor/_source/plugins/button/plugin.js +290 -0
  61. data/app/assets/javascripts/esp-ckeditor/_source/plugins/clipboard/dialogs/paste.js +223 -0
  62. data/app/assets/javascripts/esp-ckeditor/_source/plugins/clipboard/plugin.js +453 -0
  63. data/app/assets/javascripts/esp-ckeditor/_source/plugins/contextmenu/plugin.js +179 -0
  64. data/app/assets/javascripts/esp-ckeditor/_source/plugins/dialog/dialogDefinition.js +1166 -0
  65. data/app/assets/javascripts/esp-ckeditor/_source/plugins/dialog/plugin.js +3308 -0
  66. data/app/assets/javascripts/esp-ckeditor/_source/plugins/dialogadvtab/plugin.js +208 -0
  67. data/app/assets/javascripts/esp-ckeditor/_source/plugins/dialogui/plugin.js +1541 -0
  68. data/app/assets/javascripts/esp-ckeditor/_source/plugins/domiterator/plugin.js +361 -0
  69. data/app/assets/javascripts/esp-ckeditor/_source/plugins/editingblock/plugin.js +278 -0
  70. data/app/assets/javascripts/esp-ckeditor/_source/plugins/elementspath/plugin.js +218 -0
  71. data/app/assets/javascripts/esp-ckeditor/_source/plugins/enterkey/plugin.js +433 -0
  72. data/app/assets/javascripts/esp-ckeditor/_source/plugins/entities/plugin.js +250 -0
  73. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/dialogs/esp_attachment.js +234 -0
  74. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/images/esp_attachment.png +0 -0
  75. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/lang/en.js +22 -0
  76. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/lang/ru.js +22 -0
  77. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/lang/uk.js +22 -0
  78. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/plugin.js +23 -0
  79. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/dialogs/esp_audio.js +207 -0
  80. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/images/esp_audio.png +0 -0
  81. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/images/placeholder.png +0 -0
  82. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/lang/en.js +18 -0
  83. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/lang/ru.js +18 -0
  84. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/lang/uk.js +18 -0
  85. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/plugin.js +182 -0
  86. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_blockquote/dialogs/esp_blockquote.js +132 -0
  87. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_blockquote/plugin.js +235 -0
  88. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/dialogs/esp_image.js +1414 -0
  89. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/images/esp_image.png +0 -0
  90. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/lang/en.js +9 -0
  91. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/lang/ru.js +9 -0
  92. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/lang/uk.js +9 -0
  93. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/plugin.js +80 -0
  94. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/dialogs/esp_anchor.js +145 -0
  95. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/dialogs/esp_link.js +1396 -0
  96. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/images/anchor.png +0 -0
  97. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/images/esp_anchor.png +0 -0
  98. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/images/esp_link.png +0 -0
  99. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/images/esp_unlink.png +0 -0
  100. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/lang/en.js +8 -0
  101. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/lang/ru.js +8 -0
  102. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/lang/uk.js +8 -0
  103. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/plugin.js +379 -0
  104. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_address.png +0 -0
  105. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_blockquote.png +0 -0
  106. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_div.png +0 -0
  107. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h1.png +0 -0
  108. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h2.png +0 -0
  109. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h3.png +0 -0
  110. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h4.png +0 -0
  111. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h5.png +0 -0
  112. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h6.png +0 -0
  113. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_p.png +0 -0
  114. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_pre.png +0 -0
  115. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/esp_showblocks.png +0 -0
  116. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/plugin.js +163 -0
  117. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/dialogs/esp_video.js +277 -0
  118. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/images/esp_video.png +0 -0
  119. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/images/placeholder.png +0 -0
  120. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/lang/en.js +19 -0
  121. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/lang/ru.js +19 -0
  122. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/lang/uk.js +19 -0
  123. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/plugin.js +182 -0
  124. data/app/assets/javascripts/esp-ckeditor/_source/plugins/fakeobjects/plugin.js +175 -0
  125. data/app/assets/javascripts/esp-ckeditor/_source/plugins/filebrowser/plugin.js +534 -0
  126. data/app/assets/javascripts/esp-ckeditor/_source/plugins/find/dialogs/find.js +915 -0
  127. data/app/assets/javascripts/esp-ckeditor/_source/plugins/find/plugin.js +47 -0
  128. data/app/assets/javascripts/esp-ckeditor/_source/plugins/floatpanel/plugin.js +428 -0
  129. data/app/assets/javascripts/esp-ckeditor/_source/plugins/format/plugin.js +197 -0
  130. data/app/assets/javascripts/esp-ckeditor/_source/plugins/htmldataprocessor/plugin.js +596 -0
  131. data/app/assets/javascripts/esp-ckeditor/_source/plugins/htmlwriter/plugin.js +319 -0
  132. data/app/assets/javascripts/esp-ckeditor/_source/plugins/image/dialogs/image.js +1407 -0
  133. data/app/assets/javascripts/esp-ckeditor/_source/plugins/image/plugin.js +81 -0
  134. data/app/assets/javascripts/esp-ckeditor/_source/plugins/indent/plugin.js +461 -0
  135. data/app/assets/javascripts/esp-ckeditor/_source/plugins/justify/plugin.js +253 -0
  136. data/app/assets/javascripts/esp-ckeditor/_source/plugins/keystrokes/plugin.js +225 -0
  137. data/app/assets/javascripts/esp-ckeditor/_source/plugins/list/plugin.js +774 -0
  138. data/app/assets/javascripts/esp-ckeditor/_source/plugins/listblock/plugin.js +266 -0
  139. data/app/assets/javascripts/esp-ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +225 -0
  140. data/app/assets/javascripts/esp-ckeditor/_source/plugins/liststyle/plugin.js +66 -0
  141. data/app/assets/javascripts/esp-ckeditor/_source/plugins/maximize/plugin.js +353 -0
  142. data/app/assets/javascripts/esp-ckeditor/_source/plugins/menu/plugin.js +541 -0
  143. data/app/assets/javascripts/esp-ckeditor/_source/plugins/panel/plugin.js +400 -0
  144. data/app/assets/javascripts/esp-ckeditor/_source/plugins/pastefromword/filter/default.js +1367 -0
  145. data/app/assets/javascripts/esp-ckeditor/_source/plugins/pastefromword/plugin.js +141 -0
  146. data/app/assets/javascripts/esp-ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +67 -0
  147. data/app/assets/javascripts/esp-ckeditor/_source/plugins/pastetext/plugin.js +98 -0
  148. data/app/assets/javascripts/esp-ckeditor/_source/plugins/popup/plugin.js +64 -0
  149. data/app/assets/javascripts/esp-ckeditor/_source/plugins/removeformat/plugin.js +185 -0
  150. data/app/assets/javascripts/esp-ckeditor/_source/plugins/resize/plugin.js +168 -0
  151. data/app/assets/javascripts/esp-ckeditor/_source/plugins/richcombo/plugin.js +381 -0
  152. data/app/assets/javascripts/esp-ckeditor/_source/plugins/selection/plugin.js +1729 -0
  153. data/app/assets/javascripts/esp-ckeditor/_source/plugins/showborders/plugin.js +207 -0
  154. data/app/assets/javascripts/esp-ckeditor/_source/plugins/sourcearea/plugin.js +209 -0
  155. data/app/assets/javascripts/esp-ckeditor/_source/plugins/styles/plugin.js +1700 -0
  156. data/app/assets/javascripts/esp-ckeditor/_source/plugins/styles/styles/default.js +88 -0
  157. data/app/assets/javascripts/esp-ckeditor/_source/plugins/stylescombo/plugin.js +218 -0
  158. data/app/assets/javascripts/esp-ckeditor/_source/plugins/tab/plugin.js +367 -0
  159. data/app/assets/javascripts/esp-ckeditor/_source/plugins/table/dialogs/table.js +623 -0
  160. data/app/assets/javascripts/esp-ckeditor/_source/plugins/table/plugin.js +78 -0
  161. data/app/assets/javascripts/esp-ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +525 -0
  162. data/app/assets/javascripts/esp-ckeditor/_source/plugins/tabletools/plugin.js +1194 -0
  163. data/app/assets/javascripts/esp-ckeditor/_source/plugins/toolbar/plugin.js +545 -0
  164. data/app/assets/javascripts/esp-ckeditor/_source/plugins/undo/plugin.js +578 -0
  165. data/app/assets/javascripts/esp-ckeditor/_source/plugins/wysiwygarea/plugin.js +1347 -0
  166. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/dialog.css +988 -0
  167. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/editor.css +25 -0
  168. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/elementspath.css +73 -0
  169. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/icons.css +367 -0
  170. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/icons.png +0 -0
  171. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/icons_rtl.png +0 -0
  172. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
  173. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
  174. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
  175. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/mini.gif +0 -0
  176. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/noimage.png +0 -0
  177. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/sprites.png +0 -0
  178. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
  179. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
  180. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/mainui.css +209 -0
  181. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/menu.css +232 -0
  182. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/panel.css +227 -0
  183. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/presets.css +49 -0
  184. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/reset.css +85 -0
  185. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/richcombo.css +287 -0
  186. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/skin.js +236 -0
  187. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/templates.css +88 -0
  188. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/toolbar.css +412 -0
  189. data/app/assets/javascripts/esp-ckeditor/_source/themes/default/theme.js +407 -0
  190. data/app/assets/javascripts/esp-ckeditor/application.js +8 -0
  191. data/app/assets/javascripts/esp-ckeditor/ckeditor.js +137 -0
  192. data/app/assets/javascripts/esp-ckeditor/ckeditor.pack +194 -0
  193. data/app/assets/javascripts/esp-ckeditor/ckeditor_source.js +35 -0
  194. data/app/assets/javascripts/esp-ckeditor/ckpackager.jar +0 -0
  195. data/app/assets/javascripts/esp-ckeditor/ckpackager.txt +2 -0
  196. data/app/assets/javascripts/esp-ckeditor/config.js +147 -0
  197. data/app/assets/javascripts/esp-ckeditor/contents.css +38 -0
  198. data/app/assets/javascripts/esp-ckeditor/images/spacer.gif +0 -0
  199. data/app/assets/javascripts/esp-ckeditor/init_ckeditor.js +1 -0
  200. data/app/assets/javascripts/esp-ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +1 -0
  201. data/app/assets/javascripts/esp-ckeditor/plugins/a11yhelp/lang/en.js +1 -0
  202. data/app/assets/javascripts/esp-ckeditor/plugins/a11yhelp/lang/he.js +1 -0
  203. data/app/assets/javascripts/esp-ckeditor/plugins/a11yhelp/plugin.js +1 -0
  204. data/app/assets/javascripts/esp-ckeditor/plugins/basicstyles/plugin.js +1 -0
  205. data/app/assets/javascripts/esp-ckeditor/plugins/button/plugin.js +1 -0
  206. data/app/assets/javascripts/esp-ckeditor/plugins/clipboard/dialogs/paste.js +1 -0
  207. data/app/assets/javascripts/esp-ckeditor/plugins/clipboard/plugin.js +1 -0
  208. data/app/assets/javascripts/esp-ckeditor/plugins/contextmenu/plugin.js +1 -0
  209. data/app/assets/javascripts/esp-ckeditor/plugins/dialog/dialogDefinition.js +0 -0
  210. data/app/assets/javascripts/esp-ckeditor/plugins/dialog/plugin.js +1 -0
  211. data/app/assets/javascripts/esp-ckeditor/plugins/dialogadvtab/plugin.js +1 -0
  212. data/app/assets/javascripts/esp-ckeditor/plugins/dialogui/plugin.js +1 -0
  213. data/app/assets/javascripts/esp-ckeditor/plugins/domiterator/plugin.js +1 -0
  214. data/app/assets/javascripts/esp-ckeditor/plugins/editingblock/plugin.js +1 -0
  215. data/app/assets/javascripts/esp-ckeditor/plugins/elementspath/plugin.js +1 -0
  216. data/app/assets/javascripts/esp-ckeditor/plugins/enterkey/plugin.js +1 -0
  217. data/app/assets/javascripts/esp-ckeditor/plugins/entities/plugin.js +1 -0
  218. data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/dialogs/esp_attachment.js +1 -0
  219. data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/images/esp_attachment.png +0 -0
  220. data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/lang/en.js +1 -0
  221. data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/lang/ru.js +1 -0
  222. data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/lang/uk.js +1 -0
  223. data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/plugin.js +1 -0
  224. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/dialogs/esp_audio.js +1 -0
  225. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/images/esp_audio.png +0 -0
  226. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/images/placeholder.png +0 -0
  227. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/lang/en.js +1 -0
  228. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/lang/ru.js +1 -0
  229. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/lang/uk.js +1 -0
  230. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/plugin.js +1 -0
  231. data/app/assets/javascripts/esp-ckeditor/plugins/esp_blockquote/dialogs/esp_blockquote.js +1 -0
  232. data/app/assets/javascripts/esp-ckeditor/plugins/esp_blockquote/plugin.js +1 -0
  233. data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/dialogs/esp_image.js +1 -0
  234. data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/images/esp_image.png +0 -0
  235. data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/lang/en.js +1 -0
  236. data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/lang/ru.js +1 -0
  237. data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/lang/uk.js +1 -0
  238. data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/plugin.js +1 -0
  239. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/dialogs/esp_anchor.js +1 -0
  240. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/dialogs/esp_link.js +1 -0
  241. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/images/anchor.png +0 -0
  242. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/images/esp_anchor.png +0 -0
  243. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/images/esp_link.png +0 -0
  244. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/images/esp_unlink.png +0 -0
  245. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/lang/en.js +1 -0
  246. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/lang/ru.js +1 -0
  247. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/lang/uk.js +1 -0
  248. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/plugin.js +1 -0
  249. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_address.png +0 -0
  250. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_blockquote.png +0 -0
  251. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_div.png +0 -0
  252. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h1.png +0 -0
  253. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h2.png +0 -0
  254. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h3.png +0 -0
  255. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h4.png +0 -0
  256. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h5.png +0 -0
  257. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h6.png +0 -0
  258. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_p.png +0 -0
  259. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_pre.png +0 -0
  260. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/esp_showblocks.png +0 -0
  261. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/plugin.js +1 -0
  262. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/dialogs/esp_video.js +1 -0
  263. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/images/esp_video.png +0 -0
  264. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/images/placeholder.png +0 -0
  265. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/lang/en.js +1 -0
  266. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/lang/ru.js +1 -0
  267. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/lang/uk.js +1 -0
  268. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/plugin.js +1 -0
  269. data/app/assets/javascripts/esp-ckeditor/plugins/fakeobjects/plugin.js +1 -0
  270. data/app/assets/javascripts/esp-ckeditor/plugins/filebrowser/plugin.js +1 -0
  271. data/app/assets/javascripts/esp-ckeditor/plugins/find/dialogs/find.js +1 -0
  272. data/app/assets/javascripts/esp-ckeditor/plugins/find/plugin.js +1 -0
  273. data/app/assets/javascripts/esp-ckeditor/plugins/floatpanel/plugin.js +1 -0
  274. data/app/assets/javascripts/esp-ckeditor/plugins/format/plugin.js +1 -0
  275. data/app/assets/javascripts/esp-ckeditor/plugins/htmldataprocessor/plugin.js +1 -0
  276. data/app/assets/javascripts/esp-ckeditor/plugins/htmlwriter/plugin.js +1 -0
  277. data/app/assets/javascripts/esp-ckeditor/plugins/image/dialogs/image.js +1 -0
  278. data/app/assets/javascripts/esp-ckeditor/plugins/image/plugin.js +1 -0
  279. data/app/assets/javascripts/esp-ckeditor/plugins/indent/plugin.js +1 -0
  280. data/app/assets/javascripts/esp-ckeditor/plugins/justify/plugin.js +1 -0
  281. data/app/assets/javascripts/esp-ckeditor/plugins/keystrokes/plugin.js +1 -0
  282. data/app/assets/javascripts/esp-ckeditor/plugins/list/plugin.js +1 -0
  283. data/app/assets/javascripts/esp-ckeditor/plugins/listblock/plugin.js +1 -0
  284. data/app/assets/javascripts/esp-ckeditor/plugins/liststyle/dialogs/liststyle.js +1 -0
  285. data/app/assets/javascripts/esp-ckeditor/plugins/liststyle/plugin.js +1 -0
  286. data/app/assets/javascripts/esp-ckeditor/plugins/maximize/plugin.js +1 -0
  287. data/app/assets/javascripts/esp-ckeditor/plugins/menu/plugin.js +1 -0
  288. data/app/assets/javascripts/esp-ckeditor/plugins/panel/plugin.js +1 -0
  289. data/app/assets/javascripts/esp-ckeditor/plugins/pastefromword/filter/default.js +1 -0
  290. data/app/assets/javascripts/esp-ckeditor/plugins/pastefromword/plugin.js +1 -0
  291. data/app/assets/javascripts/esp-ckeditor/plugins/pastetext/dialogs/pastetext.js +1 -0
  292. data/app/assets/javascripts/esp-ckeditor/plugins/pastetext/plugin.js +1 -0
  293. data/app/assets/javascripts/esp-ckeditor/plugins/popup/plugin.js +1 -0
  294. data/app/assets/javascripts/esp-ckeditor/plugins/removeformat/plugin.js +1 -0
  295. data/app/assets/javascripts/esp-ckeditor/plugins/resize/plugin.js +1 -0
  296. data/app/assets/javascripts/esp-ckeditor/plugins/richcombo/plugin.js +1 -0
  297. data/app/assets/javascripts/esp-ckeditor/plugins/selection/plugin.js +1 -0
  298. data/app/assets/javascripts/esp-ckeditor/plugins/showborders/plugin.js +1 -0
  299. data/app/assets/javascripts/esp-ckeditor/plugins/sourcearea/plugin.js +1 -0
  300. data/app/assets/javascripts/esp-ckeditor/plugins/styles/plugin.js +1 -0
  301. data/app/assets/javascripts/esp-ckeditor/plugins/styles/styles/default.js +1 -0
  302. data/app/assets/javascripts/esp-ckeditor/plugins/stylescombo/plugin.js +1 -0
  303. data/app/assets/javascripts/esp-ckeditor/plugins/tab/plugin.js +1 -0
  304. data/app/assets/javascripts/esp-ckeditor/plugins/table/dialogs/table.js +1 -0
  305. data/app/assets/javascripts/esp-ckeditor/plugins/table/plugin.js +1 -0
  306. data/app/assets/javascripts/esp-ckeditor/plugins/tabletools/dialogs/tableCell.js +1 -0
  307. data/app/assets/javascripts/esp-ckeditor/plugins/tabletools/plugin.js +1 -0
  308. data/app/assets/javascripts/esp-ckeditor/plugins/toolbar/plugin.js +1 -0
  309. data/app/assets/javascripts/esp-ckeditor/plugins/undo/plugin.js +1 -0
  310. data/app/assets/javascripts/esp-ckeditor/plugins/wysiwygarea/plugin.js +1 -0
  311. data/app/assets/javascripts/esp-ckeditor/skins/kama/dialog.css +988 -0
  312. data/app/assets/javascripts/esp-ckeditor/skins/kama/editor.css +25 -0
  313. data/app/assets/javascripts/esp-ckeditor/skins/kama/elementspath.css +73 -0
  314. data/app/assets/javascripts/esp-ckeditor/skins/kama/icons.css +367 -0
  315. data/app/assets/javascripts/esp-ckeditor/skins/kama/icons.png +0 -0
  316. data/app/assets/javascripts/esp-ckeditor/skins/kama/icons_rtl.png +0 -0
  317. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  318. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/dialog_sides.png +0 -0
  319. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  320. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/mini.gif +0 -0
  321. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/noimage.png +0 -0
  322. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/sprites.png +0 -0
  323. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  324. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  325. data/app/assets/javascripts/esp-ckeditor/skins/kama/mainui.css +209 -0
  326. data/app/assets/javascripts/esp-ckeditor/skins/kama/menu.css +232 -0
  327. data/app/assets/javascripts/esp-ckeditor/skins/kama/panel.css +227 -0
  328. data/app/assets/javascripts/esp-ckeditor/skins/kama/presets.css +49 -0
  329. data/app/assets/javascripts/esp-ckeditor/skins/kama/reset.css +85 -0
  330. data/app/assets/javascripts/esp-ckeditor/skins/kama/richcombo.css +287 -0
  331. data/app/assets/javascripts/esp-ckeditor/skins/kama/skin.js +236 -0
  332. data/app/assets/javascripts/esp-ckeditor/skins/kama/templates.css +88 -0
  333. data/app/assets/javascripts/esp-ckeditor/skins/kama/toolbar.css +412 -0
  334. data/app/inputs/ckeditor_input.rb +42 -0
  335. data/config/routes.rb +2 -0
  336. data/lib/esp-ckeditor/engine.rb +9 -0
  337. data/lib/esp-ckeditor/version.rb +3 -0
  338. data/lib/esp-ckeditor.rb +17 -0
  339. data/lib/tasks/esp-ckeditor_tasks.rake +4 -0
  340. metadata +434 -0
@@ -0,0 +1,83 @@
1
+ /*
2
+ Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ /**
7
+ * @fileOverview Defines the "virtual" {@link CKEDITOR.pluginDefinition} class, which
8
+ * contains the defintion of a plugin. This file is for documentation
9
+ * purposes only.
10
+ */
11
+
12
+ /**
13
+ * (Virtual Class) Do not call this constructor. This class is not really part
14
+ * of the API. It just illustrates the features of plugin objects to be
15
+ * passed to the {@link CKEDITOR.plugins.add} function.
16
+ * @name CKEDITOR.pluginDefinition
17
+ * @constructor
18
+ * @example
19
+ */
20
+
21
+ /**
22
+ * A list of plugins that are required by this plugin. Note that this property
23
+ * doesn't guarantee the loading order of the plugins.
24
+ * @name CKEDITOR.pluginDefinition.prototype.requires
25
+ * @type Array
26
+ * @example
27
+ * CKEDITOR.plugins.add( 'sample',
28
+ * {
29
+ * requires : [ 'button', 'selection' ]
30
+ * });
31
+ */
32
+
33
+ /**
34
+ * A list of language files available for this plugin. These files are stored inside
35
+ * the "lang" directory, which is inside the plugin directory, follow the name
36
+ * pattern of "langCode.js", and contain a language definition created with {@link CKEDITOR.pluginDefinition#setLang}.
37
+ * While the plugin is being loaded, the editor checks this list to see if
38
+ * a language file of the current editor language ({@link CKEDITOR.editor#langCode})
39
+ * is available, and if so, loads it. Otherwise, the file represented by the first list item
40
+ * in the list is loaded.
41
+ * @name CKEDITOR.pluginDefinition.prototype.lang
42
+ * @type Array
43
+ * @example
44
+ * CKEDITOR.plugins.add( 'sample',
45
+ * {
46
+ * lang : [ 'en', 'fr' ]
47
+ * });
48
+ */
49
+
50
+ /**
51
+ * Function called on initialization of every editor instance created in the
52
+ * page before the init() call task. The beforeInit function will be called for
53
+ * all plugins, after that the init function is called for all of them. This
54
+ * feature makes it possible to initialize things that could be used in the
55
+ * init function of other plugins.
56
+ * @name CKEDITOR.pluginDefinition.prototype.beforeInit
57
+ * @function
58
+ * @param {CKEDITOR.editor} editor The editor instance being initialized.
59
+ * @example
60
+ * CKEDITOR.plugins.add( 'sample',
61
+ * {
62
+ * beforeInit : function( editor )
63
+ * {
64
+ * alert( 'Editor "' + editor.name + '" is to be initialized!' );
65
+ * }
66
+ * });
67
+ */
68
+
69
+ /**
70
+ * Function called on initialization of every editor instance created in the
71
+ * page.
72
+ * @name CKEDITOR.pluginDefinition.prototype.init
73
+ * @function
74
+ * @param {CKEDITOR.editor} editor The editor instance being initialized.
75
+ * @example
76
+ * CKEDITOR.plugins.add( 'sample',
77
+ * {
78
+ * init : function( editor )
79
+ * {
80
+ * alert( 'Editor "' + editor.name + '" is being initialized!' );
81
+ * }
82
+ * });
83
+ */
@@ -0,0 +1,103 @@
1
+ /*
2
+ Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ /**
7
+ * @fileOverview Defines the {@link CKEDITOR.plugins} object, which is used to
8
+ * manage plugins registration and loading.
9
+ */
10
+
11
+ /**
12
+ * Manages plugins registration and loading.
13
+ * @namespace
14
+ * @augments CKEDITOR.resourceManager
15
+ * @example
16
+ */
17
+ CKEDITOR.plugins = new CKEDITOR.resourceManager(
18
+ '_source/' + // @Packager.RemoveLine
19
+ 'plugins/', 'plugin' );
20
+
21
+ // PACKAGER_RENAME( CKEDITOR.plugins )
22
+
23
+ CKEDITOR.plugins.load = CKEDITOR.tools.override( CKEDITOR.plugins.load, function( originalLoad )
24
+ {
25
+ return function( name, callback, scope )
26
+ {
27
+ var allPlugins = {};
28
+
29
+ var loadPlugins = function( names )
30
+ {
31
+ originalLoad.call( this, names, function( plugins )
32
+ {
33
+ CKEDITOR.tools.extend( allPlugins, plugins );
34
+
35
+ var requiredPlugins = [];
36
+ for ( var pluginName in plugins )
37
+ {
38
+ var plugin = plugins[ pluginName ],
39
+ requires = plugin && plugin.requires;
40
+
41
+ if ( requires )
42
+ {
43
+ for ( var i = 0 ; i < requires.length ; i++ )
44
+ {
45
+ if ( !allPlugins[ requires[ i ] ] )
46
+ requiredPlugins.push( requires[ i ] );
47
+ }
48
+ }
49
+ }
50
+
51
+ if ( requiredPlugins.length )
52
+ loadPlugins.call( this, requiredPlugins );
53
+ else
54
+ {
55
+ // Call the "onLoad" function for all plugins.
56
+ for ( pluginName in allPlugins )
57
+ {
58
+ plugin = allPlugins[ pluginName ];
59
+ if ( plugin.onLoad && !plugin.onLoad._called )
60
+ {
61
+ plugin.onLoad();
62
+ plugin.onLoad._called = 1;
63
+ }
64
+ }
65
+
66
+ // Call the callback.
67
+ if ( callback )
68
+ callback.call( scope || window, allPlugins );
69
+ }
70
+ }
71
+ , this);
72
+
73
+ };
74
+
75
+ loadPlugins.call( this, name );
76
+ };
77
+ });
78
+
79
+ /**
80
+ * Loads a specific language file, or auto detect it. A callback is
81
+ * then called when the file gets loaded.
82
+ * @param {String} pluginName The name of the plugin to which the provided translation
83
+ * should be attached.
84
+ * @param {String} languageCode The code of the language translation provided.
85
+ * @param {Object} languageEntries An object that contains pairs of label and
86
+ * the respective translation.
87
+ * @example
88
+ * CKEDITOR.plugins.setLang( 'myPlugin', 'en', {
89
+ * title : 'My plugin',
90
+ * selectOption : 'Please select an option'
91
+ * } );
92
+ */
93
+ CKEDITOR.plugins.setLang = function( pluginName, languageCode, languageEntries )
94
+ {
95
+ var plugin = this.get( pluginName ),
96
+ pluginLangEntries = plugin.langEntries || ( plugin.langEntries = {} ),
97
+ pluginLang = plugin.lang || ( plugin.lang = [] );
98
+
99
+ if ( CKEDITOR.tools.indexOf( pluginLang, languageCode ) == -1 )
100
+ pluginLang.push( languageCode );
101
+
102
+ pluginLangEntries[ languageCode ] = languageEntries;
103
+ };
@@ -0,0 +1,238 @@
1
+ /*
2
+ Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ /**
7
+ * @fileOverview Defines the {@link CKEDITOR.resourceManager} class, which is
8
+ * the base for resource managers, like plugins and themes.
9
+ */
10
+
11
+ /**
12
+ * Base class for resource managers, like plugins and themes. This class is not
13
+ * intended to be used out of the CKEditor core code.
14
+ * @param {String} basePath The path for the resources folder.
15
+ * @param {String} fileName The name used for resource files.
16
+ * @namespace
17
+ * @example
18
+ */
19
+ CKEDITOR.resourceManager = function( basePath, fileName )
20
+ {
21
+ /**
22
+ * The base directory containing all resources.
23
+ * @name CKEDITOR.resourceManager.prototype.basePath
24
+ * @type String
25
+ * @example
26
+ */
27
+ this.basePath = basePath;
28
+
29
+ /**
30
+ * The name used for resource files.
31
+ * @name CKEDITOR.resourceManager.prototype.fileName
32
+ * @type String
33
+ * @example
34
+ */
35
+ this.fileName = fileName;
36
+
37
+ /**
38
+ * Contains references to all resources that have already been registered
39
+ * with {@link #add}.
40
+ * @name CKEDITOR.resourceManager.prototype.registered
41
+ * @type Object
42
+ * @example
43
+ */
44
+ this.registered = {};
45
+
46
+ /**
47
+ * Contains references to all resources that have already been loaded
48
+ * with {@link #load}.
49
+ * @name CKEDITOR.resourceManager.prototype.loaded
50
+ * @type Object
51
+ * @example
52
+ */
53
+ this.loaded = {};
54
+
55
+ /**
56
+ * Contains references to all resources that have already been registered
57
+ * with {@link #addExternal}.
58
+ * @name CKEDITOR.resourceManager.prototype.externals
59
+ * @type Object
60
+ * @example
61
+ */
62
+ this.externals = {};
63
+
64
+ /**
65
+ * @private
66
+ */
67
+ this._ =
68
+ {
69
+ // List of callbacks waiting for plugins to be loaded.
70
+ waitingList : {}
71
+ };
72
+ };
73
+
74
+ CKEDITOR.resourceManager.prototype =
75
+ {
76
+ /**
77
+ * Registers a resource.
78
+ * @param {String} name The resource name.
79
+ * @param {Object} [definition] The resource definition.
80
+ * @example
81
+ * CKEDITOR.plugins.add( 'sample', { ... plugin definition ... } );
82
+ * @see CKEDITOR.pluginDefinition
83
+ */
84
+ add : function( name, definition )
85
+ {
86
+ if ( this.registered[ name ] )
87
+ throw '[CKEDITOR.resourceManager.add] The resource name "' + name + '" is already registered.';
88
+
89
+ CKEDITOR.fire( name + CKEDITOR.tools.capitalize( this.fileName ) + 'Ready',
90
+ this.registered[ name ] = definition || {} );
91
+ },
92
+
93
+ /**
94
+ * Gets the definition of a specific resource.
95
+ * @param {String} name The resource name.
96
+ * @type Object
97
+ * @example
98
+ * var definition = <b>CKEDITOR.plugins.get( 'sample' )</b>;
99
+ */
100
+ get : function( name )
101
+ {
102
+ return this.registered[ name ] || null;
103
+ },
104
+
105
+ /**
106
+ * Get the folder path for a specific loaded resource.
107
+ * @param {String} name The resource name.
108
+ * @type String
109
+ * @example
110
+ * alert( <b>CKEDITOR.plugins.getPath( 'sample' )</b> ); // "&lt;editor path&gt;/plugins/sample/"
111
+ */
112
+ getPath : function( name )
113
+ {
114
+ var external = this.externals[ name ];
115
+ return CKEDITOR.getUrl( ( external && external.dir ) || this.basePath + name + '/' );
116
+ },
117
+
118
+ /**
119
+ * Get the file path for a specific loaded resource.
120
+ * @param {String} name The resource name.
121
+ * @type String
122
+ * @example
123
+ * alert( <b>CKEDITOR.plugins.getFilePath( 'sample' )</b> ); // "&lt;editor path&gt;/plugins/sample/plugin.js"
124
+ */
125
+ getFilePath : function( name )
126
+ {
127
+ var external = this.externals[ name ];
128
+ return CKEDITOR.getUrl(
129
+ this.getPath( name ) +
130
+ ( ( external && ( typeof external.file == 'string' ) ) ? external.file : this.fileName + '.js' ) );
131
+ },
132
+
133
+ /**
134
+ * Registers one or more resources to be loaded from an external path
135
+ * instead of the core base path.
136
+ * @param {String} names The resource names, separated by commas.
137
+ * @param {String} path The path of the folder containing the resource.
138
+ * @param {String} [fileName] The resource file name. If not provided, the
139
+ * default name is used; If provided with a empty string, will implicitly indicates that {@param path}
140
+ * is already the full path.
141
+ * @example
142
+ * // Loads a plugin from '/myplugin/samples/plugin.js'.
143
+ * CKEDITOR.plugins.addExternal( 'sample', '/myplugins/sample/' );
144
+ * @example
145
+ * // Loads a plugin from '/myplugin/samples/my_plugin.js'.
146
+ * CKEDITOR.plugins.addExternal( 'sample', '/myplugins/sample/', 'my_plugin.js' );
147
+ * @example
148
+ * // Loads a plugin from '/myplugin/samples/my_plugin.js'.
149
+ * CKEDITOR.plugins.addExternal( 'sample', '/myplugins/sample/my_plugin.js', '' );
150
+ */
151
+ addExternal : function( names, path, fileName )
152
+ {
153
+ names = names.split( ',' );
154
+ for ( var i = 0 ; i < names.length ; i++ )
155
+ {
156
+ var name = names[ i ];
157
+
158
+ this.externals[ name ] =
159
+ {
160
+ dir : path,
161
+ file : fileName
162
+ };
163
+ }
164
+ },
165
+
166
+ /**
167
+ * Loads one or more resources.
168
+ * @param {String|Array} name The name of the resource to load. It may be a
169
+ * string with a single resource name, or an array with several names.
170
+ * @param {Function} callback A function to be called when all resources
171
+ * are loaded. The callback will receive an array containing all
172
+ * loaded names.
173
+ * @param {Object} [scope] The scope object to be used for the callback
174
+ * call.
175
+ * @example
176
+ * <b>CKEDITOR.plugins.load</b>( 'myplugin', function( plugins )
177
+ * {
178
+ * alert( plugins['myplugin'] ); // "object"
179
+ * });
180
+ */
181
+ load : function( names, callback, scope )
182
+ {
183
+ // Ensure that we have an array of names.
184
+ if ( !CKEDITOR.tools.isArray( names ) )
185
+ names = names ? [ names ] : [];
186
+
187
+ var loaded = this.loaded,
188
+ registered = this.registered,
189
+ urls = [],
190
+ urlsNames = {},
191
+ resources = {};
192
+
193
+ // Loop through all names.
194
+ for ( var i = 0 ; i < names.length ; i++ )
195
+ {
196
+ var name = names[ i ];
197
+
198
+ if ( !name )
199
+ continue;
200
+
201
+ // If not available yet.
202
+ if ( !loaded[ name ] && !registered[ name ] )
203
+ {
204
+ var url = this.getFilePath( name );
205
+ urls.push( url );
206
+ if ( !( url in urlsNames ) )
207
+ urlsNames[ url ] = [];
208
+ urlsNames[ url ].push( name );
209
+ }
210
+ else
211
+ resources[ name ] = this.get( name );
212
+ }
213
+
214
+ CKEDITOR.scriptLoader.load( urls, function( completed, failed )
215
+ {
216
+ if ( failed.length )
217
+ {
218
+ throw '[CKEDITOR.resourceManager.load] Resource name "' + urlsNames[ failed[ 0 ] ].join( ',' )
219
+ + '" was not found at "' + failed[ 0 ] + '".';
220
+ }
221
+
222
+ for ( var i = 0 ; i < completed.length ; i++ )
223
+ {
224
+ var nameList = urlsNames[ completed[ i ] ];
225
+ for ( var j = 0 ; j < nameList.length ; j++ )
226
+ {
227
+ var name = nameList[ j ];
228
+ resources[ name ] = this.get( name );
229
+
230
+ loaded[ name ] = 1;
231
+ }
232
+ }
233
+
234
+ callback.call( scope, resources );
235
+ }
236
+ , this);
237
+ }
238
+ };
@@ -0,0 +1,180 @@
1
+ /*
2
+ Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ /**
7
+ * @fileOverview Defines the {@link CKEDITOR.scriptLoader} object, used to load scripts
8
+ * asynchronously.
9
+ */
10
+
11
+ /**
12
+ * Load scripts asynchronously.
13
+ * @namespace
14
+ * @example
15
+ */
16
+ CKEDITOR.scriptLoader = (function()
17
+ {
18
+ var uniqueScripts = {},
19
+ waitingList = {};
20
+
21
+ return /** @lends CKEDITOR.scriptLoader */ {
22
+ /**
23
+ * Loads one or more external script checking if not already loaded
24
+ * previously by this function.
25
+ * @param {String|Array} scriptUrl One or more URLs pointing to the
26
+ * scripts to be loaded.
27
+ * @param {Function} [callback] A function to be called when the script
28
+ * is loaded and executed. If a string is passed to "scriptUrl", a
29
+ * boolean parameter is passed to the callback, indicating the
30
+ * success of the load. If an array is passed instead, two array
31
+ * parameters are passed to the callback; the first contains the
32
+ * URLs that have been properly loaded, and the second the failed
33
+ * ones.
34
+ * @param {Object} [scope] The scope ("this" reference) to be used for
35
+ * the callback call. Default to {@link CKEDITOR}.
36
+ * @param {Boolean} [showBusy] Changes the cursor of the document while
37
+ + * the script is loaded.
38
+ * @example
39
+ * CKEDITOR.scriptLoader.load( '/myscript.js' );
40
+ * @example
41
+ * CKEDITOR.scriptLoader.load( '/myscript.js', function( success )
42
+ * {
43
+ * // Alerts "true" if the script has been properly loaded.
44
+ * // HTTP error 404 should return "false".
45
+ * alert( success );
46
+ * });
47
+ * @example
48
+ * CKEDITOR.scriptLoader.load( [ '/myscript1.js', '/myscript2.js' ], function( completed, failed )
49
+ * {
50
+ * alert( 'Number of scripts loaded: ' + completed.length );
51
+ * alert( 'Number of failures: ' + failed.length );
52
+ * });
53
+ */
54
+ load : function( scriptUrl, callback, scope, showBusy )
55
+ {
56
+ var isString = ( typeof scriptUrl == 'string' );
57
+
58
+ if ( isString )
59
+ scriptUrl = [ scriptUrl ];
60
+
61
+ if ( !scope )
62
+ scope = CKEDITOR;
63
+
64
+ var scriptCount = scriptUrl.length,
65
+ completed = [],
66
+ failed = [];
67
+
68
+ var doCallback = function( success )
69
+ {
70
+ if ( callback )
71
+ {
72
+ if ( isString )
73
+ callback.call( scope, success );
74
+ else
75
+ callback.call( scope, completed, failed );
76
+ }
77
+ };
78
+
79
+ if ( scriptCount === 0 )
80
+ {
81
+ doCallback( true );
82
+ return;
83
+ }
84
+
85
+ var checkLoaded = function( url, success )
86
+ {
87
+ ( success ? completed : failed ).push( url );
88
+
89
+ if ( --scriptCount <= 0 )
90
+ {
91
+ showBusy && CKEDITOR.document.getDocumentElement().removeStyle( 'cursor' );
92
+ doCallback( success );
93
+ }
94
+ };
95
+
96
+ var onLoad = function( url, success )
97
+ {
98
+ // Mark this script as loaded.
99
+ uniqueScripts[ url ] = 1;
100
+
101
+ // Get the list of callback checks waiting for this file.
102
+ var waitingInfo = waitingList[ url ];
103
+ delete waitingList[ url ];
104
+
105
+ // Check all callbacks waiting for this file.
106
+ for ( var i = 0 ; i < waitingInfo.length ; i++ )
107
+ waitingInfo[ i ]( url, success );
108
+ };
109
+
110
+ var loadScript = function( url )
111
+ {
112
+ if ( uniqueScripts[ url ] )
113
+ {
114
+ checkLoaded( url, true );
115
+ return;
116
+ }
117
+
118
+ var waitingInfo = waitingList[ url ] || ( waitingList[ url ] = [] );
119
+ waitingInfo.push( checkLoaded );
120
+
121
+ // Load it only for the first request.
122
+ if ( waitingInfo.length > 1 )
123
+ return;
124
+
125
+ // Create the <script> element.
126
+ var script = new CKEDITOR.dom.element( 'script' );
127
+ script.setAttributes( {
128
+ type : 'text/javascript',
129
+ src : url } );
130
+
131
+ if ( callback )
132
+ {
133
+ if ( CKEDITOR.env.ie )
134
+ {
135
+ // FIXME: For IE, we are not able to return false on error (like 404).
136
+
137
+ /** @ignore */
138
+ script.$.onreadystatechange = function ()
139
+ {
140
+ if ( script.$.readyState == 'loaded' || script.$.readyState == 'complete' )
141
+ {
142
+ script.$.onreadystatechange = null;
143
+ onLoad( url, true );
144
+ }
145
+ };
146
+ }
147
+ else
148
+ {
149
+ /** @ignore */
150
+ script.$.onload = function()
151
+ {
152
+ // Some browsers, such as Safari, may call the onLoad function
153
+ // immediately. Which will break the loading sequence. (#3661)
154
+ setTimeout( function() { onLoad( url, true ); }, 0 );
155
+ };
156
+
157
+ // FIXME: Opera and Safari will not fire onerror.
158
+
159
+ /** @ignore */
160
+ script.$.onerror = function()
161
+ {
162
+ onLoad( url, false );
163
+ };
164
+ }
165
+ }
166
+
167
+ // Append it to <head>.
168
+ script.appendTo( CKEDITOR.document.getHead() );
169
+
170
+ CKEDITOR.fire( 'download', url ); // @Packager.RemoveLine
171
+ };
172
+
173
+ showBusy && CKEDITOR.document.getDocumentElement().setStyle( 'cursor', 'wait' );
174
+ for ( var i = 0 ; i < scriptCount ; i++ )
175
+ {
176
+ loadScript( scriptUrl[ i ] );
177
+ }
178
+ }
179
+ };
180
+ })();